DHEIVER commited on
Commit
e6a5fa4
·
verified ·
1 Parent(s): ef7a048

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -10
app.py CHANGED
@@ -1,23 +1,23 @@
1
  import gradio as gr
2
- from transformers import BlipProcessor, BlipForConditionalGeneration, pipeline
3
  from PIL import Image
4
  import requests
5
 
6
- # Carregar o modelo BLIP para geração de descrições de imagens
7
- processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
8
- model_blip = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")
9
 
10
- # Carregar um modelo de linguagem para análise nutricional (exemplo: GPT-Neo)
11
- nutrition_model = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")
12
 
13
  def interpret_image(image):
14
  # Converter a imagem para o formato PIL se necessário
15
  if isinstance(image, str):
16
  image = Image.open(requests.get(image, stream=True).raw)
17
 
18
- # Processar a imagem e gerar a descrição
19
  inputs = processor(image, return_tensors="pt")
20
- out = model_blip.generate(**inputs)
21
 
22
  # Decodificar a saída para texto
23
  description = processor.decode(out[0], skip_special_tokens=True)
@@ -25,7 +25,7 @@ def interpret_image(image):
25
  return description
26
 
27
  def nutritional_analysis(image):
28
- # Passo 1: Gerar descrição da imagem usando BLIP
29
  description = interpret_image(image)
30
 
31
  # Passo 2: Criar um prompt para análise nutricional
@@ -38,7 +38,7 @@ def nutritional_analysis(image):
38
  )
39
 
40
  # Passo 3: Usar o modelo de linguagem para gerar a análise nutricional
41
- analysis = nutrition_model(prompt, max_length=300, num_return_sequences=1)[0]['generated_text']
42
 
43
  # Retornar a descrição e a análise nutricional
44
  return description, analysis
 
1
  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
15
  if isinstance(image, str):
16
  image = Image.open(requests.get(image, stream=True).raw)
17
 
18
+ # Processar a imagem e gerar a descrição usando BLIP-2
19
  inputs = processor(image, return_tensors="pt")
20
+ out = model_blip2.generate(**inputs)
21
 
22
  # Decodificar a saída para texto
23
  description = processor.decode(out[0], skip_special_tokens=True)
 
25
  return description
26
 
27
  def nutritional_analysis(image):
28
+ # Passo 1: Gerar descrição da imagem usando BLIP-2
29
  description = interpret_image(image)
30
 
31
  # Passo 2: Criar um prompt para análise nutricional
 
38
  )
39
 
40
  # Passo 3: Usar o modelo de linguagem para gerar a análise nutricional
41
+ analysis = nutrition_model(prompt, max_length=300)[0]['generated_text']
42
 
43
  # Retornar a descrição e a análise nutricional
44
  return description, analysis