Spaces:
Sleeping
Sleeping
Delete pages
Browse files- pages/1_💾_Data.py +0 -51
- pages/1_💾_Data_Panel.py +0 -57
- pages/2_📝_Model.py +0 -46
- pages/2_📝_Model_Panel.py +0 -52
- pages/3_🎯_Evaluation_Panel.py +0 -41
- pages/3_🎯_Performance_Evaluation_Panel.py +0 -42
- pages/4_🔬_Decision_Exploration_Panel.py +0 -48
pages/1_💾_Data.py
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
# Read
|
2 |
-
import streamlit as st
|
3 |
-
import sys,os
|
4 |
-
|
5 |
-
|
6 |
-
sys.path.append(f'{os.getcwd()}/utils')
|
7 |
-
from utils.data_users import get_developer_page_layout,get_product_dev_page_layout
|
8 |
-
|
9 |
-
|
10 |
-
print(os.getcwd())
|
11 |
-
# st.write(st.session_state.user_group)
|
12 |
-
USER_GROUPS = ["Developer", "Manager", "Practitioner"]
|
13 |
-
|
14 |
-
st.set_page_config(layout="wide")
|
15 |
-
|
16 |
-
if 'user_group' not in st.session_state:
|
17 |
-
index_tmp = 0
|
18 |
-
else:
|
19 |
-
index_tmp = USER_GROUPS.index(st.session_state['user_group'])
|
20 |
-
|
21 |
-
#Sidebar for USER GROUPS
|
22 |
-
st.sidebar.title("USER GROUPS")
|
23 |
-
backend = st.sidebar.selectbox(
|
24 |
-
"Select User-Group ", USER_GROUPS, index=index_tmp
|
25 |
-
)
|
26 |
-
|
27 |
-
st.session_state['user_group'] = backend
|
28 |
-
|
29 |
-
# # with st.sidebar:
|
30 |
-
# st.sidebar.title("🎈Explore Data Panel")
|
31 |
-
|
32 |
-
st.title("Explore Data Panel for OCT Image Analysis")
|
33 |
-
|
34 |
-
st.write(
|
35 |
-
"""
|
36 |
-
##
|
37 |
-
Examining the data is the key factor for better understanding of the AI system.Therefore,this panel introduces deta-centric approach by providing details regarding forllowing aspect of the data .
|
38 |
-
""")
|
39 |
-
|
40 |
-
|
41 |
-
list_test = """<ul>
|
42 |
-
<li>Data Source Information: This tab contains information regarding following aspect of the data:
|
43 |
-
modality,format, domain, ethical considerations including license and data version. </li>
|
44 |
-
<li>Exploratory Data Stats: This tab includes exploratory data analysis info covering following aspects: train/validation/test data division,summary statistics, sample visualization from each category.</li>
|
45 |
-
<li>Data Onboarding: This tab provides details of data pre-processing and post-processing steps applied over the dataset before traning, and data augmentations.</li>
|
46 |
-
</ul>"""
|
47 |
-
st.markdown(list_test, unsafe_allow_html=True)
|
48 |
-
|
49 |
-
|
50 |
-
if backend == "Developer":
|
51 |
-
get_product_dev_page_layout()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/1_💾_Data_Panel.py
DELETED
@@ -1,57 +0,0 @@
|
|
1 |
-
# Read
|
2 |
-
import streamlit as st
|
3 |
-
import sys,os
|
4 |
-
|
5 |
-
|
6 |
-
sys.path.append(f'{os.getcwd()}/utils')
|
7 |
-
from utils.data_users import get_product_dev_page_layout,get_product_manager_page_layout,get_product_practitioner_page_layout
|
8 |
-
|
9 |
-
|
10 |
-
print(os.getcwd())
|
11 |
-
# st.write(st.session_state.user_group)
|
12 |
-
USER_GROUPS = ["Developer", "Manager", "Practitioner"]
|
13 |
-
|
14 |
-
st.set_page_config(layout="wide")
|
15 |
-
|
16 |
-
if 'user_group' not in st.session_state:
|
17 |
-
index_tmp = 0
|
18 |
-
else:
|
19 |
-
index_tmp = USER_GROUPS.index(st.session_state['user_group'])
|
20 |
-
|
21 |
-
#Sidebar for USER GROUPS
|
22 |
-
st.sidebar.title("USER GROUPS")
|
23 |
-
backend = st.sidebar.selectbox(
|
24 |
-
"Select User-Group ", USER_GROUPS, index=index_tmp
|
25 |
-
)
|
26 |
-
|
27 |
-
st.session_state['user_group'] = backend
|
28 |
-
|
29 |
-
# # with st.sidebar:
|
30 |
-
# st.sidebar.title("🎈Explore Data Panel")
|
31 |
-
|
32 |
-
st.title("Data Panel for OCT Image Analysis")
|
33 |
-
|
34 |
-
st.write(
|
35 |
-
"""
|
36 |
-
##
|
37 |
-
To gain a comprehensive understanding of the AI system, examining the data has a crucial role. The Data Panel adopts a data-centric approach, providing detailed information about the following aspects of the data:
|
38 |
-
""")
|
39 |
-
|
40 |
-
|
41 |
-
list_test = """<ul>
|
42 |
-
<li>Data Source Information contains information related to the modality, format, domain, ethical considerations, including licensing and data version. </li>
|
43 |
-
<li>Exploratory Data Stats presents exploratory data analysis information covering train/validation/test data division, summary statistics, and sample visualization from each category. </li>
|
44 |
-
<li>Data Onboarding provides information about the data pre-processing and post-processing steps applied to the dataset before training, as well as any data augmentations that were used.</li>
|
45 |
-
</ul>"""
|
46 |
-
st.markdown(list_test, unsafe_allow_html=True)
|
47 |
-
|
48 |
-
|
49 |
-
if backend == "Developer":
|
50 |
-
get_product_dev_page_layout()
|
51 |
-
|
52 |
-
|
53 |
-
if backend == "Manager":
|
54 |
-
get_product_manager_page_layout()
|
55 |
-
|
56 |
-
if backend == "Practitioner":
|
57 |
-
get_product_practitioner_page_layout()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/2_📝_Model.py
DELETED
@@ -1,46 +0,0 @@
|
|
1 |
-
import streamlit as st
|
2 |
-
import sys,os
|
3 |
-
|
4 |
-
|
5 |
-
sys.path.append(f'{os.getcwd()}/utils')
|
6 |
-
from utils.model_users import get_product_dev_page_layout
|
7 |
-
|
8 |
-
# st.write(st.session_state.user_group)
|
9 |
-
USER_GROUPS = ["Developer", "Manager", "Practitioner"]
|
10 |
-
|
11 |
-
st.set_page_config(layout="wide")
|
12 |
-
|
13 |
-
if 'user_group' not in st.session_state:
|
14 |
-
index_tmp = 0
|
15 |
-
else:
|
16 |
-
index_tmp = USER_GROUPS.index(st.session_state['user_group'])
|
17 |
-
|
18 |
-
#Sidebar for USER GROUPS
|
19 |
-
st.sidebar.title("USER GROUPS")
|
20 |
-
backend = st.sidebar.selectbox(
|
21 |
-
"Select User-Group ", USER_GROUPS, index=index_tmp
|
22 |
-
)
|
23 |
-
|
24 |
-
st.session_state['user_group'] = backend
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
st.title("Explore Model Panel for OCT Image Analysis")
|
29 |
-
st.write(
|
30 |
-
"""
|
31 |
-
The users can find following information regarding the AI model developed for the task: what the mode does, how it was developed and how it is used. Thus, we provide answers
|
32 |
-
to those questions via below described tabs.
|
33 |
-
""")
|
34 |
-
|
35 |
-
list_test = """<ul>
|
36 |
-
<li>Model generic information: This tab contains summary of the model’s details, including its main features, capabilities, and intended use.
|
37 |
-
It also hihglights the model’s behaviour, such as the type of data inputs(image, feature etc) it can handle and the types of outputs it produces.</li>
|
38 |
-
<li>Model development information: The tab includes information on the hyperparameters, model development framework such as Tensorflow or PyTorch, and other technical details. It also includes a complete analysis of the model’s inference performance, such as the model size,
|
39 |
-
hardware-specific (GPU and CPU) inference time,and speed, as well as reproducibility check list.</li>
|
40 |
-
<li>Model deployment information: This tab provides information on how the model is used in production, including details on the inference speed and latency,
|
41 |
-
and how users can access and interact with the model in production.</li>
|
42 |
-
</ul>"""
|
43 |
-
st.markdown(list_test, unsafe_allow_html=True)
|
44 |
-
|
45 |
-
if backend == "Developer":
|
46 |
-
get_product_dev_page_layout()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/2_📝_Model_Panel.py
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
import streamlit as st
|
2 |
-
import sys,os
|
3 |
-
|
4 |
-
|
5 |
-
sys.path.append(f'{os.getcwd()}/utils')
|
6 |
-
from utils.model_users import get_product_dev_page_layout,get_product_manager_page_layout,get_product_practitioner_page_layout
|
7 |
-
|
8 |
-
# st.write(st.session_state.user_group)
|
9 |
-
USER_GROUPS = ["Developer", "Manager", "Practitioner"]
|
10 |
-
|
11 |
-
st.set_page_config(layout="wide")
|
12 |
-
|
13 |
-
if 'user_group' not in st.session_state:
|
14 |
-
index_tmp = 0
|
15 |
-
else:
|
16 |
-
index_tmp = USER_GROUPS.index(st.session_state['user_group'])
|
17 |
-
|
18 |
-
#Sidebar for USER GROUPS
|
19 |
-
st.sidebar.title("USER GROUPS")
|
20 |
-
backend = st.sidebar.selectbox(
|
21 |
-
"Select User-Group ", USER_GROUPS, index=index_tmp
|
22 |
-
)
|
23 |
-
|
24 |
-
st.session_state['user_group'] = backend
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
st.title("Model Panel for OCT Image Analysis")
|
29 |
-
st.write(
|
30 |
-
"""
|
31 |
-
The users can find following information regarding the AI model developed for the task: what is the purpose of the model, how it was developed and how it is used. Thus,answers
|
32 |
-
to these questions areprovided via the tabs described below.
|
33 |
-
""")
|
34 |
-
|
35 |
-
list_test = """<ul>
|
36 |
-
<li>Model Generic information contains a summary of the model’s details, including its main features, capabilities, and intended use.
|
37 |
-
It also highlights the model’s behaviour, such as the type of data inputs(image, feature etc) it can handle and the types of outputs it produces.</li>
|
38 |
-
<li>Model Development Information includes information on the hyperparameters, model development framework/library such as Tensorflow or PyTorch, and other technical details. It also includes a complete analysis of the model’s inference performance, such as the model size,
|
39 |
-
hardware-specific (GPU and CPU) inference time,and speed, as well as reproducibility check list.</li>
|
40 |
-
<li>Model Deployment Information provides information on how the model is used in production, including details on the inference speed and latency,
|
41 |
-
and how users can access and interact with the model in production.</li>
|
42 |
-
</ul>"""
|
43 |
-
st.markdown(list_test, unsafe_allow_html=True)
|
44 |
-
|
45 |
-
if backend == "Developer":
|
46 |
-
get_product_dev_page_layout()
|
47 |
-
|
48 |
-
if backend == "Manager":
|
49 |
-
get_product_manager_page_layout()
|
50 |
-
|
51 |
-
if backend == "Practitioner":
|
52 |
-
get_product_practitioner_page_layout()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/3_🎯_Evaluation_Panel.py
DELETED
@@ -1,41 +0,0 @@
|
|
1 |
-
import streamlit as st
|
2 |
-
import sys,os
|
3 |
-
|
4 |
-
sys.path.append(f'{os.getcwd()}/utils')
|
5 |
-
|
6 |
-
from utils.eval_users import get_product_dev_page_layout
|
7 |
-
|
8 |
-
# st.write(st.session_state.user_group)
|
9 |
-
USER_GROUPS = ["Developer", "Manager", "Practitioner"]
|
10 |
-
|
11 |
-
st.set_page_config(layout="wide")
|
12 |
-
|
13 |
-
if 'user_group' not in st.session_state:
|
14 |
-
index_tmp = 0
|
15 |
-
else:
|
16 |
-
index_tmp = USER_GROUPS.index(st.session_state['user_group'])
|
17 |
-
|
18 |
-
#Sidebar for USER GROUPS
|
19 |
-
st.sidebar.title("USER GROUPS")
|
20 |
-
backend = st.sidebar.selectbox(
|
21 |
-
"Select User-Group ", USER_GROUPS, index=index_tmp
|
22 |
-
)
|
23 |
-
|
24 |
-
st.session_state['user_group'] = backend
|
25 |
-
|
26 |
-
st.title("Explore Performance Panel for OCT Image Analysis")
|
27 |
-
st.write(
|
28 |
-
"""
|
29 |
-
This panel provides information on the evaluation of the AI model’s performance, including details on the metrics used and the results of the evaluation. USerrs can also find
|
30 |
-
our notes regarding the issues. The performance metric visualizations and samples of failure and success cases are given in in this panel as well.""")
|
31 |
-
|
32 |
-
list_test = """<ul>
|
33 |
-
<li>Evaluation Metrics: This tab explains the details of the performance metrics and how each metric is calculated.
|
34 |
-
Users can also find the characteristics of the evaluation data set. </li>
|
35 |
-
<li>Performance Summary: This tab includes visualizations of the performance metrics over test set.</li>
|
36 |
-
<li>Limitations: This tab provides examples of observed failure and success cases, along with visualizations and any possible observations behind the failure cases.</li>
|
37 |
-
</ul>"""
|
38 |
-
st.markdown(list_test, unsafe_allow_html=True)
|
39 |
-
|
40 |
-
if backend == "Developer":
|
41 |
-
get_product_dev_page_layout()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/3_🎯_Performance_Evaluation_Panel.py
DELETED
@@ -1,42 +0,0 @@
|
|
1 |
-
import streamlit as st
|
2 |
-
import sys,os
|
3 |
-
|
4 |
-
sys.path.append(f'{os.getcwd()}/utils')
|
5 |
-
|
6 |
-
from utils.eval_users import get_product_dev_page_layout
|
7 |
-
|
8 |
-
# st.write(st.session_state.user_group)
|
9 |
-
USER_GROUPS = ["Developer", "Manager", "Practitioner"]
|
10 |
-
|
11 |
-
st.set_page_config(layout="wide")
|
12 |
-
|
13 |
-
if 'user_group' not in st.session_state:
|
14 |
-
index_tmp = 0
|
15 |
-
else:
|
16 |
-
index_tmp = USER_GROUPS.index(st.session_state['user_group'])
|
17 |
-
|
18 |
-
#Sidebar for USER GROUPS
|
19 |
-
st.sidebar.title("USER GROUPS")
|
20 |
-
backend = st.sidebar.selectbox(
|
21 |
-
"Select User-Group ", USER_GROUPS, index=index_tmp
|
22 |
-
)
|
23 |
-
|
24 |
-
st.session_state['user_group'] = backend
|
25 |
-
|
26 |
-
st.title("Performance Evaluation Panel for OCT Image Analysis")
|
27 |
-
st.write(
|
28 |
-
"""
|
29 |
-
This panel provides information on the evaluation of the AI model’s performance, including details on the metrics used and the results of the evaluation. Users can also find
|
30 |
-
our notes regarding the encountered issues. The performance metric visualizations and samples of failure and success cases are given in this panel as well.""")
|
31 |
-
|
32 |
-
list_test = """<ul>
|
33 |
-
<li>Evaluation Metrics explains the details of the performance metrics and how each metric is calculated. </li>
|
34 |
-
<li>Performance Summary includes visualizations of the performance metrics over the test set. Users can also find the characteristics of the evaluation data set</li>
|
35 |
-
<li>Issues and Limitations provides examples of observed failure cases, along with visualizations and any possible observations behind the failure cases.</li>
|
36 |
-
</ul>"""
|
37 |
-
st.markdown(list_test, unsafe_allow_html=True)
|
38 |
-
|
39 |
-
|
40 |
-
get_product_dev_page_layout()
|
41 |
-
# if backend == "Developer":
|
42 |
-
# get_product_dev_page_layout()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/4_🔬_Decision_Exploration_Panel.py
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
import streamlit as st
|
2 |
-
import sys,os
|
3 |
-
|
4 |
-
sys.path.append(f'{os.getcwd()}/utils')
|
5 |
-
|
6 |
-
from utils.decisions_users import get_product_dev_page_layout
|
7 |
-
|
8 |
-
# st.write(st.session_state.user_group)
|
9 |
-
USER_GROUPS = ["Developer", "Manager", "Practitioner"]
|
10 |
-
|
11 |
-
st.set_page_config(layout="wide")
|
12 |
-
|
13 |
-
if 'user_group' not in st.session_state:
|
14 |
-
index_tmp = 0
|
15 |
-
else:
|
16 |
-
index_tmp = USER_GROUPS.index(st.session_state['user_group'])
|
17 |
-
|
18 |
-
#Sidebar for USER GROUPS
|
19 |
-
st.sidebar.title("USER GROUPS")
|
20 |
-
backend = st.sidebar.selectbox(
|
21 |
-
"Select User-Group ", USER_GROUPS, index=index_tmp
|
22 |
-
)
|
23 |
-
|
24 |
-
st.session_state['user_group'] = backend
|
25 |
-
|
26 |
-
st.title("Decision Exploration Panel for OCT Image Analysis")
|
27 |
-
st.write(
|
28 |
-
"""
|
29 |
-
This panel provides provides both local and global explanations.
|
30 |
-
""")
|
31 |
-
|
32 |
-
list_test = """<ul>
|
33 |
-
<li>Global Explanations: this tab illustrates both representative samples and task-specific borderline samples in the training data from each category in the classification task. These samples enable users
|
34 |
-
to understand which inputs contribute to the model’s decisions. On the other
|
35 |
-
hand, borderline cases can be used to highlight potential failure cases. Also, one can see a manifold visualization
|
36 |
-
of both representative and borderline samples here.</li>
|
37 |
-
<li>Instance Level Explanations: this panel is intended for model sensitivity analysis, decision correction, and decision highlighting using both local expla-
|
38 |
-
nation methods and presenting samples similar to the target sample from the
|
39 |
-
representative samples of the training set. [GradCAM](https://arxiv.org/abs/1610.02391) method is used as a post-hoc explanation technique to highlight aregion of interest.</li>
|
40 |
-
</ul>"""
|
41 |
-
st.markdown(list_test, unsafe_allow_html=True)
|
42 |
-
|
43 |
-
# if backend == "Developer":
|
44 |
-
# get_product_dev_page_layout()
|
45 |
-
if backend == "Manager":
|
46 |
-
get_product_dev_page_layout(user_type ="Manager")
|
47 |
-
else:
|
48 |
-
get_product_dev_page_layout()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|