File size: 1,510 Bytes
4928a1a d7e53e8 4928a1a d7e53e8 4928a1a d7e53e8 4928a1a d7e53e8 4928a1a d7e53e8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | from models.registry import MODEL_GROUPS, REGRESSION_GRAPHS, CLASSIFICATION_GRAPHS
import gradio as gr
import pandas as pd
import os
def reset_on_task_change(task_type):
"""
When task changes:
- Model Group → Basic
- Model → first model of Basic group for selected task
"""
model_group = "Basic"
models = MODEL_GROUPS[model_group][task_type]
model_names = list(models.keys())
return (
gr.update(value=model_group),
gr.update(choices=model_names, value=model_names[0])
)
def update_models(task_type, model_group):
models = MODEL_GROUPS.get(model_group, {}).get(task_type, {})
model_names = list(models.keys())
return gr.update(
choices=model_names,
value=model_names[0] if model_names else None
)
def update_graphs(task_type):
graphs = (
REGRESSION_GRAPHS
if task_type == "Regression"
else CLASSIFICATION_GRAPHS
)
return gr.update(
choices=graphs,
value=graphs[0], # ✅ auto-select first option
)
import os
def preview_csv(file, max_rows=10):
if not file:
return None
size_mb = os.path.getsize(file.name) / (1024 * 1024)
if size_mb > 50:
return None # ❌ No preview
return pd.read_csv(file.name, nrows=max_rows)
def reset_metrics_on_file_clear(file):
if file is None:
return pd.DataFrame(), None
return gr.update(), gr.update()
def toggle_csv_preview(show):
return gr.update(visible=show) |