SandraCLV's picture
Update app.py
d6da658
raw
history blame
1.29 kB
import gradio as gr
from transformers import pipeline
import torch
#Definir 2 modelos uno de imagen a texto y otro de texto a audio que inyecta
# el resultado del primero modelo(texto generado) en la entrada del 2º modelo
# texto to audio
def transform(example_batch):
# Take a list of PIL images and turn them to pixel values
inputs = feature_extractor([x.convert("RGB") for x in example_batch['image']], return_tensors='pt')
# Don't forget to include the labels!
inputs['labels'] = example_batch['labels']
return inputs
# Cargar el modelo que convierte imagen a texto
image_to_text_model = pipeline("image-classification")
# Cargar el modelo que genera audio a partir de texto
text_to_audio_model = pipeline("text-to-speech")
# Función para la interfaz de Gradio
def image_to_audio(input_image):
# Convertir la imagen a texto
text_output = transform(image_to_text_model(input_image)[0]['label'])
# Generar audio a partir del texto
audio_output = text_to_audio_model(text_output)[0]['audio']
return audio_output
# Interfaz Gradio
iface = gr.Interface(
fn=image_to_audio,
inputs=gr.Image(),
outputs="audio",
live=True,
interpretation="default",
capture_session=True
)
# Ejecutar la interfaz
iface.launch()