-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdashboard.py
More file actions
45 lines (33 loc) · 1.74 KB
/
dashboard.py
File metadata and controls
45 lines (33 loc) · 1.74 KB
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
import streamlit as st
from hyperbench.dashboard import info, leaderboard, statistics, trajectories, explorer, aggregate
from hyperbench.dashboard.options import Options
from run_benchmark import benchmark
# Settings
options = Options(directory="results", smac_directory="smac_output", time_based=False, datasets=benchmark.datasets)
with st.sidebar:
options.display()
info.display()
filtered = aggregate.load_trajectories(options)
main_tab, explorer_tab, leader_tab = st.tabs(["🔥 Benchmark results", "🧭 Explore datasets", "🥇 Leaderboard"])
with main_tab:
with st.expander("Datasets included in results", expanded=False):
list_datasets = aggregate.get_datasets(filtered)
datasets = st.multiselect("Select datasets to include", list_datasets, default=list_datasets,
label_visibility="collapsed")
filtered = filtered[filtered.dataset.isin(datasets)]
with st.expander("Experiments included in results", expanded=True):
st.dataframe(aggregate.overview(filtered), use_container_width=True)
# Split by search and eval
search_trajectories = aggregate.filter_on(filtered, stage="search").drop("virtual", axis=1)
eval_trajectories = aggregate.filter_on(filtered, stage="eval").drop("virtual", axis=1)
search_tab, eval_tab, stats_tab = st.tabs(["🧪 Search results", "️🤔 Evaluation results", "📊 Statistics"])
with search_tab:
trajectories.display(search_trajectories)
with eval_tab:
trajectories.display(eval_trajectories)
with stats_tab:
statistics.display(options.directory, filtered, options.target)
with explorer_tab:
explorer.display(options.datasets)
with leader_tab:
leaderboard.display(options.smac_directory)