| import gradio as gr | |
| def dummy_response(entrada, modelo=None): | |
| if modelo: | |
| return f"🔧 Funcionalidad en desarrollo... Modelo seleccionado: {modelo}" | |
| else: | |
| return "🔧 Funcionalidad en desarrollo..." | |
| with gr.Blocks() as demo: | |
| gr.Markdown(""" | |
| # 🤖 Aplicación Multimodal con Deep Learning | |
| Esta aplicación integra modelos de visión e inteligencia artificial para analizar **imágenes**, **videos** y **audio** en tiempo real. | |
| """) | |
| with gr.Tab("📷 Clasificación de Imágenes"): | |
| gr.Markdown("Sube una imagen para clasificarla con modelos visuales (ResNet, MobileNet, EfficientNet)") | |
| image_input = gr.Image(type="pil", label="📤 Imagen de entrada") | |
| image_model = gr.Dropdown( | |
| ["ResNet", "EfficientNet"], | |
| label="Selecciona el modelo", | |
| value="ResNet" | |
| ) | |
| image_output = gr.Textbox(label="📈 Resultado") | |
| gr.Button("Clasificar Imagen").click(fn=dummy_response, inputs=[image_input, image_model], outputs=image_output) | |
| with gr.Tab("🎞️ Clasificación de Video"): | |
| gr.Markdown("Sube un video. Se extraerá un fotograma y se clasificará su contenido.") | |
| video_input = gr.Video(label="📤 Video de entrada") | |
| video_model = gr.Dropdown( | |
| ["ResNet", "MobileNet", "EfficientNet"], | |
| label="Selecciona el modelo", | |
| value="ResNet" | |
| ) | |
| frame_preview = gr.Image(label="🖼️ Fotograma extraído") | |
| video_output = gr.Textbox(label="📈 Resultado") | |
| gr.Button("Analizar Video").click(fn=dummy_response, inputs=[video_input, video_model], outputs=[frame_preview, video_output]) | |
| with gr.Tab("🎙️ Reconocimiento de Voz"): | |
| gr.Markdown("Sube un archivo de audio para convertirlo en texto utilizando un modelo basado en CTC.") | |
| audio_input = gr.Audio(type="filepath", label="🎧 Audio de entrada") | |
| audio_output = gr.Textbox(label="📝 Texto transcrito") | |
| gr.Button("Transcribir Audio").click(fn=dummy_response, inputs=audio_input, outputs=audio_output) | |
| demo.launch() | |