DHEIVER commited on
Commit
123d916
·
verified ·
1 Parent(s): ae8e572

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -3
app.py CHANGED
@@ -2,13 +2,33 @@ import gradio as gr
2
  from transformers import Blip2Processor, Blip2ForConditionalGeneration, pipeline
3
  from PIL import Image
4
  import requests
 
 
 
 
 
 
 
5
 
6
  # Carregar o modelo BLIP-2 para geração de descrições de imagens
7
- processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b")
8
- model_blip2 = Blip2ForConditionalGeneration.from_pretrained("Salesforce/blip2-opt-2.7b")
 
 
 
 
 
 
 
9
 
10
  # Carregar um modelo de linguagem para análise nutricional (exemplo: Flan-T5)
11
- nutrition_model = pipeline("text2text-generation", model="google/flan-t5-large")
 
 
 
 
 
 
12
 
13
  def interpret_image(image):
14
  # Converter a imagem para o formato PIL se necessário
 
2
  from transformers import Blip2Processor, Blip2ForConditionalGeneration, pipeline
3
  from PIL import Image
4
  import requests
5
+ import os
6
+
7
+ # Função para verificar se o modelo existe localmente
8
+ def check_model_locally(model_name):
9
+ cache_dir = os.path.expanduser("~/.cache/huggingface/transformers")
10
+ model_path = os.path.join(cache_dir, model_name.replace("/", "--"))
11
+ return os.path.exists(model_path)
12
 
13
  # Carregar o modelo BLIP-2 para geração de descrições de imagens
14
+ model_blip2_name = "Salesforce/blip2-opt-2.7b"
15
+ if check_model_locally(model_blip2_name):
16
+ print(f"Modelo {model_blip2_name} encontrado localmente.")
17
+ processor = Blip2Processor.from_pretrained(model_blip2_name, local_files_only=True)
18
+ model_blip2 = Blip2ForConditionalGeneration.from_pretrained(model_blip2_name, local_files_only=True)
19
+ else:
20
+ print(f"Modelo {model_blip2_name} não encontrado localmente. Baixando...")
21
+ processor = Blip2Processor.from_pretrained(model_blip2_name)
22
+ model_blip2 = Blip2ForConditionalGeneration.from_pretrained(model_blip2_name)
23
 
24
  # Carregar um modelo de linguagem para análise nutricional (exemplo: Flan-T5)
25
+ nutrition_model_name = "google/flan-t5-large"
26
+ if check_model_locally(nutrition_model_name):
27
+ print(f"Modelo {nutrition_model_name} encontrado localmente.")
28
+ nutrition_model = pipeline("text2text-generation", model=nutrition_model_name, local_files_only=True)
29
+ else:
30
+ print(f"Modelo {nutrition_model_name} não encontrado localmente. Baixando...")
31
+ nutrition_model = pipeline("text2text-generation", model=nutrition_model_name)
32
 
33
  def interpret_image(image):
34
  # Converter a imagem para o formato PIL se necessário