Spaces:
Sleeping
Sleeping
update results display
Browse files- pages/{Resutls.py → Results.py} +62 -46
pages/{Resutls.py → Results.py}
RENAMED
@@ -40,52 +40,68 @@ class DashboardApp:
|
|
40 |
|
41 |
# sort the modelVersion_standings by value into a list of tuples in descending order
|
42 |
modelVersion_standings = sorted(modelVersion_standings.items(), key=lambda x: x[1], reverse=True)
|
43 |
-
|
44 |
-
st.
|
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 |
-
st.
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
|
91 |
def score_calculator(self, results, db_table):
|
|
|
40 |
|
41 |
# sort the modelVersion_standings by value into a list of tuples in descending order
|
42 |
modelVersion_standings = sorted(modelVersion_standings.items(), key=lambda x: x[1], reverse=True)
|
43 |
+
|
44 |
+
tab1, tab2 = st.tabs(['Top Picks', 'Detailed Info'])
|
45 |
+
|
46 |
+
with tab1:
|
47 |
+
# show the top 3 in metric cards
|
48 |
+
st.write('## Top picks')
|
49 |
+
n = 3
|
50 |
+
metric_cols = st.columns(n)
|
51 |
+
image_display = st.empty()
|
52 |
+
|
53 |
+
for i in range(n):
|
54 |
+
with metric_cols[i]:
|
55 |
+
modelVersion_id = modelVersion_standings[i][0]
|
56 |
+
winning_times = modelVersion_standings[i][1]
|
57 |
+
|
58 |
+
model_name, modelVersion_name, url = self.roster[self.roster['modelVersion_id'] == modelVersion_id][['model_name', 'modelVersion_name', 'modelVersion_url']].values[0]
|
59 |
+
|
60 |
+
metric_card = stylable_container(
|
61 |
+
key="container_with_border",
|
62 |
+
css_styles="""
|
63 |
+
{
|
64 |
+
border: 1.5px solid rgba(49, 51, 63, 0.8);
|
65 |
+
border-left: 0.5rem solid silver;
|
66 |
+
border-radius: 5px;
|
67 |
+
padding: calc(1em + 5px);
|
68 |
+
gap: 0.5em;
|
69 |
+
box-shadow: 0 0 2rem rgba(0, 0, 0, 0.08);
|
70 |
+
overflow-x: scroll;
|
71 |
+
}
|
72 |
+
""",
|
73 |
+
)
|
74 |
+
|
75 |
+
with metric_card:
|
76 |
+
icon = '🥇'if i == 0 else '🥈' if i == 1 else '🥉'
|
77 |
+
st.write(modelVersion_id)
|
78 |
+
st.write(f'### {icon} {model_name}, [{modelVersion_name}](https://civitai.com/models/{modelVersion_id})')
|
79 |
+
st.write(f'Ranking Score: {winning_times}')
|
80 |
+
|
81 |
+
show_image = st.button('Show Image', key=modelVersion_id, use_container_width=True)
|
82 |
+
if show_image:
|
83 |
+
|
84 |
+
images = self.promptBook[self.promptBook['modelVersion_id'] == modelVersion_id]['image_id'].values
|
85 |
+
with image_display.container():
|
86 |
+
st.write('---')
|
87 |
+
st.write(f'### Images generated with {icon} {model_name}, {modelVersion_name}')
|
88 |
+
col_num = 4
|
89 |
+
image_cols = st.columns(col_num)
|
90 |
+
for i in range(len(images)):
|
91 |
+
with image_cols[i % col_num]:
|
92 |
+
image = f"https://modelcofferbucket.s3-accelerate.amazonaws.com/{images[i]}.png"
|
93 |
+
st.image(image, use_column_width=True)
|
94 |
+
|
95 |
+
# st.write('---')
|
96 |
+
# expander = st.expander(f'### {icon} {model_name}, [{modelVersion_name}](https://civitai.com/models/{modelVersion_id})')
|
97 |
+
# with expander:
|
98 |
+
# images = self.promptBook[self.promptBook['modelVersion_id'] == modelVersion_id]['image_id'].values
|
99 |
+
# st.write(images)
|
100 |
+
|
101 |
+
with tab2:
|
102 |
+
st.write('## Detailed information of all selected models')
|
103 |
+
detailed_info = pd.merge(pd.DataFrame(modelVersion_standings, columns=['modelVersion_id', 'ranking_score']), self.roster, on='modelVersion_id')
|
104 |
+
st.data_editor(detailed_info, hide_index=True, disabled=True)
|
105 |
|
106 |
|
107 |
def score_calculator(self, results, db_table):
|