Spaces:
Running
Running
Commit ·
6aca0c6
1
Parent(s): 1dd19c2
new-model-mode (#4)
Browse files- adding new model mode (0ad4e9bc017167a8624cc89852342440e7adef19)
- .DS_Store +0 -0
- .gitignore +5 -1
- app.py +2 -2
- data/.DS_Store +0 -0
- data/qwen_image_bench_model_price_and_median_generation_time.csv +0 -60
- data/qwen_image_bench_model_price_and_median_generation_time_10_august.csv +64 -0
- model_display.py +1 -0
- ui.py +59 -32
.DS_Store
DELETED
|
Binary file (8.2 kB)
|
|
|
.gitignore
CHANGED
|
@@ -176,4 +176,8 @@ cython_debug/
|
|
| 176 |
evaluation_results/
|
| 177 |
images/
|
| 178 |
hf_cache/
|
| 179 |
-
*.lock
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
evaluation_results/
|
| 177 |
images/
|
| 178 |
hf_cache/
|
| 179 |
+
*.lock
|
| 180 |
+
|
| 181 |
+
# macOS
|
| 182 |
+
.DS_Store
|
| 183 |
+
|
app.py
CHANGED
|
@@ -2349,8 +2349,8 @@ qwen_combined_dir = _resolve_data_path(
|
|
| 2349 |
space_root.parent / "qwen_image_bench_combined",
|
| 2350 |
)
|
| 2351 |
qwen_path = _resolve_data_path(
|
| 2352 |
-
data_dir / "
|
| 2353 |
-
space_root.parent / "
|
| 2354 |
)
|
| 2355 |
aa_path = _resolve_data_path(
|
| 2356 |
data_dir / "artificial_analysis_text_to_image_leaderboard.csv",
|
|
|
|
| 2349 |
space_root.parent / "qwen_image_bench_combined",
|
| 2350 |
)
|
| 2351 |
qwen_path = _resolve_data_path(
|
| 2352 |
+
data_dir / "qwen_image_bench_model_price_and_median_generation_time_10_august.csv",
|
| 2353 |
+
space_root.parent / "qwen_image_bench_model_price_and_median_generation_time_10_august.csv",
|
| 2354 |
)
|
| 2355 |
aa_path = _resolve_data_path(
|
| 2356 |
data_dir / "artificial_analysis_text_to_image_leaderboard.csv",
|
data/.DS_Store
DELETED
|
Binary file (6.15 kB)
|
|
|
data/qwen_image_bench_model_price_and_median_generation_time.csv
DELETED
|
@@ -1,60 +0,0 @@
|
|
| 1 |
-
Model,Price / Image (USD),Median Generation Time (s),Min Generation Time (s),P-Judge Overall,Raw Win Rate,Rapidata Elo,Datapoint Elo,Benchmark.ai Elo
|
| 2 |
-
reve_2_1,N/A,N/A,28.3,,,,,1173.2
|
| 3 |
-
ideogram_4_0_quality,N/A,N/A,66.6,,,,,1131.0
|
| 4 |
-
gpt_image_2,0.21,77.8,77.8,59.02083099999998,,1172.58,1116,1124.5
|
| 5 |
-
nano_banana_2_0,N/A,N/A,N/A,56.362956,59.4%,1071.79,1067,1056.3
|
| 6 |
-
gpt_image_1_5,0.135,38.0,38.0,57.864434999999986,64.5%,1102.09,1064,910.3
|
| 7 |
-
hidream_i1_dev,0.0086,2.823569217998738,2.06,49.17682099999999,51.7%,999.17,984,
|
| 8 |
-
gpt_image_1,0.167,38.8,38.8,54.975741000000006,,1095.39,987,
|
| 9 |
-
imagen_4_0_ultra,0.06,11.4,11.4,53.385603999999965,59.7%,1075.22,1023,
|
| 10 |
-
flux_2_flex,0.06,10.856533817990567,8.07,53.9245676767677,57.8%,1054.34,1018,921.3
|
| 11 |
-
qwen_image,0.025,4.8,4.8,51.561746,51.5%,1073.72,1005,975.6
|
| 12 |
-
seedream_5_0,N/A,N/A,N/A,55.715153,,1070.35,1012,
|
| 13 |
-
nano_banana_pro,0.134,17.2,17.2,56.452189898989914,58.0%,1029.51,1045,1102.4
|
| 14 |
-
hidream_i1_fast,0.0051,9.920469530501578,1.40,48.89298600000002,50.1%,1024.67,984,
|
| 15 |
-
imagen_4_fast,0.02,3.7531301500021073,2.71,50.155055208333344,,972.6,981,
|
| 16 |
-
seedream_4_5,0.04,16.6,16.6,55.66328800000001,,1048.96,1035,964.2
|
| 17 |
-
seedream_4_0,0.03,12.2,12.2,55.241443999999994,,1050.41,1035,
|
| 18 |
-
p_image_2_ideogram_low_1k,0.0075,2.59,1.55,54.827397,53.2%,1000.07,1009,1103.9
|
| 19 |
-
#p_image_2_ideogram_low_2k,0.016,5.17,4.25,53.971723,48.4%,1074.91,1003,
|
| 20 |
-
qwen_image_2_0_pro,0.035,35.5,35.5,56.181776,,1033.25,1017,959.9
|
| 21 |
-
juggernaut_base_flux,0.035,4.115834823496698,3.84,49.474676,46.4%,1038.22,972,
|
| 22 |
-
flux_2_pro,N/A,N/A,N/A,54.43423900000002,,993.54,1019,1011.6
|
| 23 |
-
z_image,0.005,1.5122045120006078,1.22,49.946227999999984,48.1%,1028.1,1001,
|
| 24 |
-
p_image_2_ideogram_high_1k,0.015,4.28,3.07,55.754507999999994,52.1%,972.92,1022,1104.0
|
| 25 |
-
#p_image_2_ideogram_high_2k,0.03,8.69,7.12,54.757842000000004,49.4%,1074.91,1007,
|
| 26 |
-
qwen_image_2512,0.02,19.1,19.1,51.677326,,1029.6,1009,
|
| 27 |
-
flux_2_max,0.07,26.4,26.4,54.047976,60.9%,955.19,1028,1001.6
|
| 28 |
-
flux_1_1_pro_ultra,0.06,9.026992494000297,6.20,50.358445,52.0%,979.56,995,
|
| 29 |
-
juggernaut_pro_flux,0.055,3.699636150500737,3.36,49.741183,46.4%,972.14,964,
|
| 30 |
-
flux_dev,0.025,1.6931055715031107,1.49,48.241479,42.1%,925.04,940,
|
| 31 |
-
p_image_2_ideogram_very_low_1k,0.003,2.56,1.49,53.51894200000001,48.1%,959.86,995,1071.7
|
| 32 |
-
#p_image_2_ideogram_very_low_2k,0.006,3.94,3.05,53.68248699999998,47.2%,962.38,980,
|
| 33 |
-
#p_image_2_ideogram_very_low_1k_no_upsampling,0.005,0.82,,46.33,,,,1071.7
|
| 34 |
-
#p_image_2_ideogram_very_low_2k_no_upsampling,0.005,2.18,,46.39,,,,1071.7
|
| 35 |
-
#p_image_2_ideogram_low_1k_no_upsampling,0.01,3.33,,45.32,,,,1103.9
|
| 36 |
-
#p_image_2_ideogram_low_2k_no_upsampling,0.01,3.34,,46.25,,,,1103.9
|
| 37 |
-
#p_image_2_ideogram_medium_1k_no_upsampling,0.015,2.13,,46.88,,,,1115.1
|
| 38 |
-
#p_image_2_ideogram_medium_2k_no_upsampling,0.015,5.55,,47.11,,,,1115.1
|
| 39 |
-
#p_image_2_ideogram_high_1k_no_upsampling,0.03,3.11,,46.88,,,,1104.0
|
| 40 |
-
#p_image_2_ideogram_high_2k_no_upsampling,0.03,5.55,,47.06,,,,1104.0
|
| 41 |
-
hidream_i1_full,0.014,6.008430051002506,5.69,46.82559300000002,36.9%,955.46,944,
|
| 42 |
-
flux_2_dev,0.025,4.310278721997747,4.03,52.71644489795918,53.1%,1007.6,1021,942.0
|
| 43 |
-
imagen_4_0,0.04,14.1,14.1,52.08996199999999,53.5%,979.62,1005,
|
| 44 |
-
wan_2_2_image,0.02,3.005390542501118,2.96,48.19959399999999,,944.87,960,
|
| 45 |
-
flux_krea,0.025,1.7150160090022837,1.7150160090022837,50.35734,50.0%,919.73,975,
|
| 46 |
-
p_image_2_ideogram_medium_1k,0.01,3.06,2.05,54.719193000000004,51.7%,941.46,1002,1115.1
|
| 47 |
-
#p_image_2_ideogram_medium_2k,0.02,7.44,6.47,54.23124444444446,48.1%,949.35,1000,
|
| 48 |
-
glm_image,0.05,188.2,188.2,51.42623399999999,,923.35,953,
|
| 49 |
-
p_image,0.005,1.0640762715011078,0.95,48.75217099999999,44.8%,924.37,961,1098.7
|
| 50 |
-
hunyuanimage_3_0,0.09,41.0,41.0,52.32440099999998,52.4%,1009.61,979,765.3
|
| 51 |
-
juggernaut_lightning_flux,0.006,1.1787893719956628,0.93,48.30471699999998,40.5%,916.68,929,
|
| 52 |
-
flux_1_1_pro,0.04,3.0104645500032348,2.34,49.92882700000001,50.6%,925.04,984,
|
| 53 |
-
flux_schnell,0.003,0.8411653029907029,0.80,46.685981818181816,34.8%,892.32,915,
|
| 54 |
-
kling_v2_1,N/A,N/A,N/A,51.044512,,870.04,981,
|
| 55 |
-
#p_image_2_ideogram_very_high_high_1k,0.075,9.34,7.25,58.45,,,1025,
|
| 56 |
-
#p_image_2_ideogram_very_high_low_1k,0.0375,26.17,10.44,57.59,,,1024,
|
| 57 |
-
#p_image_2_ideogram_very_high_medium_1k,0.05,9.28,5.96,57.88,,,1020,
|
| 58 |
-
#p_image_2_ideogram_very_high_very_low_1k,0.015,26.52,10.60,56.92,,,1002,
|
| 59 |
-
#p_image_2_ideogram_final_1k,0.0375,11.17,5.55,58.28,,,,
|
| 60 |
-
#p_image_2_ideogram_final_2k,0.075,14.34,9.96,57.68,,,,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data/qwen_image_bench_model_price_and_median_generation_time_10_august.csv
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Rapidata Model,Price / Image (USD),Median Generation Time (s),Min Generation Time (s),P-Judge Overall,Raw Win Rate,Rapidata Elo,Datapoint Elo,Benchmark.ai Elo
|
| 2 |
+
reve_2_1,N/A,N/A,28.3,,,,,1173.2
|
| 3 |
+
ideogram_4_0_quality,N/A,N/A,66.6,,,,,1131.0
|
| 4 |
+
gpt_image_2,0.21,77.8,77.8,59.02083099999998,65.6%,1172.58,1110,1124.5
|
| 5 |
+
nano_banana_2_0,N/A,N/A,N/A,56.362956,59.2%,1071.79,1063,1056.3
|
| 6 |
+
gpt_image_1_5,0.135,38.0,38.0,57.864434999999986,58.9%,1102.09,1060,910.3
|
| 7 |
+
hidream_i1_dev,0.0086,2.823569217998738,2.06,49.17682099999999,47.7%,999.17,983,
|
| 8 |
+
gpt_image_1,0.167,38.8,38.8,54.975741000000006,47.4%,1095.39,984,
|
| 9 |
+
imagen_4_0_ultra,0.06,11.4,11.4,53.385603999999965,52.9%,1075.22,1019,
|
| 10 |
+
flux_2_flex,0.06,10.856533817990567,8.07,53.9245676767677,52.4%,1054.34,1014,921.3
|
| 11 |
+
#flux_2_turbo,0.008,2.14,1.81,53.02,,,1003,
|
| 12 |
+
#flux_2_flash,0.005,1.43,1.03,52.03,,,1001,
|
| 13 |
+
qwen_image,0.025,4.8,4.8,51.561746,50.3%,1073.72,1002,975.6
|
| 14 |
+
seedream_5_0,N/A,N/A,N/A,55.715153,51.6%,1070.35,1010,
|
| 15 |
+
nano_banana_pro,0.134,17.2,17.2,56.452189898989914,56.4%,1029.51,1041,1102.4
|
| 16 |
+
hidream_i1_fast,0.0051,9.920469530501578,1.40,48.89298600000002,47.2%,1024.67,980,
|
| 17 |
+
imagen_4_fast,0.02,3.7531301500021073,2.71,50.155055208333344,47.2%,972.6,980,
|
| 18 |
+
seedream_4_5,0.04,16.6,16.6,55.66328800000001,54.7%,1048.96,1032,964.2
|
| 19 |
+
seedream_4_0,0.03,12.2,12.2,55.241443999999994,54.9%,1050.41,1032,
|
| 20 |
+
p_image_2_ideogram_low_1k,0.0075,2.59,1.55,54.827397,50.8%,1000.07,1006,1103.9
|
| 21 |
+
#p_image_2_ideogram_low_2k,0.016,5.17,4.25,53.971723,50.0%,1074.91,1000,1103.9
|
| 22 |
+
qwen_image_2_0_pro,0.035,35.5,35.5,56.181776,52.2%,1033.25,1014,959.9
|
| 23 |
+
juggernaut_base_flux,0.035,4.115834823496698,3.84,49.474676,46.1%,1038.22,971,
|
| 24 |
+
flux_2_pro,N/A,N/A,N/A,54.43423900000002,52.2%,993.54,1014,1011.6
|
| 25 |
+
z_image,0.005,1.5122045120006078,1.22,49.946227999999984,49.9%,1028.1,999,
|
| 26 |
+
p_image_2_ideogram_high_1k,0.015,4.28,3.07,55.754507999999994,52.5%,972.92,1017,1104.0
|
| 27 |
+
#p_image_2_ideogram_high_2k,0.06,8.69,7.12,54.757842000000004,50.7%,1074.91,1006,1104.0
|
| 28 |
+
qwen_image_2512,0.02,19.1,19.1,51.677326,50.9%,1029.6,1005,
|
| 29 |
+
flux_2_max,0.07,26.4,26.4,54.047976,53.9%,955.19,1026,1001.6
|
| 30 |
+
flux_1_1_pro_ultra,0.06,9.026992494000297,6.20,50.358445,48.6%,979.56,990,
|
| 31 |
+
juggernaut_pro_flux,0.055,3.699636150500737,3.36,49.741183,44.7%,972.14,963,
|
| 32 |
+
flux_dev,0.025,1.6931055715031107,1.49,48.241479,41.5%,925.04,941,
|
| 33 |
+
p_image_2_ideogram_very_low_1k,0.003,2.56,1.49,53.51894200000001,49.1%,959.86,994,1071.7
|
| 34 |
+
#p_image_2_ideogram_very_low_2k,0.006,3.94,3.05,53.68248699999998,46.3%,962.38,976,1071.7
|
| 35 |
+
#p_image_2_ideogram_very_low_1k_no_upsampling,0.005,0.82,,46.33,,,,1071.7
|
| 36 |
+
#p_image_2_ideogram_very_low_2k_no_upsampling,0.005,2.18,,46.39,,,,1071.7
|
| 37 |
+
#p_image_2_ideogram_low_1k_no_upsampling,0.01,3.33,,45.32,,,,1103.9
|
| 38 |
+
#p_image_2_ideogram_low_2k_no_upsampling,0.01,3.34,,46.25,,,,1103.9
|
| 39 |
+
#p_image_2_ideogram_medium_1k_no_upsampling,0.015,2.13,,46.88,,,,1115.1
|
| 40 |
+
#p_image_2_ideogram_medium_2k_no_upsampling,0.015,5.55,,47.11,,,,1115.1
|
| 41 |
+
#p_image_2_ideogram_high_1k_no_upsampling,0.03,3.11,,46.88,,,,1104.0
|
| 42 |
+
#p_image_2_ideogram_high_2k_no_upsampling,0.03,5.55,,47.06,,,,1104.0
|
| 43 |
+
hidream_i1_full,0.014,6.008430051002506,5.69,46.82559300000002,41.4%,955.46,941,
|
| 44 |
+
flux_2_dev,0.025,4.310278721997747,4.03,52.71644489795918,52.5%,1007.6,1016,942.0
|
| 45 |
+
imagen_4_0,0.04,14.1,14.1,52.08996199999999,50.4%,979.62,1002,
|
| 46 |
+
wan_2_2_image,0.02,3.005390542501118,2.96,48.19959399999999,44.1%,944.87,958,
|
| 47 |
+
flux_krea,0.025,1.7150160090022837,1.7150160090022837,50.35734,46.2%,919.73,973,
|
| 48 |
+
p_image_2_ideogram_medium_1k,0.01,3.06,2.05,54.719193000000004,49.8%,941.46,999,1115.1
|
| 49 |
+
#p_image_2_ideogram_medium_2k,0.02,7.44,6.47,54.23124444444446,49.3%,949.35,996,1115.1
|
| 50 |
+
glm_image,0.05,188.2,188.2,51.42623399999999,42.9%,923.35,950,
|
| 51 |
+
p_image,0.005,1.0640762715011078,0.95,48.75217099999999,44.3%,924.37,960,1098.7
|
| 52 |
+
hunyuanimage_3_0,0.09,41.0,41.0,52.32440099999998,46.6%,1009.61,977,765.3
|
| 53 |
+
juggernaut_lightning_flux,0.006,1.1787893719956628,0.93,48.30471699999998,40.0%,916.68,930,
|
| 54 |
+
flux_1_1_pro,0.04,3.0104645500032348,2.34,49.92882700000001,47.7%,925.04,984,
|
| 55 |
+
flux_schnell,0.003,0.8411653029907029,0.80,46.685981818181816,37.6%,892.32,914,
|
| 56 |
+
kling_v2_1,N/A,N/A,N/A,51.044512,47.2%,870.04,980,
|
| 57 |
+
#p_image_2_ideogram_very_high_high_1k,0.075,9.34,7.25,58.45,52.9%,,1024,
|
| 58 |
+
#p_image_2_ideogram_very_high_low_1k,0.0375,26.17,10.44,57.59,52.9%,,1023,
|
| 59 |
+
#p_image_2_ideogram_very_high_medium_1k,0.05,9.28,5.96,57.88,52.3%,,1019,
|
| 60 |
+
#p_image_2_ideogram_very_high_very_low_1k,0.015,26.52,10.60,56.92,49.4%,,1001,
|
| 61 |
+
p_image_2_ideogram_very_high_1k,0.033,11.17,5.55,58.28,55.5%,,1034,
|
| 62 |
+
#p_image_2_ideogram_very_high_2k,0.066,14.34,9.96,57.68,53.4%,,1020,
|
| 63 |
+
#p_image_2_ideogram_very_high_john_1k,,8.53,6.43,58.19,,,1015,
|
| 64 |
+
#p_image_2_ideogram_very_high_john_2k,,13.86,10.64,57.75,,,1002,
|
model_display.py
CHANGED
|
@@ -87,6 +87,7 @@ MODEL_DISPLAY_NAMES = {
|
|
| 87 |
"p_image_2_ideogram_high_1k": "P-Image-Ideogram High 1K",
|
| 88 |
"p_image_2_ideogram_high_2k": "P-Image-Ideogram High 2K",
|
| 89 |
"P-Image-Ideogram (High)": "P-Image-Ideogram High",
|
|
|
|
| 90 |
# Others overlapping P-Bench
|
| 91 |
"z_image": "Z-Image",
|
| 92 |
"glm_image": "GLM-Image",
|
|
|
|
| 87 |
"p_image_2_ideogram_high_1k": "P-Image-Ideogram High 1K",
|
| 88 |
"p_image_2_ideogram_high_2k": "P-Image-Ideogram High 2K",
|
| 89 |
"P-Image-Ideogram (High)": "P-Image-Ideogram High",
|
| 90 |
+
"p_image_2_ideogram_very_high_1k": "P-Image-Ideogram Very High 1K",
|
| 91 |
# Others overlapping P-Bench
|
| 92 |
"z_image": "Z-Image",
|
| 93 |
"glm_image": "GLM-Image",
|
ui.py
CHANGED
|
@@ -251,6 +251,14 @@ def _dataset_has_samples(datasets, dataset_id):
|
|
| 251 |
return bool(dataset and dataset.get("samples"))
|
| 252 |
|
| 253 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 254 |
def _dataset_has_pareto(datasets, dataset_id):
|
| 255 |
dataset = _item(datasets, dataset_id)
|
| 256 |
columns = getattr(dataset.get("data") if dataset else None, "columns", [])
|
|
@@ -321,23 +329,25 @@ def _metric_dropdown_value(metric_id):
|
|
| 321 |
]
|
| 322 |
|
| 323 |
|
| 324 |
-
def _model_choices(datasets, dataset_id):
|
| 325 |
cached = _MODEL_CHOICES_CACHE.get(dataset_id)
|
| 326 |
-
if cached is
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 327 |
return cached
|
| 328 |
-
|
| 329 |
-
|
| 330 |
-
if data is None or "Model" not in getattr(data, "columns", []):
|
| 331 |
-
_MODEL_CHOICES_CACHE[dataset_id] = []
|
| 332 |
-
return []
|
| 333 |
-
models = data["Model"].dropna().astype(str).unique().tolist()
|
| 334 |
-
# (label, value) so the UI shows the shared name but filters on the raw id.
|
| 335 |
-
choices = sorted(
|
| 336 |
-
((display_model_name(model), model) for model in models),
|
| 337 |
-
key=lambda item: item[0].casefold(),
|
| 338 |
-
)
|
| 339 |
-
_MODEL_CHOICES_CACHE[dataset_id] = choices
|
| 340 |
-
return choices
|
| 341 |
|
| 342 |
|
| 343 |
def _model_choice_values(choices):
|
|
@@ -1163,10 +1173,10 @@ def render_image_workspace(datasets, metrics, default_dataset_id, default_metric
|
|
| 1163 |
gr.Markdown(
|
| 1164 |
"<p class='filter-help'>"
|
| 1165 |
"These filters apply to Leaderboards, Pareto plots, and Samples. "
|
| 1166 |
-
"On Samples, only datasets we have generations for
|
| 1167 |
-
"On Pareto plots, only datasets with price or
|
| 1168 |
-
"are listed. Search in Models, or leave it
|
| 1169 |
-
"every model."
|
| 1170 |
"</p>",
|
| 1171 |
elem_classes="filter-help-host",
|
| 1172 |
)
|
|
@@ -1369,12 +1379,16 @@ def render_image_workspace(datasets, metrics, default_dataset_id, default_metric
|
|
| 1369 |
with gr.TabItem("About", id=TAB_ABOUT) as about_tab:
|
| 1370 |
render_about()
|
| 1371 |
|
| 1372 |
-
def _synced_filters(
|
|
|
|
|
|
|
| 1373 |
if clear_metric:
|
| 1374 |
metric_id = []
|
| 1375 |
else:
|
| 1376 |
metric_id = _coerce_metric(datasets, metrics, dataset_id, metric_id)
|
| 1377 |
-
model_choices = _model_choices(
|
|
|
|
|
|
|
| 1378 |
model_values = set(_model_choice_values(model_choices))
|
| 1379 |
models = [model for model in (models or []) if model in model_values]
|
| 1380 |
metric_choices = _metric_dropdown_choices(datasets, metrics, dataset_id)
|
|
@@ -1588,10 +1602,20 @@ def render_image_workspace(datasets, metrics, default_dataset_id, default_metric
|
|
| 1588 |
dataset_changed = source == "dataset" and dataset_id != view_state.get(
|
| 1589 |
"dataset_id"
|
| 1590 |
)
|
| 1591 |
-
|
|
|
|
|
|
|
| 1592 |
if source == "dataset":
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1593 |
synced = _synced_filters(
|
| 1594 |
-
dataset_id,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1595 |
)
|
| 1596 |
dataset_id, metric_id, models = synced[:3]
|
| 1597 |
metric_update, models_update = synced[3], synced[4]
|
|
@@ -1629,20 +1653,13 @@ def render_image_workspace(datasets, metrics, default_dataset_id, default_metric
|
|
| 1629 |
):
|
| 1630 |
return None
|
| 1631 |
|
| 1632 |
-
selected_tab = tab
|
| 1633 |
extras = (
|
| 1634 |
list(platform_value or []),
|
| 1635 |
list(owner_value or []),
|
| 1636 |
list(optimized_value or []),
|
| 1637 |
)
|
| 1638 |
extra_updates = None
|
| 1639 |
-
can_pareto = _dataset_has_pareto(datasets, dataset_id)
|
| 1640 |
-
can_samples = _dataset_has_samples(datasets, dataset_id)
|
| 1641 |
if source == "dataset":
|
| 1642 |
-
if tab == TAB_SAMPLES and not can_samples:
|
| 1643 |
-
selected_tab = TAB_LEADERBOARDS
|
| 1644 |
-
elif tab == TAB_PARETO and not can_pareto:
|
| 1645 |
-
selected_tab = TAB_LEADERBOARDS
|
| 1646 |
view = resolve_view(datasets, metrics, dataset_id, metric_id)
|
| 1647 |
extra_updates = _leaderboard_extras(
|
| 1648 |
view["data"] if view else None,
|
|
@@ -1822,7 +1839,17 @@ def render_image_workspace(datasets, metrics, default_dataset_id, default_metric
|
|
| 1822 |
)
|
| 1823 |
dataset_update = _dataset_dropdown_update(datasets, tab, dataset_id)
|
| 1824 |
metric_id = _coerce_metric(datasets, metrics, dataset_id, metric_id)
|
| 1825 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1826 |
view_state["current_tab"] = tab
|
| 1827 |
view_state["dataset_id"] = dataset_id
|
| 1828 |
view_state["metric_id"] = metric_id
|
|
@@ -1859,7 +1886,7 @@ def render_image_workspace(datasets, metrics, default_dataset_id, default_metric
|
|
| 1859 |
filters_vis,
|
| 1860 |
dataset_update,
|
| 1861 |
metric_vis,
|
| 1862 |
-
|
| 1863 |
*lb_filters,
|
| 1864 |
)
|
| 1865 |
tab_select = (
|
|
|
|
| 251 |
return bool(dataset and dataset.get("samples"))
|
| 252 |
|
| 253 |
|
| 254 |
+
def _sample_model_ids(datasets, dataset_id):
|
| 255 |
+
dataset = _item(datasets, dataset_id)
|
| 256 |
+
samples = dataset.get("samples") if dataset else None
|
| 257 |
+
if not samples:
|
| 258 |
+
return set()
|
| 259 |
+
return set(samples.get("models") or [])
|
| 260 |
+
|
| 261 |
+
|
| 262 |
def _dataset_has_pareto(datasets, dataset_id):
|
| 263 |
dataset = _item(datasets, dataset_id)
|
| 264 |
columns = getattr(dataset.get("data") if dataset else None, "columns", [])
|
|
|
|
| 329 |
]
|
| 330 |
|
| 331 |
|
| 332 |
+
def _model_choices(datasets, dataset_id, *, require_samples=False):
|
| 333 |
cached = _MODEL_CHOICES_CACHE.get(dataset_id)
|
| 334 |
+
if cached is None:
|
| 335 |
+
dataset = _item(datasets, dataset_id)
|
| 336 |
+
data = dataset.get("data") if dataset else None
|
| 337 |
+
if data is None or "Model" not in getattr(data, "columns", []):
|
| 338 |
+
cached = []
|
| 339 |
+
else:
|
| 340 |
+
models = data["Model"].dropna().astype(str).unique().tolist()
|
| 341 |
+
# (label, value) so the UI shows the shared name but filters on the raw id.
|
| 342 |
+
cached = sorted(
|
| 343 |
+
((display_model_name(model), model) for model in models),
|
| 344 |
+
key=lambda item: item[0].casefold(),
|
| 345 |
+
)
|
| 346 |
+
_MODEL_CHOICES_CACHE[dataset_id] = cached
|
| 347 |
+
if not require_samples:
|
| 348 |
return cached
|
| 349 |
+
allowed = _sample_model_ids(datasets, dataset_id)
|
| 350 |
+
return [choice for choice in cached if choice[1] in allowed]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 351 |
|
| 352 |
|
| 353 |
def _model_choice_values(choices):
|
|
|
|
| 1173 |
gr.Markdown(
|
| 1174 |
"<p class='filter-help'>"
|
| 1175 |
"These filters apply to Leaderboards, Pareto plots, and Samples. "
|
| 1176 |
+
"On Samples, only datasets and models we have generations for "
|
| 1177 |
+
"are listed. On Pareto plots, only datasets with price or "
|
| 1178 |
+
"generation time are listed. Search in Models, or leave it "
|
| 1179 |
+
"empty to include every model."
|
| 1180 |
"</p>",
|
| 1181 |
elem_classes="filter-help-host",
|
| 1182 |
)
|
|
|
|
| 1379 |
with gr.TabItem("About", id=TAB_ABOUT) as about_tab:
|
| 1380 |
render_about()
|
| 1381 |
|
| 1382 |
+
def _synced_filters(
|
| 1383 |
+
dataset_id, metric_id, models, *, clear_metric=False, require_samples=False
|
| 1384 |
+
):
|
| 1385 |
if clear_metric:
|
| 1386 |
metric_id = []
|
| 1387 |
else:
|
| 1388 |
metric_id = _coerce_metric(datasets, metrics, dataset_id, metric_id)
|
| 1389 |
+
model_choices = _model_choices(
|
| 1390 |
+
datasets, dataset_id, require_samples=require_samples
|
| 1391 |
+
)
|
| 1392 |
model_values = set(_model_choice_values(model_choices))
|
| 1393 |
models = [model for model in (models or []) if model in model_values]
|
| 1394 |
metric_choices = _metric_dropdown_choices(datasets, metrics, dataset_id)
|
|
|
|
| 1602 |
dataset_changed = source == "dataset" and dataset_id != view_state.get(
|
| 1603 |
"dataset_id"
|
| 1604 |
)
|
| 1605 |
+
can_pareto = _dataset_has_pareto(datasets, dataset_id)
|
| 1606 |
+
can_samples = _dataset_has_samples(datasets, dataset_id)
|
| 1607 |
+
selected_tab = tab
|
| 1608 |
if source == "dataset":
|
| 1609 |
+
if tab == TAB_SAMPLES and not can_samples:
|
| 1610 |
+
selected_tab = TAB_LEADERBOARDS
|
| 1611 |
+
elif tab == TAB_PARETO and not can_pareto:
|
| 1612 |
+
selected_tab = TAB_LEADERBOARDS
|
| 1613 |
synced = _synced_filters(
|
| 1614 |
+
dataset_id,
|
| 1615 |
+
metric_id,
|
| 1616 |
+
models,
|
| 1617 |
+
clear_metric=dataset_changed,
|
| 1618 |
+
require_samples=selected_tab == TAB_SAMPLES,
|
| 1619 |
)
|
| 1620 |
dataset_id, metric_id, models = synced[:3]
|
| 1621 |
metric_update, models_update = synced[3], synced[4]
|
|
|
|
| 1653 |
):
|
| 1654 |
return None
|
| 1655 |
|
|
|
|
| 1656 |
extras = (
|
| 1657 |
list(platform_value or []),
|
| 1658 |
list(owner_value or []),
|
| 1659 |
list(optimized_value or []),
|
| 1660 |
)
|
| 1661 |
extra_updates = None
|
|
|
|
|
|
|
| 1662 |
if source == "dataset":
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1663 |
view = resolve_view(datasets, metrics, dataset_id, metric_id)
|
| 1664 |
extra_updates = _leaderboard_extras(
|
| 1665 |
view["data"] if view else None,
|
|
|
|
| 1839 |
)
|
| 1840 |
dataset_update = _dataset_dropdown_update(datasets, tab, dataset_id)
|
| 1841 |
metric_id = _coerce_metric(datasets, metrics, dataset_id, metric_id)
|
| 1842 |
+
require_samples = tab == TAB_SAMPLES
|
| 1843 |
+
model_choices = _model_choices(
|
| 1844 |
+
datasets, dataset_id, require_samples=require_samples
|
| 1845 |
+
)
|
| 1846 |
+
allowed_models = set(_model_choice_values(model_choices))
|
| 1847 |
+
models = [model for model in (models or []) if model in allowed_models]
|
| 1848 |
+
models_update = (
|
| 1849 |
+
gr.update(choices=model_choices, value=models)
|
| 1850 |
+
if (prev_tab == TAB_SAMPLES) != require_samples
|
| 1851 |
+
else gr.skip()
|
| 1852 |
+
)
|
| 1853 |
view_state["current_tab"] = tab
|
| 1854 |
view_state["dataset_id"] = dataset_id
|
| 1855 |
view_state["metric_id"] = metric_id
|
|
|
|
| 1886 |
filters_vis,
|
| 1887 |
dataset_update,
|
| 1888 |
metric_vis,
|
| 1889 |
+
models_update,
|
| 1890 |
*lb_filters,
|
| 1891 |
)
|
| 1892 |
tab_select = (
|