Spaces:
Running
Running
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
|