File size: 1,784 Bytes
f1e08ee a56c4ba e9ee3ac a56c4ba e9ee3ac a56c4ba 2429cdc a56c4ba e9ee3ac f1e08ee a56c4ba f87d2ee 2429cdc f87d2ee a56c4ba 60bd8ab f87d2ee f1e08ee a56c4ba d87c759 f1e08ee e9ee3ac a56c4ba e9ee3ac f1e08ee e9ee3ac f1e08ee e9ee3ac f1e08ee e9ee3ac f87d2ee 2429cdc a56c4ba 2429cdc a56c4ba 2429cdc e9ee3ac f1e08ee f87d2ee a56c4ba f87d2ee 2429cdc f87d2ee a56c4ba 60bd8ab f87d2ee |
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
import streamlit as st
import utils
from components import (
buildings_view,
computation_view,
header,
logos,
model_selector,
models_view,
overview_view,
accuracy_view,
relative_performance_view,
links,
)
USE_CASE = st.secrets["enfobench_usecase"]
PAGES = [
"Overview",
"Buildings",
"Models",
"Accuracy",
"Relative Performance",
"Computational Resources",
]
st.set_page_config(page_title=f"{USE_CASE} Dashboard", layout="wide")
@st.cache_data(ttl=86400)
def fetch_data():
return utils.get_wandb_data(
entity=st.secrets["wandb_entity"],
project=st.secrets["wandb_project"],
api_key=st.secrets["wandb_api_key"],
job_type="metrics",
)
# Load data
data = fetch_data()
# Extract models
models = sorted(data["model"].unique().tolist())
with st.sidebar:
logos()
view = st.selectbox("View", PAGES, index=0)
if view in ["Accuracy", "Relative Performance", "Computational Resources"]:
models_to_plot = model_selector(models, data)
if view == "Overview":
links(current=USE_CASE)
st.header("Refresh data")
refresh = st.button(
"Refresh", use_container_width=True, help="Fetch the latest data from W&B"
)
if refresh:
fetch_data.clear()
st.rerun()
header(f"EnFoBench - {USE_CASE}")
if view == "Overview":
overview_view(data)
elif view == "Buildings":
buildings_view(data)
elif view == "Models":
models_view(data)
elif view == "Accuracy":
accuracy_view(data, models_to_plot)
elif view == "Relative Performance":
relative_performance_view(data, models_to_plot)
elif view == "Computational Resources":
computation_view(data, models_to_plot)
else:
st.write("Not implemented yet")
|