histlearn commited on
Commit
be487ea
·
verified ·
1 Parent(s): 164bfe0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -17
app.py CHANGED
@@ -1,4 +1,3 @@
1
- import os
2
  import gradio as gr
3
  from transformers import AutoProcessor, AutoModelForCausalLM
4
  from PIL import Image
@@ -8,9 +7,7 @@ import spacy
8
  import requests
9
  import nltk.tree
10
  import re
11
-
12
- # Baixar o modelo de português do spaCy
13
- os.system("python -m spacy download pt_core_news_sm")
14
 
15
  # Carregar o modelo de português do spaCy
16
  nlp = spacy.load("pt_core_news_sm")
@@ -193,15 +190,6 @@ def reordenar_sentenca(sentenca):
193
  sentenca_normalizada += frase[i] + " "
194
  return sentenca_normalizada.strip()
195
 
196
- # Carregar os modelos
197
- processor = AutoProcessor.from_pretrained("histlearn/microsoft-git-portuguese-neuro-simbolic")
198
- model = AutoModelForCausalLM.from_pretrained("histlearn/microsoft-git-portuguese-neuro-simbolic")
199
-
200
- # Configurar o dispositivo (GPU ou CPU)
201
- device = "cuda" if torch.cuda.is_available() else "cpu"
202
- model.to(device)
203
-
204
- # Funções auxiliares
205
  def prepare_image(image_path):
206
  image = Image.open(image_path).convert("RGB")
207
  inputs = processor(images=image, return_tensors="pt").to(device)
@@ -224,13 +212,22 @@ def text_to_speech_gtts(text, lang='pt'):
224
  tts.save("output.mp3")
225
  return "output.mp3"
226
 
 
 
 
 
 
 
 
 
227
  # Função principal para processar a imagem e gerar a voz
228
  def process_image(image):
229
  _, pixel_values = prepare_image(image)
230
  caption_pt = generate_caption(pixel_values)
231
- caption_pt = reordenar_sentenca(caption_pt)
232
- audio_file = text_to_speech_gtts(caption_pt)
233
- return caption_pt, audio_file
 
234
 
235
  # Caminhos para as imagens de exemplo
236
  example_image_paths = [
@@ -243,7 +240,7 @@ example_image_paths = [
243
  iface = gr.Interface(
244
  fn=process_image,
245
  inputs=gr.Image(type="filepath"),
246
- outputs=[gr.Textbox(), gr.Audio(type="filepath")],
247
  examples=example_image_paths,
248
  title="Image to Voice",
249
  description="Gera uma descrição em português e a converte em voz a partir de uma imagem."
 
 
1
  import gradio as gr
2
  from transformers import AutoProcessor, AutoModelForCausalLM
3
  from PIL import Image
 
7
  import requests
8
  import nltk.tree
9
  import re
10
+ import os
 
 
11
 
12
  # Carregar o modelo de português do spaCy
13
  nlp = spacy.load("pt_core_news_sm")
 
190
  sentenca_normalizada += frase[i] + " "
191
  return sentenca_normalizada.strip()
192
 
 
 
 
 
 
 
 
 
 
193
  def prepare_image(image_path):
194
  image = Image.open(image_path).convert("RGB")
195
  inputs = processor(images=image, return_tensors="pt").to(device)
 
212
  tts.save("output.mp3")
213
  return "output.mp3"
214
 
215
+ # Carregar os modelos
216
+ processor = AutoProcessor.from_pretrained("histlearn/microsoft-git-portuguese-neuro-simbolic")
217
+ model = AutoModelForCausalLM.from_pretrained("histlearn/microsoft-git-portuguese-neuro-simbolic")
218
+
219
+ # Configurar o dispositivo (GPU ou CPU)
220
+ device = "cuda" if torch.cuda.is_available() else "cpu"
221
+ model.to(device)
222
+
223
  # Função principal para processar a imagem e gerar a voz
224
  def process_image(image):
225
  _, pixel_values = prepare_image(image)
226
  caption_pt = generate_caption(pixel_values)
227
+ sentenca_normalizada = reordenar_sentenca(caption_pt)
228
+ audio_file = text_to_speech_gtts(sentenca_normalizada)
229
+ productions = get_productions(sentenca_normalizada)
230
+ return sentenca_normalizada, productions, audio_file
231
 
232
  # Caminhos para as imagens de exemplo
233
  example_image_paths = [
 
240
  iface = gr.Interface(
241
  fn=process_image,
242
  inputs=gr.Image(type="filepath"),
243
+ outputs=[gr.Textbox(label="Sentença Normalizada"), gr.Textbox(label="Classes Gramaticais"), gr.Audio(type="filepath", label="Áudio")],
244
  examples=example_image_paths,
245
  title="Image to Voice",
246
  description="Gera uma descrição em português e a converte em voz a partir de uma imagem."