Spaces:
Sleeping
Sleeping
notbulubula
commited on
Commit
·
6322afe
1
Parent(s):
fc248a4
15 minfix
Browse files
app.py
CHANGED
|
@@ -2,9 +2,9 @@ import streamlit as st
|
|
| 2 |
import wandb
|
| 3 |
import pandas as pd
|
| 4 |
import os
|
| 5 |
-
import matplotlib.pyplot as plt
|
| 6 |
|
| 7 |
-
from utils import fetch_runs_to_df
|
| 8 |
|
| 9 |
# Access the API key from the environment variable
|
| 10 |
wandb_api_key = os.getenv('WANDB_API_KEY')
|
|
@@ -63,9 +63,13 @@ if tag_filter:
|
|
| 63 |
st.dataframe(df)
|
| 64 |
|
| 65 |
# Display details of selected run
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
import wandb
|
| 3 |
import pandas as pd
|
| 4 |
import os
|
| 5 |
+
# import matplotlib.pyplot as plt
|
| 6 |
|
| 7 |
+
from utils import fetch_runs_to_df, fetch_run
|
| 8 |
|
| 9 |
# Access the API key from the environment variable
|
| 10 |
wandb_api_key = os.getenv('WANDB_API_KEY')
|
|
|
|
| 63 |
st.dataframe(df)
|
| 64 |
|
| 65 |
# Display details of selected run
|
| 66 |
+
if not df.empty:
|
| 67 |
+
selected_run_id = st.selectbox("Select a Run ID to see details", df["ID"].tolist())
|
| 68 |
+
|
| 69 |
+
run = fetch_run(api, projects, selected_project, selected_run_id)
|
| 70 |
+
if run:
|
| 71 |
+
run_df = run.history()
|
| 72 |
+
st.write(f"Details for run: {run.name}")
|
| 73 |
+
st.dataframe(run_df)
|
| 74 |
+
else:
|
| 75 |
+
st.warning("No runs available to select.")
|
utils.py
CHANGED
|
@@ -1,9 +1,10 @@
|
|
| 1 |
import streamlit as st
|
| 2 |
import pandas as pd
|
|
|
|
| 3 |
|
| 4 |
def fetch_runs_to_df(api, projects, selected_project):
|
| 5 |
data = []
|
| 6 |
-
|
| 7 |
if selected_project == "All":
|
| 8 |
# return all runs from all projects
|
| 9 |
for project_name, details in projects.items():
|
|
@@ -36,3 +37,24 @@ def fetch_runs_to_df(api, projects, selected_project):
|
|
| 36 |
df = pd.DataFrame(data)
|
| 37 |
|
| 38 |
return df
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
import pandas as pd
|
| 3 |
+
import wandb
|
| 4 |
|
| 5 |
def fetch_runs_to_df(api, projects, selected_project):
|
| 6 |
data = []
|
| 7 |
+
|
| 8 |
if selected_project == "All":
|
| 9 |
# return all runs from all projects
|
| 10 |
for project_name, details in projects.items():
|
|
|
|
| 37 |
df = pd.DataFrame(data)
|
| 38 |
|
| 39 |
return df
|
| 40 |
+
|
| 41 |
+
def fetch_run(api, projects, selected_project, selected_run_id):
|
| 42 |
+
# Fetch run details based on the selected project
|
| 43 |
+
if selected_project == "All":
|
| 44 |
+
# Find the project for the selected run_id
|
| 45 |
+
for project_name, details in projects.items():
|
| 46 |
+
entity = details["entity"]
|
| 47 |
+
project = details["project"]
|
| 48 |
+
try:
|
| 49 |
+
run = api.run(f"{entity}/{project}/{selected_run_id}")
|
| 50 |
+
break
|
| 51 |
+
except wandb.errors.CommError:
|
| 52 |
+
continue
|
| 53 |
+
else:
|
| 54 |
+
st.error(f"Run ID {selected_run_id} not found in any project.")
|
| 55 |
+
else:
|
| 56 |
+
entity = projects[selected_project]["entity"]
|
| 57 |
+
project = projects[selected_project]["project"]
|
| 58 |
+
run = api.run(f"{entity}/{project}/{selected_run_id}")
|
| 59 |
+
|
| 60 |
+
return run
|