SergioSCA commited on
Commit
6b3f7f3
verified
1 Parent(s): c7d73f9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -20
app.py CHANGED
@@ -3,7 +3,6 @@ from datasets import load_dataset, list_datasets
3
  import pandas as pd
4
  import time
5
 
6
- # Funci贸n para generar el esquema CSV
7
  def generate_csv(modalities, vision_tasks, nlp_tasks, audio_tasks, progress=gr.Progress()):
8
  tasks = []
9
  if "Visi贸n" in modalities:
@@ -14,19 +13,18 @@ def generate_csv(modalities, vision_tasks, nlp_tasks, audio_tasks, progress=gr.P
14
  tasks.extend(audio_tasks)
15
 
16
  columns = []
17
- total_steps = len(tasks) # Simplificado para usar solo la lista de tareas
18
  progress(0, desc="Iniciando generaci贸n del esquema CSV...")
19
 
20
- for i, task in enumerate(tasks): # Iterar directamente sobre la lista de tareas
21
- modality = get_modality(task) # Obtener la modalidad basada en la tarea
22
  progress((i + 1) / total_steps, desc=f"Procesando {modality} - {task}...")
23
  time.sleep(1)
24
- columns.extend(get_columns_for_task(task)) # Funci贸n para obtener columnas
25
 
26
  progress(1, desc="Esquema CSV generado con 茅xito.")
27
  return ", ".join(columns)
28
 
29
- # Funci贸n auxiliar para obtener la modalidad seg煤n la tarea
30
  def get_modality(task):
31
  if task in ["Detecci贸n de Objetos", "Segmentaci贸n Sem谩ntica", "Clasificaci贸n de Im谩genes", "Reconocimiento Facial"]:
32
  return "Visi贸n"
@@ -36,7 +34,6 @@ def get_modality(task):
36
  return "Audio"
37
  return "Desconocido"
38
 
39
- # Funci贸n auxiliar para obtener las columnas seg煤n la tarea
40
  def get_columns_for_task(task):
41
  column_mapping = {
42
  "Detecci贸n de Objetos": ["imagen", "etiqueta", "coordenadas_bbox"],
@@ -55,11 +52,9 @@ def get_columns_for_task(task):
55
  }
56
  return column_mapping.get(task, [])
57
 
58
- # Funci贸n para buscar datasets (sin cambios)
59
  def search_datasets(modalities, progress=gr.Progress()):
60
  # ... (sin cambios)
61
 
62
- # Funci贸n para analizar datasets (con manejo de errores mejorado)
63
  def analyze_datasets(selected_datasets, csv_schema, progress=gr.Progress()):
64
  datasets = []
65
  schema_columns = [col.strip() for col in csv_schema.split(",")]
@@ -71,33 +66,30 @@ def analyze_datasets(selected_datasets, csv_schema, progress=gr.Progress()):
71
  progress((i + 1) / total_steps, desc=f"Analizando dataset: {url}")
72
  try:
73
  dataset = load_dataset(url.strip(), trust_remote_code=True)
74
- df = pd.DataFrame(dataset["train"]) # Asumiendo que siempre se usa "train"
75
-
76
- # Asegurar que todas las columnas del esquema est茅n presentes, a帽adiendo NaN si faltan
77
  for col in schema_columns:
78
  if col not in df.columns:
79
  df[col] = float('nan')
80
-
81
- filtered_df = df[schema_columns] # Seleccionar y reordenar columnas
82
  datasets.append(filtered_df)
83
  time.sleep(2)
84
  except Exception as e:
85
  error_message = f"Error al analizar {url}: {str(e)}"
86
- print(error_message) # Imprimir mensaje de error para diagn贸stico
87
- progress(1, desc=error_message) # Mostrar mensaje de error en la interfaz
88
- return error_message # Devolver mensaje de error para detener el proceso
89
 
90
  combined_dataset = pd.concat(datasets, ignore_index=True)
91
  progress(1, desc="An谩lisis completado.")
92
  return combined_dataset.to_csv(index=False)
93
 
94
- # Funci贸n para reorganizar columnas (sin cambios)
95
  def reorder_columns(csv_schema, column_order, progress=gr.Progress()):
96
  # ... (sin cambios)
97
 
98
- # Interfaz de Usuario con Gradio (sin cambios)
99
  with gr.Blocks(title="Dise帽ador de Redes Neuronales Multimodales") as demo:
100
  # ... (sin cambios)
101
 
102
- # Lanzar la aplicaci贸n (sin cambios)
103
  demo.launch()
 
3
  import pandas as pd
4
  import time
5
 
 
6
  def generate_csv(modalities, vision_tasks, nlp_tasks, audio_tasks, progress=gr.Progress()):
7
  tasks = []
8
  if "Visi贸n" in modalities:
 
13
  tasks.extend(audio_tasks)
14
 
15
  columns = []
16
+ total_steps = len(tasks)
17
  progress(0, desc="Iniciando generaci贸n del esquema CSV...")
18
 
19
+ for i, task in enumerate(tasks):
20
+ modality = get_modality(task)
21
  progress((i + 1) / total_steps, desc=f"Procesando {modality} - {task}...")
22
  time.sleep(1)
23
+ columns.extend(get_columns_for_task(task))
24
 
25
  progress(1, desc="Esquema CSV generado con 茅xito.")
26
  return ", ".join(columns)
27
 
 
28
  def get_modality(task):
29
  if task in ["Detecci贸n de Objetos", "Segmentaci贸n Sem谩ntica", "Clasificaci贸n de Im谩genes", "Reconocimiento Facial"]:
30
  return "Visi贸n"
 
34
  return "Audio"
35
  return "Desconocido"
36
 
 
37
  def get_columns_for_task(task):
38
  column_mapping = {
39
  "Detecci贸n de Objetos": ["imagen", "etiqueta", "coordenadas_bbox"],
 
52
  }
53
  return column_mapping.get(task, [])
54
 
 
55
  def search_datasets(modalities, progress=gr.Progress()):
56
  # ... (sin cambios)
57
 
 
58
  def analyze_datasets(selected_datasets, csv_schema, progress=gr.Progress()):
59
  datasets = []
60
  schema_columns = [col.strip() for col in csv_schema.split(",")]
 
66
  progress((i + 1) / total_steps, desc=f"Analizando dataset: {url}")
67
  try:
68
  dataset = load_dataset(url.strip(), trust_remote_code=True)
69
+ df = pd.DataFrame(dataset["train"])
70
+
71
+ # Asegurar que todas las columnas del esquema est茅n presentes
72
  for col in schema_columns:
73
  if col not in df.columns:
74
  df[col] = float('nan')
75
+
76
+ filtered_df = df[schema_columns]
77
  datasets.append(filtered_df)
78
  time.sleep(2)
79
  except Exception as e:
80
  error_message = f"Error al analizar {url}: {str(e)}"
81
+ print(error_message)
82
+ progress(1, desc=error_message)
83
+ return error_message
84
 
85
  combined_dataset = pd.concat(datasets, ignore_index=True)
86
  progress(1, desc="An谩lisis completado.")
87
  return combined_dataset.to_csv(index=False)
88
 
 
89
  def reorder_columns(csv_schema, column_order, progress=gr.Progress()):
90
  # ... (sin cambios)
91
 
 
92
  with gr.Blocks(title="Dise帽ador de Redes Neuronales Multimodales") as demo:
93
  # ... (sin cambios)
94
 
 
95
  demo.launch()