Spaces:
Running
Running
jasonshaoshun
commited on
Commit
·
7d21286
1
Parent(s):
4a47622
debug
Browse files
app.py
CHANGED
|
@@ -125,6 +125,8 @@ LEADERBOARD_DF_MIB_CAUSALGRAPH_DETAILED, LEADERBOARD_DF_MIB_CAUSALGRAPH_AGGREGAT
|
|
| 125 |
|
| 126 |
|
| 127 |
from src.about import TasksMib_Subgraph
|
|
|
|
|
|
|
| 128 |
# def init_leaderboard_mib_subgraph(dataframe, track):
|
| 129 |
# if dataframe is None or dataframe.empty:
|
| 130 |
# raise ValueError("Leaderboard DataFrame is empty or None.")
|
|
@@ -386,62 +388,133 @@ from src.about import TasksMib_Subgraph
|
|
| 386 |
|
| 387 |
|
| 388 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 389 |
def init_leaderboard_mib_subgraph(dataframe, track):
|
| 390 |
-
"""Initialize the subgraph leaderboard with benchmark and model filtering
|
| 391 |
if dataframe is None or dataframe.empty:
|
| 392 |
raise ValueError("Leaderboard DataFrame is empty or None.")
|
| 393 |
|
| 394 |
-
|
| 395 |
-
|
| 396 |
-
|
| 397 |
-
|
| 398 |
-
|
| 399 |
-
|
| 400 |
-
|
| 401 |
-
|
| 402 |
-
|
| 403 |
-
|
| 404 |
-
|
| 405 |
-
|
| 406 |
-
|
| 407 |
-
|
| 408 |
-
|
| 409 |
-
|
| 410 |
-
|
| 411 |
-
|
| 412 |
-
|
| 413 |
-
|
| 414 |
-
|
| 415 |
-
|
| 416 |
-
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
| 426 |
-
|
| 427 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 428 |
selection_groups = {
|
| 429 |
**benchmark_selections,
|
| 430 |
**model_selections
|
| 431 |
}
|
| 432 |
|
| 433 |
-
|
| 434 |
-
print("Benchmarks:", benchmark_selections.keys())
|
| 435 |
-
print("Models:", model_selections.keys())
|
| 436 |
-
|
| 437 |
-
# Convert keys to list for selection options
|
| 438 |
selection_options = list(selection_groups.keys())
|
|
|
|
| 439 |
|
| 440 |
return Leaderboard(
|
| 441 |
value=dataframe,
|
| 442 |
datatype=[c.type for c in fields(AutoEvalColumn_mib_subgraph)],
|
| 443 |
select_columns=SelectColumns(
|
| 444 |
-
default_selection=selection_options,
|
| 445 |
label="Filter by Benchmark or Model:"
|
| 446 |
),
|
| 447 |
search_columns=["Method"],
|
|
|
|
| 125 |
|
| 126 |
|
| 127 |
from src.about import TasksMib_Subgraph
|
| 128 |
+
|
| 129 |
+
|
| 130 |
# def init_leaderboard_mib_subgraph(dataframe, track):
|
| 131 |
# if dataframe is None or dataframe.empty:
|
| 132 |
# raise ValueError("Leaderboard DataFrame is empty or None.")
|
|
|
|
| 388 |
|
| 389 |
|
| 390 |
|
| 391 |
+
# def init_leaderboard_mib_subgraph(dataframe, track):
|
| 392 |
+
# """Initialize the subgraph leaderboard with benchmark and model filtering capabilities."""
|
| 393 |
+
# if dataframe is None or dataframe.empty:
|
| 394 |
+
# raise ValueError("Leaderboard DataFrame is empty or None.")
|
| 395 |
+
|
| 396 |
+
# # Print DataFrame information for debugging
|
| 397 |
+
# # print("\nDebugging DataFrame columns:", dataframe.columns.tolist())
|
| 398 |
+
|
| 399 |
+
# # Get result columns (excluding Method and Average)
|
| 400 |
+
# result_columns = [col for col in dataframe.columns
|
| 401 |
+
# if col not in ['Method', 'Average', 'eval_name'] and '_' in col]
|
| 402 |
+
|
| 403 |
+
# # Create benchmark and model selections
|
| 404 |
+
# benchmarks = set()
|
| 405 |
+
# models = set()
|
| 406 |
+
|
| 407 |
+
# print(f"\nDebugging Result Columns: {result_columns}")
|
| 408 |
+
# # Extract unique benchmarks and models from column names
|
| 409 |
+
# for col in result_columns:
|
| 410 |
+
# print(f"col is {col}")
|
| 411 |
+
# benchmark, model = col.split('_', maxsplit=1)
|
| 412 |
+
# benchmarks.add(benchmark)
|
| 413 |
+
# models.add(model)
|
| 414 |
+
# print(f"benchmark is {benchmark} and model is {model}")
|
| 415 |
+
|
| 416 |
+
# # Create selection groups
|
| 417 |
+
# benchmark_selections = {
|
| 418 |
+
# # For each benchmark, store which columns should be shown
|
| 419 |
+
# benchmark: [col for col in result_columns if col.startswith(f"{benchmark}_")]
|
| 420 |
+
# for benchmark in benchmarks
|
| 421 |
+
# }
|
| 422 |
+
|
| 423 |
+
# model_selections = {
|
| 424 |
+
# # For each model, store which columns should be shown
|
| 425 |
+
# model: [col for col in result_columns if col.startswith(f"_{model}")]
|
| 426 |
+
# for model in models
|
| 427 |
+
# }
|
| 428 |
+
|
| 429 |
+
# # Combine the selection mappings
|
| 430 |
+
# selection_groups = {
|
| 431 |
+
# **benchmark_selections,
|
| 432 |
+
# **model_selections
|
| 433 |
+
# }
|
| 434 |
+
|
| 435 |
+
# print("\nDebugging Selection Groups:")
|
| 436 |
+
# print("Benchmarks:", benchmark_selections.keys())
|
| 437 |
+
# print("Models:", model_selections.keys())
|
| 438 |
+
|
| 439 |
+
# # Convert keys to list for selection options
|
| 440 |
+
# selection_options = list(selection_groups.keys())
|
| 441 |
+
|
| 442 |
+
# return Leaderboard(
|
| 443 |
+
# value=dataframe,
|
| 444 |
+
# datatype=[c.type for c in fields(AutoEvalColumn_mib_subgraph)],
|
| 445 |
+
# select_columns=SelectColumns(
|
| 446 |
+
# default_selection=selection_options, # Show all options by default
|
| 447 |
+
# label="Filter by Benchmark or Model:"
|
| 448 |
+
# ),
|
| 449 |
+
# search_columns=["Method"],
|
| 450 |
+
# hide_columns=[],
|
| 451 |
+
# interactive=False,
|
| 452 |
+
# )
|
| 453 |
+
|
| 454 |
+
|
| 455 |
+
|
| 456 |
+
|
| 457 |
+
|
| 458 |
def init_leaderboard_mib_subgraph(dataframe, track):
|
| 459 |
+
"""Initialize the subgraph leaderboard with benchmark and model filtering using direct enum access."""
|
| 460 |
if dataframe is None or dataframe.empty:
|
| 461 |
raise ValueError("Leaderboard DataFrame is empty or None.")
|
| 462 |
|
| 463 |
+
print("\nDebugging DataFrame columns:", dataframe.columns.tolist())
|
| 464 |
+
|
| 465 |
+
# Get benchmarks directly from TasksMib_Subgraph
|
| 466 |
+
benchmarks = [task.value.benchmark for task in TasksMib_Subgraph]
|
| 467 |
+
print("\nBenchmarks from enum:", benchmarks)
|
| 468 |
+
|
| 469 |
+
# Get unique models from all tasks
|
| 470 |
+
models = list(set(
|
| 471 |
+
model # Get each model
|
| 472 |
+
for task in TasksMib_Subgraph # For each task
|
| 473 |
+
for model in task.value.models # Get all its models
|
| 474 |
+
))
|
| 475 |
+
print("\nModels from enum:", models)
|
| 476 |
+
|
| 477 |
+
# Create benchmark selections - map each benchmark to its columns
|
| 478 |
+
benchmark_selections = {}
|
| 479 |
+
for task in TasksMib_Subgraph:
|
| 480 |
+
benchmark = task.value.benchmark
|
| 481 |
+
# For this benchmark, get all its valid model combinations
|
| 482 |
+
valid_columns = [
|
| 483 |
+
f"{benchmark}_{model}"
|
| 484 |
+
for model in task.value.models
|
| 485 |
+
if f"{benchmark}_{model}" in dataframe.columns
|
| 486 |
+
]
|
| 487 |
+
benchmark_selections[benchmark] = valid_columns
|
| 488 |
+
print(f"\nBenchmark {benchmark} maps to columns:", valid_columns)
|
| 489 |
+
|
| 490 |
+
# Create model selections - map each model to its columns
|
| 491 |
+
model_selections = {}
|
| 492 |
+
for model in models:
|
| 493 |
+
# For this model, find all benchmarks where it's used
|
| 494 |
+
valid_columns = [
|
| 495 |
+
f"{task.value.benchmark}_{model}"
|
| 496 |
+
for task in TasksMib_Subgraph
|
| 497 |
+
if model in task.value.models
|
| 498 |
+
and f"{task.value.benchmark}_{model}" in dataframe.columns
|
| 499 |
+
]
|
| 500 |
+
model_selections[model] = valid_columns
|
| 501 |
+
print(f"\nModel {model} maps to columns:", valid_columns)
|
| 502 |
+
|
| 503 |
+
# Combine all selections
|
| 504 |
selection_groups = {
|
| 505 |
**benchmark_selections,
|
| 506 |
**model_selections
|
| 507 |
}
|
| 508 |
|
| 509 |
+
# Get the final selection options
|
|
|
|
|
|
|
|
|
|
|
|
|
| 510 |
selection_options = list(selection_groups.keys())
|
| 511 |
+
print("\nFinal selection options:", selection_options)
|
| 512 |
|
| 513 |
return Leaderboard(
|
| 514 |
value=dataframe,
|
| 515 |
datatype=[c.type for c in fields(AutoEvalColumn_mib_subgraph)],
|
| 516 |
select_columns=SelectColumns(
|
| 517 |
+
default_selection=selection_options,
|
| 518 |
label="Filter by Benchmark or Model:"
|
| 519 |
),
|
| 520 |
search_columns=["Method"],
|