Spaces:
Running
Running
jasonshaoshun
commited on
Commit
·
f12be49
1
Parent(s):
691f4a8
caulsal-track debug
Browse files
app.py
CHANGED
@@ -451,8 +451,7 @@ def process_json(temp_file):
|
|
451 |
# Define the preset substrings for filtering
|
452 |
PRESET_SUBSTRINGS = ["IOI", "MCQA", "Arithmetic", "ARC", "GPT-2", "Qwen-2.5", "Gemma-2", "Llama-3.1"]
|
453 |
|
454 |
-
def filter_columns_by_substrings(dataframe: pd.DataFrame, selected_substrings: List[str]
|
455 |
-
sort_ascending: bool) -> pd.DataFrame:
|
456 |
"""
|
457 |
Filter columns based on the selected substrings.
|
458 |
"""
|
@@ -466,30 +465,13 @@ def filter_columns_by_substrings(dataframe: pd.DataFrame, selected_substrings: L
|
|
466 |
if any(sub.lower() in col.lower() for sub in selected_substrings)
|
467 |
or col == "Method"
|
468 |
]
|
469 |
-
|
470 |
-
def _compute_row_average(row):
|
471 |
-
# If any value is "-", return "-"
|
472 |
-
if any(v == "-" for v in row.values):
|
473 |
-
return 100 if sort_ascending else -100
|
474 |
-
# Convert to numeric, dropping any non-numeric values
|
475 |
-
numeric_values = pd.to_numeric(row, errors='coerce')
|
476 |
-
# Compute mean of non-NA values
|
477 |
-
return numeric_values.mean().round(3)
|
478 |
-
|
479 |
-
dataframe["Average"] = original_dataframe[filtered_columns].apply(_compute_row_average, axis=1)
|
480 |
-
# dataframe["Average"] = dataframe['Average'].mask(dataframe.isna().any(axis=1), '-')
|
481 |
-
filtered_columns.append("Average")
|
482 |
-
dataframe = dataframe.sort_values('Average', ascending=sort_ascending)
|
483 |
-
dataframe["Average"] = dataframe["Average"].replace(-100, "-").replace(100, "-")
|
484 |
-
|
485 |
return dataframe[filtered_columns]
|
486 |
|
487 |
-
def update_leaderboard(dataframe: pd.DataFrame, selected_substrings: List[str]
|
488 |
"""
|
489 |
Update the leaderboard based on the selected substrings.
|
490 |
"""
|
491 |
-
filtered_dataframe = filter_columns_by_substrings(dataframe, selected_substrings
|
492 |
-
sort_ascending=sort_ascending)
|
493 |
return filtered_dataframe
|
494 |
|
495 |
demo = gr.Blocks(css=custom_css)
|
@@ -515,7 +497,7 @@ with demo:
|
|
515 |
|
516 |
# with gr.TabItem("Subgraph", elem_id="subgraph", id=0):
|
517 |
# leaderboard = init_leaderboard_mib_subgraph(LEADERBOARD_DF_MIB_SUBGRAPH, "Subgraph")
|
518 |
-
with gr.TabItem("
|
519 |
with gr.Tabs() as subgraph_tabs:
|
520 |
with gr.TabItem("F+", id=0):
|
521 |
# Add description for filters
|
@@ -554,17 +536,16 @@ with demo:
|
|
554 |
)
|
555 |
leaderboard, data = init_leaderboard_mib_subgraph(LEADERBOARD_DF_MIB_SUBGRAPH_FEQ, "Subgraph")
|
556 |
original_leaderboard = gr.State(value=data)
|
557 |
-
boolean_checkbox = gr.Checkbox(value=True, visible=False) # Default to True
|
558 |
# Update the leaderboard when the user selects/deselects substrings
|
559 |
substring_checkbox.change(
|
560 |
fn=update_leaderboard,
|
561 |
-
inputs=[original_leaderboard, substring_checkbox
|
562 |
outputs=leaderboard
|
563 |
)
|
564 |
print(f"Leaderboard is {leaderboard}")
|
565 |
|
566 |
# Then modify the Causal Graph tab section
|
567 |
-
with gr.TabItem("Causal
|
568 |
with gr.Tabs() as causalgraph_tabs:
|
569 |
with gr.TabItem("Detailed View", id=0):
|
570 |
leaderboard_detailed = init_leaderboard_mib_causalgraph(
|
|
|
451 |
# Define the preset substrings for filtering
|
452 |
PRESET_SUBSTRINGS = ["IOI", "MCQA", "Arithmetic", "ARC", "GPT-2", "Qwen-2.5", "Gemma-2", "Llama-3.1"]
|
453 |
|
454 |
+
def filter_columns_by_substrings(dataframe: pd.DataFrame, selected_substrings: List[str]) -> pd.DataFrame:
|
|
|
455 |
"""
|
456 |
Filter columns based on the selected substrings.
|
457 |
"""
|
|
|
465 |
if any(sub.lower() in col.lower() for sub in selected_substrings)
|
466 |
or col == "Method"
|
467 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
return dataframe[filtered_columns]
|
469 |
|
470 |
+
def update_leaderboard(dataframe: pd.DataFrame, selected_substrings: List[str]):
|
471 |
"""
|
472 |
Update the leaderboard based on the selected substrings.
|
473 |
"""
|
474 |
+
filtered_dataframe = filter_columns_by_substrings(dataframe, selected_substrings)
|
|
|
475 |
return filtered_dataframe
|
476 |
|
477 |
demo = gr.Blocks(css=custom_css)
|
|
|
497 |
|
498 |
# with gr.TabItem("Subgraph", elem_id="subgraph", id=0):
|
499 |
# leaderboard = init_leaderboard_mib_subgraph(LEADERBOARD_DF_MIB_SUBGRAPH, "Subgraph")
|
500 |
+
with gr.TabItem("Subgraph", elem_id="subgraph", id=0):
|
501 |
with gr.Tabs() as subgraph_tabs:
|
502 |
with gr.TabItem("F+", id=0):
|
503 |
# Add description for filters
|
|
|
536 |
)
|
537 |
leaderboard, data = init_leaderboard_mib_subgraph(LEADERBOARD_DF_MIB_SUBGRAPH_FEQ, "Subgraph")
|
538 |
original_leaderboard = gr.State(value=data)
|
|
|
539 |
# Update the leaderboard when the user selects/deselects substrings
|
540 |
substring_checkbox.change(
|
541 |
fn=update_leaderboard,
|
542 |
+
inputs=[original_leaderboard, substring_checkbox],
|
543 |
outputs=leaderboard
|
544 |
)
|
545 |
print(f"Leaderboard is {leaderboard}")
|
546 |
|
547 |
# Then modify the Causal Graph tab section
|
548 |
+
with gr.TabItem("Causal Graph", elem_id="causalgraph", id=1):
|
549 |
with gr.Tabs() as causalgraph_tabs:
|
550 |
with gr.TabItem("Detailed View", id=0):
|
551 |
leaderboard_detailed = init_leaderboard_mib_causalgraph(
|