SergioSCA commited on
Commit
cba4d16
verified
1 Parent(s): 1ca9ff1

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +82 -0
app.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from datasets import load_dataset
3
+ import pandas as pd
4
+
5
+ # Funci贸n para generar el esquema CSV basado en las selecciones del usuario
6
+ def generate_csv(modalities, tasks):
7
+ columns = []
8
+ for modality, task in zip(modalities, tasks):
9
+ if modality == "Visi贸n" and task == "Detecci贸n de Objetos":
10
+ columns.extend(["imagen", "etiqueta", "coordenadas_bbox"])
11
+ elif modality == "NLP" and task == "Clasificaci贸n de Texto":
12
+ columns.extend(["texto", "etiqueta"])
13
+ elif modality == "Audio" and task == "Clasificaci贸n de Audio":
14
+ columns.extend(["archivo_audio", "etiqueta"])
15
+ return ", ".join(columns)
16
+
17
+ # Funci贸n para buscar datasets p煤blicos relevantes
18
+ def search_datasets(modalities):
19
+ # Simulaci贸n de b煤squeda de datasets en Hugging Face
20
+ dataset_map = {
21
+ "Visi贸n": ["coco", "imagenet"],
22
+ "NLP": ["imdb", "glue"],
23
+ "Audio": ["common_voice", "librispeech"]
24
+ }
25
+ results = []
26
+ for modality in modalities:
27
+ if modality in dataset_map:
28
+ results.extend(dataset_map[modality])
29
+ return "\n".join(results)
30
+
31
+ # Funci贸n para procesar datasets seleccionados
32
+ def process_datasets(dataset_urls):
33
+ datasets = []
34
+ for url in dataset_urls.split("\n"):
35
+ if url.strip():
36
+ try:
37
+ dataset = load_dataset(url.strip())
38
+ datasets.append(dataset)
39
+ except Exception as e:
40
+ return f"Error al cargar el dataset {url}: {str(e)}"
41
+ combined_dataset = pd.concat([pd.DataFrame(ds) for ds in datasets], ignore_index=True)
42
+ return combined_dataset.to_csv(index=False)
43
+
44
+ # Interfaz de Usuario con Gradio
45
+ with gr.Blocks(title="Dise帽ador de Redes Neuronales Multimodales") as demo:
46
+ gr.Markdown("# Dise帽ador de Redes Neuronales Multimodales")
47
+ gr.Markdown("Define tu red neuronal multimodal, genera datasets espec铆ficos y entrena modelos.")
48
+
49
+ with gr.Row():
50
+ modalities = gr.CheckboxGroup(
51
+ ["Visi贸n", "NLP", "Audio"], label="Selecciona Modalidades"
52
+ )
53
+ tasks = gr.Dropdown(
54
+ [
55
+ "Detecci贸n de Objetos",
56
+ "Clasificaci贸n de Texto",
57
+ "Clasificaci贸n de Audio",
58
+ ],
59
+ multiselect=True,
60
+ label="Selecciona Tareas",
61
+ )
62
+
63
+ with gr.Row():
64
+ generate_csv_btn = gr.Button("Generar Esquema CSV")
65
+ csv_output = gr.Textbox(label="Esquema CSV Generado")
66
+
67
+ with gr.Row():
68
+ search_datasets_btn = gr.Button("Buscar Datasets P煤blicos")
69
+ datasets_output = gr.Textbox(label="Datasets Disponibles")
70
+
71
+ with gr.Row():
72
+ dataset_urls = gr.Textbox(lines=5, label="Introduce URLs de Datasets")
73
+ process_datasets_btn = gr.Button("Procesar Datasets")
74
+ processed_output = gr.File(label="Dataset Procesado")
75
+
76
+ # Conexiones de botones a funciones
77
+ generate_csv_btn.click(generate_csv, inputs=[modalities, tasks], outputs=csv_output)
78
+ search_datasets_btn.click(search_datasets, inputs=[modalities], outputs=datasets_output)
79
+ process_datasets_btn.click(process_datasets, inputs=[dataset_urls], outputs=processed_output)
80
+
81
+ # Lanzar la aplicaci贸n
82
+ demo.launch()