Spaces:
Running
Running
Upload folder using huggingface_hub
Browse files- app/draw_diagram.py +65 -16
- app/show_examples.py +19 -13
app/draw_diagram.py
CHANGED
@@ -55,23 +55,39 @@ def draw(folder_name, category_name, dataset_name, metrics, cus_sort=True):
|
|
55 |
|
56 |
models = st.multiselect("Please choose the model",
|
57 |
sorted(chart_data['model_show'].tolist()),
|
58 |
-
default = sorted(chart_data['model_show'].tolist())
|
|
|
59 |
|
60 |
chart_data = chart_data[chart_data['model_show'].isin(models)]
|
61 |
-
|
62 |
chart_data = chart_data.sort_values(by=[new_dataset_name], ascending=cus_sort).dropna(axis=0)
|
63 |
|
64 |
-
# import pdb
|
65 |
-
# pdb.set_trace()
|
66 |
-
|
67 |
if len(chart_data) == 0:
|
68 |
return
|
|
|
|
|
|
|
69 |
|
70 |
-
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
options = {
|
74 |
-
"title": {"text": f"{display_names[folder_name.upper()]}"},
|
|
|
75 |
"tooltip": {
|
76 |
"trigger": "axis",
|
77 |
"axisPointer": {"type": "cross", "label": {"backgroundColor": "#6a7985"}},
|
@@ -120,7 +136,7 @@ def draw(folder_name, category_name, dataset_name, metrics, cus_sort=True):
|
|
120 |
# st.divider()
|
121 |
with st.container():
|
122 |
# st.write("")
|
123 |
-
st.markdown('#####
|
124 |
# custom_css = """
|
125 |
|
126 |
# """
|
@@ -130,16 +146,46 @@ def draw(folder_name, category_name, dataset_name, metrics, cus_sort=True):
|
|
130 |
|
131 |
chart_data['model_link'] = chart_data['model_show'].map(model_link)
|
132 |
|
133 |
-
# import pdb
|
134 |
-
# pdb.set_trace()
|
135 |
-
|
136 |
chart_data_table = chart_data[['model_show', chart_data.columns[1], chart_data.columns[3]]]
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
st.dataframe(
|
139 |
-
|
140 |
column_config={
|
141 |
'model_show': 'Model',
|
142 |
-
chart_data_table.columns[1]: {'alignment': '
|
143 |
"model_link": st.column_config.LinkColumn(
|
144 |
"Model Link",
|
145 |
# # # help="",
|
@@ -151,6 +197,9 @@ def draw(folder_name, category_name, dataset_name, metrics, cus_sort=True):
|
|
151 |
hide_index=True,
|
152 |
use_container_width=True
|
153 |
)
|
|
|
|
|
|
|
154 |
|
155 |
|
156 |
# s = ''
|
@@ -210,8 +259,8 @@ def draw(folder_name, category_name, dataset_name, metrics, cus_sort=True):
|
|
210 |
'''
|
211 |
show samples
|
212 |
'''
|
213 |
-
if dataset_name in ['Earnings21-Test', 'Earnings22-Test', 'Tedlium3-Long-form-Test']:
|
214 |
pass
|
215 |
else:
|
216 |
-
show_examples(category_name, dataset_name, chart_data['Model'].tolist())
|
217 |
|
|
|
55 |
|
56 |
models = st.multiselect("Please choose the model",
|
57 |
sorted(chart_data['model_show'].tolist()),
|
58 |
+
default = sorted(chart_data['model_show'].tolist()),
|
59 |
+
)
|
60 |
|
61 |
chart_data = chart_data[chart_data['model_show'].isin(models)]
|
|
|
62 |
chart_data = chart_data.sort_values(by=[new_dataset_name], ascending=cus_sort).dropna(axis=0)
|
63 |
|
|
|
|
|
|
|
64 |
if len(chart_data) == 0:
|
65 |
return
|
66 |
+
|
67 |
+
# Get Values
|
68 |
+
data_values = chart_data.iloc[:, 1]
|
69 |
|
70 |
+
# Calculate Q1 and Q3
|
71 |
+
q1 = data_values.quantile(0.25)
|
72 |
+
q3 = data_values.quantile(0.75)
|
73 |
+
|
74 |
+
# Calculate IQR
|
75 |
+
iqr = q3 - q1
|
76 |
+
|
77 |
+
# Define lower and upper bounds (1.5*IQR is a common threshold)
|
78 |
+
lower_bound = q1 - 1.5 * iqr
|
79 |
+
upper_bound = q3 + 1.5 * iqr
|
80 |
+
|
81 |
+
# Filter data within the bounds
|
82 |
+
filtered_data = data_values[(data_values >= lower_bound) & (data_values <= upper_bound)]
|
83 |
+
|
84 |
+
# Calculate min and max values after outlier handling
|
85 |
+
min_value = round(filtered_data.min() - 0.1 * filtered_data.min(), 3)
|
86 |
+
max_value = round(filtered_data.max() + 0.1 * filtered_data.max(), 3)
|
87 |
|
88 |
options = {
|
89 |
+
#"title": {"text": f"{display_names[folder_name.upper()]}"},
|
90 |
+
"title": {"text": f"{dataset_name}"},
|
91 |
"tooltip": {
|
92 |
"trigger": "axis",
|
93 |
"axisPointer": {"type": "cross", "label": {"backgroundColor": "#6a7985"}},
|
|
|
136 |
# st.divider()
|
137 |
with st.container():
|
138 |
# st.write("")
|
139 |
+
st.markdown('##### Results')
|
140 |
# custom_css = """
|
141 |
|
142 |
# """
|
|
|
146 |
|
147 |
chart_data['model_link'] = chart_data['model_show'].map(model_link)
|
148 |
|
|
|
|
|
|
|
149 |
chart_data_table = chart_data[['model_show', chart_data.columns[1], chart_data.columns[3]]]
|
150 |
|
151 |
+
cur_dataset_name = chart_data_table.columns[1]
|
152 |
+
print(cur_dataset_name)
|
153 |
+
|
154 |
+
if cur_dataset_name in [
|
155 |
+
'librispeech_test_clean',
|
156 |
+
'librispeech_test_other',
|
157 |
+
'common_voice_15_en_test',
|
158 |
+
'peoples_speech_test',
|
159 |
+
'gigaspeech_test',
|
160 |
+
'earnings21_test',
|
161 |
+
'earnings22_test',
|
162 |
+
'tedlium3_test',
|
163 |
+
'tedlium3_long_form_test',
|
164 |
+
'imda_part1_asr_test',
|
165 |
+
'imda_part2_asr_test',
|
166 |
+
|
167 |
+
'aishell_asr_zh_test',
|
168 |
+
]:
|
169 |
+
|
170 |
+
styled_df = chart_data_table.style.highlight_min(
|
171 |
+
subset=[chart_data_table.columns[1]], color='yellow'
|
172 |
+
)
|
173 |
+
else:
|
174 |
+
|
175 |
+
chart_data_table = chart_data_table.sort_values(
|
176 |
+
by=chart_data_table.columns[1],
|
177 |
+
ascending=False
|
178 |
+
).reset_index(drop=True)
|
179 |
+
|
180 |
+
styled_df = chart_data_table.style.highlight_max(
|
181 |
+
subset=[chart_data_table.columns[1]], color='yellow'
|
182 |
+
)
|
183 |
+
|
184 |
st.dataframe(
|
185 |
+
styled_df,
|
186 |
column_config={
|
187 |
'model_show': 'Model',
|
188 |
+
chart_data_table.columns[1]: {'alignment': 'left'},
|
189 |
"model_link": st.column_config.LinkColumn(
|
190 |
"Model Link",
|
191 |
# # # help="",
|
|
|
197 |
hide_index=True,
|
198 |
use_container_width=True
|
199 |
)
|
200 |
+
|
201 |
+
|
202 |
+
|
203 |
|
204 |
|
205 |
# s = ''
|
|
|
259 |
'''
|
260 |
show samples
|
261 |
'''
|
262 |
+
if dataset_name in ['Earnings21-Test', 'Earnings22-Test', 'Tedlium3-Test', 'Tedlium3-Long-form-Test']:
|
263 |
pass
|
264 |
else:
|
265 |
+
show_examples(category_name, dataset_name, chart_data['Model'].tolist(), display_model_names)
|
266 |
|
app/show_examples.py
CHANGED
@@ -2,7 +2,7 @@ import streamlit as st
|
|
2 |
import datasets
|
3 |
import numpy as np
|
4 |
|
5 |
-
def show_examples(category_name, dataset_name, model_lists):
|
6 |
st.divider()
|
7 |
sample_folder = f"./examples/{category_name}/{dataset_name}"
|
8 |
|
@@ -10,7 +10,7 @@ def show_examples(category_name, dataset_name, model_lists):
|
|
10 |
|
11 |
for index in range(len(dataset)):
|
12 |
with st.container():
|
13 |
-
st.markdown(f'#####
|
14 |
col1, col2 = st.columns([0.3, 0.7], vertical_alignment="center")
|
15 |
|
16 |
# with col1:
|
@@ -83,10 +83,11 @@ def show_examples(category_name, dataset_name, model_lists):
|
|
83 |
with st.container():
|
84 |
custom_css = """
|
85 |
<style>
|
86 |
-
.my-container-table {
|
87 |
-
background-color: #
|
88 |
padding: 10px;
|
89 |
border-radius: 5px;
|
|
|
90 |
# height: 50px;
|
91 |
word-wrap: break-word
|
92 |
}
|
@@ -97,16 +98,22 @@ def show_examples(category_name, dataset_name, model_lists):
|
|
97 |
model_lists.sort()
|
98 |
|
99 |
s = f"""<tr>
|
100 |
-
<td>
|
101 |
-
<td>{question_text}
|
102 |
-
|
103 |
-
|
|
|
|
|
|
|
104 |
if dataset_name in ['CN-College-Listen-MCQ-Test', 'DREAM-TTS-MCQ-Test']:
|
105 |
for model in model_lists:
|
106 |
try:
|
107 |
s += f"""<tr>
|
108 |
-
<td>{model}</td>
|
109 |
-
<td
|
|
|
|
|
|
|
110 |
<td>{dataset[index][model]['model_prediction']}</td>
|
111 |
</tr>"""
|
112 |
except:
|
@@ -116,15 +123,14 @@ def show_examples(category_name, dataset_name, model_lists):
|
|
116 |
for model in model_lists:
|
117 |
try:
|
118 |
s += f"""<tr>
|
119 |
-
<td>{model}</td>
|
120 |
<td>{dataset[index][model]['text']}</td>
|
121 |
<td>{dataset[index][model]['model_prediction']}</td>
|
122 |
</tr>"""
|
123 |
except:
|
124 |
print(f"{model} is not in {dataset_name}")
|
125 |
continue
|
126 |
-
|
127 |
-
# pdb.set_trace()
|
128 |
|
129 |
body_details = f"""<table style="table-layout: fixed; width:100%">
|
130 |
<thead>
|
|
|
2 |
import datasets
|
3 |
import numpy as np
|
4 |
|
5 |
+
def show_examples(category_name, dataset_name, model_lists, display_model_names):
|
6 |
st.divider()
|
7 |
sample_folder = f"./examples/{category_name}/{dataset_name}"
|
8 |
|
|
|
10 |
|
11 |
for index in range(len(dataset)):
|
12 |
with st.container():
|
13 |
+
st.markdown(f'##### Example-{index+1}')
|
14 |
col1, col2 = st.columns([0.3, 0.7], vertical_alignment="center")
|
15 |
|
16 |
# with col1:
|
|
|
83 |
with st.container():
|
84 |
custom_css = """
|
85 |
<style>
|
86 |
+
.my-container-table, p.my-container-text {
|
87 |
+
background-color: #fcf8dc;
|
88 |
padding: 10px;
|
89 |
border-radius: 5px;
|
90 |
+
font-size: 13px;
|
91 |
# height: 50px;
|
92 |
word-wrap: break-word
|
93 |
}
|
|
|
98 |
model_lists.sort()
|
99 |
|
100 |
s = f"""<tr>
|
101 |
+
<td><b>REFERENCE</td>
|
102 |
+
<td><b>{question_text.replace('(A)', '<br>(A)').replace('(B)', '<br>(B)').replace('(C)', '<br>(C)')}
|
103 |
+
</td>
|
104 |
+
<td><b>{dataset[index]['answer']['text']}
|
105 |
+
</td>
|
106 |
+
</tr>
|
107 |
+
"""
|
108 |
if dataset_name in ['CN-College-Listen-MCQ-Test', 'DREAM-TTS-MCQ-Test']:
|
109 |
for model in model_lists:
|
110 |
try:
|
111 |
s += f"""<tr>
|
112 |
+
<td>{display_model_names[model]}</td>
|
113 |
+
<td>
|
114 |
+
{dataset[index][model]['text'].replace('Choices:', '<br>Choices:').replace('(A)', '<br>(A)').replace('(B)', '<br>(B)').replace('(C)', '<br>(C)')
|
115 |
+
}
|
116 |
+
</td>
|
117 |
<td>{dataset[index][model]['model_prediction']}</td>
|
118 |
</tr>"""
|
119 |
except:
|
|
|
123 |
for model in model_lists:
|
124 |
try:
|
125 |
s += f"""<tr>
|
126 |
+
<td>{display_model_names[model]}</td>
|
127 |
<td>{dataset[index][model]['text']}</td>
|
128 |
<td>{dataset[index][model]['model_prediction']}</td>
|
129 |
</tr>"""
|
130 |
except:
|
131 |
print(f"{model} is not in {dataset_name}")
|
132 |
continue
|
133 |
+
|
|
|
134 |
|
135 |
body_details = f"""<table style="table-layout: fixed; width:100%">
|
136 |
<thead>
|