jasonshaoshun commited on
Commit
f12be49
·
1 Parent(s): 691f4a8

caulsal-track debug

Browse files
Files changed (1) hide show
  1. app.py +6 -25
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], sort_ascending: bool = False):
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("Circuit Localization", elem_id="subgraph", id=0):
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, boolean_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 Variable Localization", elem_id="causalgraph", id=1):
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(