Spaces:
Runtime error
Runtime error
Michele Cafagna
commited on
Commit
·
efe64cb
1
Parent(s):
cd38731
added purity and diversity scores
Browse files- app.py +31 -20
- requirements.txt +2 -1
app.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
import streamlit as st
|
2 |
from datasets import load_dataset
|
|
|
3 |
|
4 |
st.set_page_config(page_title="High-Level dataset")
|
5 |
|
@@ -11,10 +12,15 @@ QS = {
|
|
11 |
}
|
12 |
SPLITS = ["test", "train"]
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
@st.cache
|
15 |
def load_data(split):
|
16 |
|
17 |
-
#with st.spinner('Loading the data...'):
|
18 |
dataset = load_dataset("michelecafagna26/hl")
|
19 |
|
20 |
coco2id = {int(dataset[split][i]['file_name'].replace("COCO_train2014_", "").replace(".jpg", "")): i for i in
|
@@ -25,20 +31,27 @@ def load_data(split):
|
|
25 |
|
26 |
def write_obj(dataset, img_id, options, split, list_type="num", show_questions=False,
|
27 |
show_conf=False):
|
|
|
28 |
st.image(dataset[split][img_id]['image'])
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
#
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
for field in options:
|
43 |
|
44 |
st.markdown(f"## {field.capitalize()}")
|
@@ -61,7 +74,6 @@ def write_obj(dataset, img_id, options, split, list_type="num", show_questions=F
|
|
61 |
|
62 |
|
63 |
def main():
|
64 |
-
|
65 |
st.title('High-Level Dataset')
|
66 |
|
67 |
show_questions = st.sidebar.checkbox('Questions')
|
@@ -75,19 +87,18 @@ def main():
|
|
75 |
'Split',
|
76 |
SPLITS)
|
77 |
|
78 |
-
|
79 |
dataset, coco2id = load_data(split)
|
80 |
|
81 |
# sidebar
|
82 |
choosen_image = st.selectbox(
|
83 |
'Select an image',
|
84 |
list(coco2id.keys()),
|
85 |
-
help="write a key like:
|
86 |
)
|
87 |
|
88 |
-
write_obj(dataset, coco2id[choosen_image], options=options, split=split,
|
89 |
-
|
90 |
|
91 |
|
92 |
-
if __name__=="__main__":
|
93 |
-
main()
|
|
|
1 |
import streamlit as st
|
2 |
from datasets import load_dataset
|
3 |
+
import numpy as np
|
4 |
|
5 |
st.set_page_config(page_title="High-Level dataset")
|
6 |
|
|
|
12 |
}
|
13 |
SPLITS = ["test", "train"]
|
14 |
|
15 |
+
AVG_PURITY = 1.10
|
16 |
+
|
17 |
+
AVG_DIVERSITY = 0.872819
|
18 |
+
MIN_DIVERSITY = 0
|
19 |
+
MAX_DIVERSITY = 100
|
20 |
+
|
21 |
@st.cache
|
22 |
def load_data(split):
|
23 |
|
|
|
24 |
dataset = load_dataset("michelecafagna26/hl")
|
25 |
|
26 |
coco2id = {int(dataset[split][i]['file_name'].replace("COCO_train2014_", "").replace(".jpg", "")): i for i in
|
|
|
31 |
|
32 |
def write_obj(dataset, img_id, options, split, list_type="num", show_questions=False,
|
33 |
show_conf=False):
|
34 |
+
|
35 |
st.image(dataset[split][img_id]['image'])
|
36 |
|
37 |
+
item_purity = np.mean([np.mean(dataset[split][img_id]['purity'][k]) for k in dataset[split][img_id]['purity']])
|
38 |
+
item_diversity = np.mean(list(dataset[split][img_id]['diversity'].values()))
|
39 |
+
|
40 |
+
# normalize
|
41 |
+
item_diversity = 1-(item_diversity-MIN_DIVERSITY)/(MAX_DIVERSITY-MIN_DIVERSITY)
|
42 |
+
|
43 |
+
col1, col2 = st.columns(2)
|
44 |
+
|
45 |
+
col1.metric(label="Diversity score",
|
46 |
+
value=round(item_diversity, 2),
|
47 |
+
delta=round(item_diversity - AVG_DIVERSITY, 2),
|
48 |
+
help="Item's internal lexical diversity.\n Positive delta means higher then the average")
|
49 |
+
|
50 |
+
col2.metric(label="Purity score",
|
51 |
+
value=round(item_purity, 2),
|
52 |
+
delta=round(item_purity - AVG_PURITY, 2),
|
53 |
+
help="Item's internal semantic similarity.\n Positive delta means higher then the average")
|
54 |
+
|
55 |
for field in options:
|
56 |
|
57 |
st.markdown(f"## {field.capitalize()}")
|
|
|
74 |
|
75 |
|
76 |
def main():
|
|
|
77 |
st.title('High-Level Dataset')
|
78 |
|
79 |
show_questions = st.sidebar.checkbox('Questions')
|
|
|
87 |
'Split',
|
88 |
SPLITS)
|
89 |
|
|
|
90 |
dataset, coco2id = load_data(split)
|
91 |
|
92 |
# sidebar
|
93 |
choosen_image = st.selectbox(
|
94 |
'Select an image',
|
95 |
list(coco2id.keys()),
|
96 |
+
help="write a key like: 7603"
|
97 |
)
|
98 |
|
99 |
+
write_obj(dataset, coco2id[choosen_image], options=options, split=split, list_type="num",
|
100 |
+
show_questions=show_questions, show_conf=show_conf)
|
101 |
|
102 |
|
103 |
+
if __name__ == "__main__":
|
104 |
+
main()
|
requirements.txt
CHANGED
@@ -1,2 +1,3 @@
|
|
1 |
datasets==2.9.0
|
2 |
-
streamlit==1.17.0
|
|
|
|
1 |
datasets==2.9.0
|
2 |
+
streamlit==1.17.0
|
3 |
+
numpy==1.21.1
|