David Pomerenke
commited on
Commit
·
566c57e
1
Parent(s):
d91b022
Speed things up
Browse files- evals/backend.py +4 -5
- evals/countries.py +4 -2
- frontend/src/components/LanguageTable.js +3 -1
evals/backend.py
CHANGED
@@ -32,16 +32,15 @@ async def data(request: Request):
|
|
32 |
data = json.loads(body)
|
33 |
selected_languages = data.get("selectedLanguages", {})
|
34 |
df = results
|
35 |
-
if selected_languages:
|
36 |
-
df = df[df["bcp_47"].isin(l["bcp_47"] for l in selected_languages)]
|
37 |
-
|
38 |
_, lang_results, model_results, task_results = aggregate(df)
|
39 |
-
print(lang_results)
|
40 |
# lang_results = pd.merge(languages, lang_results, on="bcp_47", how="outer")
|
41 |
-
model_table = make_model_table(model_results, models)
|
42 |
language_table = make_language_table(lang_results, languages)
|
43 |
datasets_df = pd.read_json("data/datasets.json")
|
44 |
countries = make_country_table(language_table)
|
|
|
|
|
|
|
|
|
45 |
all_tables = {
|
46 |
"model_table": serialize(model_table),
|
47 |
"language_table": serialize(language_table),
|
|
|
32 |
data = json.loads(body)
|
33 |
selected_languages = data.get("selectedLanguages", {})
|
34 |
df = results
|
|
|
|
|
|
|
35 |
_, lang_results, model_results, task_results = aggregate(df)
|
|
|
36 |
# lang_results = pd.merge(languages, lang_results, on="bcp_47", how="outer")
|
|
|
37 |
language_table = make_language_table(lang_results, languages)
|
38 |
datasets_df = pd.read_json("data/datasets.json")
|
39 |
countries = make_country_table(language_table)
|
40 |
+
if selected_languages:
|
41 |
+
# the filtering is only applied for the model table
|
42 |
+
df = df[df["bcp_47"].isin(lang["bcp_47"] for lang in selected_languages)]
|
43 |
+
model_table = make_model_table(model_results, models)
|
44 |
all_tables = {
|
45 |
"model_table": serialize(model_table),
|
46 |
"language_table": serialize(language_table),
|
evals/countries.py
CHANGED
@@ -1,12 +1,14 @@
|
|
1 |
import re
|
2 |
import xml.etree.ElementTree as ET
|
3 |
from collections import defaultdict
|
4 |
-
|
5 |
import pandas as pd
|
6 |
from language_data.population_data import LANGUAGE_SPEAKING_POPULATION
|
7 |
from language_data.util import data_filename
|
8 |
|
|
|
9 |
|
|
|
10 |
def get_population_data():
|
11 |
filename = data_filename("supplementalData.xml")
|
12 |
root = ET.fromstring(open(filename).read())
|
@@ -28,7 +30,7 @@ def population(bcp_47):
|
|
28 |
}
|
29 |
return items
|
30 |
|
31 |
-
|
32 |
def make_country_table(language_table):
|
33 |
countries = defaultdict(list)
|
34 |
for lang in language_table.itertuples():
|
|
|
1 |
import re
|
2 |
import xml.etree.ElementTree as ET
|
3 |
from collections import defaultdict
|
4 |
+
from joblib.memory import Memory
|
5 |
import pandas as pd
|
6 |
from language_data.population_data import LANGUAGE_SPEAKING_POPULATION
|
7 |
from language_data.util import data_filename
|
8 |
|
9 |
+
cache = Memory(location=".cache", verbose=0).cache
|
10 |
|
11 |
+
@cache
|
12 |
def get_population_data():
|
13 |
filename = data_filename("supplementalData.xml")
|
14 |
root = ET.fromstring(open(filename).read())
|
|
|
30 |
}
|
31 |
return items
|
32 |
|
33 |
+
@cache
|
34 |
def make_country_table(language_table):
|
35 |
countries = defaultdict(list)
|
36 |
for lang in language_table.itertuples():
|
frontend/src/components/LanguageTable.js
CHANGED
@@ -124,7 +124,7 @@ const LanguageTable = ({ data, selectedLanguages, setSelectedLanguages }) => {
|
|
124 |
|
125 |
return (
|
126 |
<DataTable
|
127 |
-
value={data}
|
128 |
header={<>Languages</>}
|
129 |
sortField='speakers'
|
130 |
removableSort
|
@@ -134,9 +134,11 @@ const LanguageTable = ({ data, selectedLanguages, setSelectedLanguages }) => {
|
|
134 |
selection={selectedLanguages}
|
135 |
onSelectionChange={e => setSelectedLanguages(e.value)}
|
136 |
frozenValue={selectedLanguages}
|
|
|
137 |
scrollable
|
138 |
scrollHeight='600px'
|
139 |
id='language-table'
|
|
|
140 |
>
|
141 |
<Column selectionMode="multiple" headerStyle={{ width: '3rem' }} />
|
142 |
<Column
|
|
|
124 |
|
125 |
return (
|
126 |
<DataTable
|
127 |
+
value={data.filter(item => !selectedLanguages.some(l => l.bcp_47 === item.bcp_47))}
|
128 |
header={<>Languages</>}
|
129 |
sortField='speakers'
|
130 |
removableSort
|
|
|
134 |
selection={selectedLanguages}
|
135 |
onSelectionChange={e => setSelectedLanguages(e.value)}
|
136 |
frozenValue={selectedLanguages}
|
137 |
+
virtualScrollerOptions={{ itemSize: 50 }}
|
138 |
scrollable
|
139 |
scrollHeight='600px'
|
140 |
id='language-table'
|
141 |
+
style={{ width: '800px' }}
|
142 |
>
|
143 |
<Column selectionMode="multiple" headerStyle={{ width: '3rem' }} />
|
144 |
<Column
|