Spaces:
Runtime error
Runtime error
import gradio as gr | |
import tensorflow as tf | |
from transformers import pipeline | |
import os | |
''' | |
try: | |
model_transformer_encoder = tf.keras.models.load_model('stacked_transformer_encoder.keras') | |
model_transformer_positional_encoding = tf.keras.models.load_model('transformer_encoder_pos.keras') | |
model_simple_rnn = tf.keras.models.load_model('model_simple_rnn.keras') | |
model_lstm = tf.keras.models.load_model('model_lstm.keras') | |
print("Modelos de clasificaci贸n cargados correctamente.") | |
except Exception as e: | |
print(f"Error al cargar los modelos de clasificaci贸n: {e}") | |
model_transformer_encoder = None | |
model_transformer_positional_encoding = None | |
model_simple_rnn = None | |
model_lstm = None | |
# Cargar el pipeline de traducci贸n de Hugging Face | |
try: | |
translator_en_es = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es") | |
except Exception as e: | |
print(f"Error al cargar el modelo de traducci贸n (ingl茅s a espa帽ol): {e}") | |
translator_en_es = None | |
def clasificar_noticia(texto, modelo_seleccionado): | |
"""Funci贸n para clasificar el texto usando el modelo seleccionado.""" | |
modelo_a_usar = None | |
if modelo_seleccionado == "Transformer Encoder Apilado" and model_transformer_encoder is not None: | |
modelo_a_usar = model_transformer_encoder | |
elif modelo_seleccionado == "Transformer Positional Encoding" and model_transformer_positional_encoding is not None: | |
modelo_a_usar = model_transformer_positional_encoding | |
elif modelo_seleccionado == "Simple RNN" and model_simple_rnn is not None: | |
modelo_a_usar = model_simple_rnn | |
elif modelo_seleccionado == "LSTM" and model_lstm is not None: | |
modelo_a_usar = model_lstm | |
if modelo_a_usar: | |
prediction = modelo_a_usar.predict([texto]) | |
return f"Clase predicha ({modelo_seleccionado}): {prediction}" | |
else: | |
return f"El modelo '{modelo_seleccionado}' no est谩 disponible." | |
def traducir_texto_en_es(texto_en): | |
"""Funci贸n para traducir texto de ingl茅s a espa帽ol.""" | |
if translator_en_es: | |
result = translator_en_es(texto_en)[0]['translation_text'] | |
return result | |
else: | |
return "El modelo de traducci贸n (ingl茅s a espa帽ol) no est谩 disponible." | |
def main(): | |
with gr.Blocks() as demo: | |
gr.Markdown("# Aplicaci贸n de Clasificaci贸n y Traducci贸n") | |
input_texto_clasificacion = gr.Textbox(label="Ingresa la noticia aqu铆:") | |
modelo_seleccion = gr.Dropdown( | |
["Transformer Encoder Apilado", "Transformer Positional Encoding", "Simple RNN", "LSTM"], | |
label="Selecciona el modelo:" | |
) | |
output_clasificacion = gr.Textbox(label="Resultado de la clasificaci贸n:") | |
boton_clasificar = gr.Button("Clasificar") | |
input_texto_traduccion = gr.Textbox(label="Ingresa el texto en ingl茅s:") | |
output_traduccion = gr.Textbox(label="Texto traducido al espa帽ol:") | |
boton_traducir = gr.Button("Traducir") | |
with gr.TabbedInterface( | |
[ | |
[ | |
gr.Markdown("## Clasificaci贸n de Noticias"), | |
input_texto_clasificacion, | |
modelo_seleccion, | |
boton_clasificar, | |
output_clasificacion, | |
], | |
[ | |
gr.Markdown("## Traducci贸n de Ingl茅s a Espa帽ol"), | |
input_texto_traduccion, | |
boton_traducir, | |
output_traduccion, | |
], | |
], | |
["Clasificaci贸n de Noticias", "Traducci贸n (Ingl茅s a Espa帽ol)"] | |
) as tabs: | |
boton_clasificar.click(fn=clasificar_noticia, inputs=[input_texto_clasificacion, modelo_seleccion], outputs=output_clasificacion) | |
boton_traducir.click(fn=traducir_texto_en_es, inputs=[input_texto_traduccion], outputs=output_traduccion) | |
demo.launch()''' | |
import gradio as gr | |
def greet(name): | |
return "Hello, " + name + "!" | |
def main(): | |
with gr.Blocks() as demo: | |
name_input = gr.Textbox(label="Name") | |
output_text = gr.Textbox(label="Output") | |
greet_button = gr.Button("Greet") | |
greet_button.click(fn=greet, inputs=name_input, outputs=output_text) | |
demo.launch() | |
if __name__ == "__main__": | |
main() |