Spaces:
Running
Running
Another try with bokeh2iframe()
Browse files- analyze_winscore.py +32 -0
- app.py +4 -0
- server.py +5 -5
analyze_winscore.py
CHANGED
@@ -21,6 +21,38 @@ def bokeh2html(obj):
|
|
21 |
|
22 |
return bokeh_html
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
def bokeh2json(obj):
|
25 |
from bokeh.document import Document
|
26 |
|
|
|
21 |
|
22 |
return bokeh_html
|
23 |
|
24 |
+
def bokeh2fullhtml(obj):
|
25 |
+
from bokeh.embed import components
|
26 |
+
from bokeh.resources import CDN
|
27 |
+
|
28 |
+
script, div = components(obj, CDN)
|
29 |
+
bokeh_html = f"""<!DOCTYPE html>
|
30 |
+
<html lang="en">
|
31 |
+
<head>
|
32 |
+
{CDN.render()}
|
33 |
+
</head>
|
34 |
+
<body>
|
35 |
+
{div}
|
36 |
+
{script}
|
37 |
+
</body>
|
38 |
+
</html>"""
|
39 |
+
|
40 |
+
return bokeh_html
|
41 |
+
|
42 |
+
def bokeh2iframe(obj):
|
43 |
+
import html
|
44 |
+
|
45 |
+
srcdoc = bokeh2fullhtml(obj)
|
46 |
+
srcdoc = html.escape(srcdoc)
|
47 |
+
|
48 |
+
return f'''
|
49 |
+
<iframe
|
50 |
+
srcdoc="{srcdoc}"
|
51 |
+
width="100%" height="450"
|
52 |
+
style="border:none;"
|
53 |
+
></iframe>
|
54 |
+
'''
|
55 |
+
|
56 |
def bokeh2json(obj):
|
57 |
from bokeh.document import Document
|
58 |
|
app.py
CHANGED
@@ -540,6 +540,10 @@ tr.row_odd {
|
|
540 |
justify-content: normal;
|
541 |
}
|
542 |
|
|
|
|
|
|
|
|
|
543 |
"""
|
544 |
|
545 |
custom_js = """
|
|
|
540 |
justify-content: normal;
|
541 |
}
|
542 |
|
543 |
+
.prose {
|
544 |
+
max-width: none;
|
545 |
+
}
|
546 |
+
|
547 |
"""
|
548 |
|
549 |
custom_js = """
|
server.py
CHANGED
@@ -28,7 +28,7 @@ import pandas as pd
|
|
28 |
from huggingface_hub import HfApi, snapshot_download
|
29 |
|
30 |
from compare_significance import SUPPORTED_METRICS
|
31 |
-
from analyze_winscore import
|
32 |
|
33 |
VISIBLE_METRICS = SUPPORTED_METRICS + ["macro_f1"]
|
34 |
|
@@ -377,12 +377,12 @@ class LeaderboardServer:
|
|
377 |
self.tournament_dataframes_csv = tournament_dataframes_csv
|
378 |
|
379 |
leaderboard_scatter_plots = {kind_of_p_value: {
|
380 |
-
category:
|
381 |
for category in categories
|
382 |
} for kind_of_p_value in self.KINDS_OF_P_VALUE}
|
383 |
|
384 |
leaderboard_heatmaps = {kind_of_p_value: {
|
385 |
-
category:
|
386 |
for category in categories
|
387 |
} for kind_of_p_value in self.KINDS_OF_P_VALUE}
|
388 |
|
@@ -739,7 +739,7 @@ class LeaderboardServer:
|
|
739 |
with self.var_lock.ro:
|
740 |
return self.leaderboard_scatter_plots[kind_of_p_value][category]
|
741 |
else:
|
742 |
-
return
|
743 |
|
744 |
def _get_leaderboard_scatter_plot(self, pre_submit=None, category=None, kind_of_p_value=None):
|
745 |
import numpy as np
|
@@ -795,7 +795,7 @@ class LeaderboardServer:
|
|
795 |
with self.var_lock.ro:
|
796 |
return self.leaderboard_heatmaps[kind_of_p_value][category]
|
797 |
else:
|
798 |
-
return
|
799 |
|
800 |
def _get_leaderboard_heatmap(self, pre_submit=None, category=None, kind_of_p_value=None):
|
801 |
from analyze_winscore import get_ldb_records, create_heatmap
|
|
|
28 |
from huggingface_hub import HfApi, snapshot_download
|
29 |
|
30 |
from compare_significance import SUPPORTED_METRICS
|
31 |
+
from analyze_winscore import bokeh2iframe
|
32 |
|
33 |
VISIBLE_METRICS = SUPPORTED_METRICS + ["macro_f1"]
|
34 |
|
|
|
377 |
self.tournament_dataframes_csv = tournament_dataframes_csv
|
378 |
|
379 |
leaderboard_scatter_plots = {kind_of_p_value: {
|
380 |
+
category: bokeh2iframe(self._get_leaderboard_scatter_plot(category=category, kind_of_p_value=kind_of_p_value))
|
381 |
for category in categories
|
382 |
} for kind_of_p_value in self.KINDS_OF_P_VALUE}
|
383 |
|
384 |
leaderboard_heatmaps = {kind_of_p_value: {
|
385 |
+
category: bokeh2iframe(self._get_leaderboard_heatmap(category=category, kind_of_p_value=kind_of_p_value))
|
386 |
for category in categories
|
387 |
} for kind_of_p_value in self.KINDS_OF_P_VALUE}
|
388 |
|
|
|
739 |
with self.var_lock.ro:
|
740 |
return self.leaderboard_scatter_plots[kind_of_p_value][category]
|
741 |
else:
|
742 |
+
return bokeh2iframe(self._get_leaderboard_scatter_plot(pre_submit=pre_submit, category=category, kind_of_p_value=kind_of_p_value))
|
743 |
|
744 |
def _get_leaderboard_scatter_plot(self, pre_submit=None, category=None, kind_of_p_value=None):
|
745 |
import numpy as np
|
|
|
795 |
with self.var_lock.ro:
|
796 |
return self.leaderboard_heatmaps[kind_of_p_value][category]
|
797 |
else:
|
798 |
+
return bokeh2iframe(self._get_leaderboard_heatmap(pre_submit=pre_submit, category=category, kind_of_p_value=kind_of_p_value))
|
799 |
|
800 |
def _get_leaderboard_heatmap(self, pre_submit=None, category=None, kind_of_p_value=None):
|
801 |
from analyze_winscore import get_ldb_records, create_heatmap
|