File size: 2,214 Bytes
82ff6e3 be3edae fe8b78f 82ff6e3 be3edae 4ef062b fe8b78f 4ef062b be3edae 82ff6e3 be3edae 82ff6e3 56f79c4 be3edae 27ada96 82ff6e3 291e60a be3edae 82ff6e3 b2f7cf7 27ada96 56f79c4 b2f7cf7 82ff6e3 27ada96 82ff6e3 291e60a be3edae 82ff6e3 bb2cf6a b2f7cf7 27ada96 b2f7cf7 82ff6e3 4ef062b | 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 | # pipeline_app.py
import streamlit as st
from utils import add_navigation, add_instruction_text
from utils import pipeline_data
def render():
add_navigation("txt_developer_decisions", "txt_ica")
add_instruction_text(
"""
Developers make a huge number of decisions when designing ML models. <br>
Dive into some examples below to get a feel of how model design works.
"""
)
if "active_stage" not in st.session_state:
st.session_state.active_stage = None
if "active_substage" not in st.session_state:
st.session_state.active_substage = None
# Level 1: Stages
cols = st.columns(len(pipeline_data))
for idx, stage in enumerate(pipeline_data.keys()):
with cols[idx]:
if st.session_state.active_stage==stage:
button_click_s = st.button(stage, type="primary")
else:
button_click_s = st.button(stage)
if button_click_s:
st.session_state.active_stage = stage
st.session_state.active_substage = None
st.rerun()
# Level 2: Sub-stages
if st.session_state.active_stage:
st.markdown(pipeline_data[st.session_state.active_stage]["explain_text"])
st.markdown("---")
sub_stages = pipeline_data[st.session_state.active_stage]
sub_cols = st.columns(len(sub_stages)-1)
for idx, sub in enumerate(set(sub_stages.keys()) - {"explain_text"}):
with sub_cols[idx]:
if st.session_state.active_substage==sub:
button_click_ss = st.button(sub, type="primary")
else:
button_click_ss = st.button(sub)
if button_click_ss:
st.session_state.active_substage = sub
st.rerun()
# Questions
if st.session_state.active_substage:
st.markdown(pipeline_data[st.session_state.active_stage][st.session_state.active_substage]["explain_text"])
st.markdown("---")
questions = pipeline_data[st.session_state.active_stage][st.session_state.active_substage]["sub_decisions"]
for q in questions:
st.write(f"- {q}") |