Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -10,7 +10,7 @@ import numpy as np
|
|
| 10 |
import torch
|
| 11 |
import gradio as gr
|
| 12 |
|
| 13 |
-
from _charts import VAL_B64, AUC_B64
|
| 14 |
|
| 15 |
_WINDOW_LEN = 50
|
| 16 |
_STEP = 3
|
|
@@ -400,6 +400,46 @@ VALIDATION = f"""
|
|
| 400 |
Inconclusive predictions (0.4 < p < 0.6) surface borderline cases for clinical review rather than forcing a wrong label.
|
| 401 |
<span style="color:#cbd5e1">Zero confident misclassifications across 5 unseen sites.</span>
|
| 402 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 403 |
</div>
|
| 404 |
"""
|
| 405 |
|
|
@@ -440,7 +480,7 @@ ARCHITECTURE = """
|
|
| 440 |
</div>
|
| 441 |
"""
|
| 442 |
|
| 443 |
-
AMD = """
|
| 444 |
<div>
|
| 445 |
<div style="display:flex;gap:32px;margin-bottom:22px;flex-wrap:wrap">
|
| 446 |
<div><div style="font-size:1.7rem;font-weight:700;color:#fb923c;line-height:1;font-variant-numeric:tabular-nums">192<span style="font-size:0.8rem;color:#5e6675;font-weight:500"> GB</span></div><div style="color:#8b95a7;font-size:0.7rem;margin-top:5px;text-transform:uppercase;letter-spacing:1px">HBM3 unified</div></div>
|
|
@@ -461,6 +501,8 @@ AMD = """
|
|
| 461 |
</table>
|
| 462 |
</div>
|
| 463 |
|
|
|
|
|
|
|
| 464 |
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px">
|
| 465 |
<div style="background:#161922;border:1px solid #252a35;border-radius:8px;padding:18px 20px">
|
| 466 |
<div style="color:#fb923c;font-weight:600;font-size:0.78rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px">Why Qwen2.5-7B?</div>
|
|
|
|
| 10 |
import torch
|
| 11 |
import gradio as gr
|
| 12 |
|
| 13 |
+
from _charts import VAL_B64, AUC_B64, AMD_BENCH_B64
|
| 14 |
|
| 15 |
_WINDOW_LEN = 50
|
| 16 |
_STEP = 3
|
|
|
|
| 400 |
Inconclusive predictions (0.4 < p < 0.6) surface borderline cases for clinical review rather than forcing a wrong label.
|
| 401 |
<span style="color:#cbd5e1">Zero confident misclassifications across 5 unseen sites.</span>
|
| 402 |
</div>
|
| 403 |
+
|
| 404 |
+
<div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px">
|
| 405 |
+
|
| 406 |
+
<!-- Confusion matrix (on definitive predictions only) -->
|
| 407 |
+
<div style="background:#161922;border:1px solid #252a35;border-radius:8px;padding:18px 20px">
|
| 408 |
+
<div style="color:#8b95a7;font-size:0.68rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;font-weight:500">Confusion Matrix · Definitive Predictions</div>
|
| 409 |
+
<div style="display:grid;grid-template-columns:auto 1fr 1fr;gap:2px;font-size:0.82rem;text-align:center">
|
| 410 |
+
<div></div>
|
| 411 |
+
<div style="color:#8b95a7;font-size:0.7rem;padding:6px;text-transform:uppercase;letter-spacing:0.8px">Pred ASD</div>
|
| 412 |
+
<div style="color:#8b95a7;font-size:0.7rem;padding:6px;text-transform:uppercase;letter-spacing:0.8px">Pred TC</div>
|
| 413 |
+
<div style="color:#8b95a7;font-size:0.7rem;padding:6px 8px;text-transform:uppercase;letter-spacing:0.8px;text-align:left">True ASD</div>
|
| 414 |
+
<div style="background:#1a2e1a;border:1px solid #2a4a2a;border-radius:5px;padding:14px 8px;color:#22c55e;font-weight:700;font-size:1.1rem">3<div style="font-size:0.68rem;color:#5e6675;font-weight:400;margin-top:2px">TP</div></div>
|
| 415 |
+
<div style="background:#2a2015;border:1px solid #3a2a10;border-radius:5px;padding:14px 8px;color:#5e6675;font-size:1.1rem">0<div style="font-size:0.68rem;color:#5e6675;font-weight:400;margin-top:2px">FN</div></div>
|
| 416 |
+
<div style="color:#8b95a7;font-size:0.7rem;padding:6px 8px;text-transform:uppercase;letter-spacing:0.8px;text-align:left">True TC</div>
|
| 417 |
+
<div style="background:#2a2015;border:1px solid #3a2a10;border-radius:5px;padding:14px 8px;color:#5e6675;font-size:1.1rem">0<div style="font-size:0.68rem;color:#5e6675;font-weight:400;margin-top:2px">FP</div></div>
|
| 418 |
+
<div style="background:#1a2e1a;border:1px solid #2a4a2a;border-radius:5px;padding:14px 8px;color:#22c55e;font-weight:700;font-size:1.1rem">5<div style="font-size:0.68rem;color:#5e6675;font-weight:400;margin-top:2px">TN</div></div>
|
| 419 |
+
</div>
|
| 420 |
+
<div style="margin-top:12px;display:flex;gap:16px;font-size:0.78rem">
|
| 421 |
+
<div><span style="color:#cbd5e1;font-weight:600">100%</span> <span style="color:#5e6675">Sensitivity</span></div>
|
| 422 |
+
<div><span style="color:#cbd5e1;font-weight:600">100%</span> <span style="color:#5e6675">Specificity</span></div>
|
| 423 |
+
<div><span style="color:#f59e0b;font-weight:600">2</span> <span style="color:#5e6675">correctly deferred</span></div>
|
| 424 |
+
</div>
|
| 425 |
+
</div>
|
| 426 |
+
|
| 427 |
+
<!-- ABIDE baselines comparison -->
|
| 428 |
+
<div style="background:#161922;border:1px solid #252a35;border-radius:8px;padding:18px 20px">
|
| 429 |
+
<div style="color:#8b95a7;font-size:0.68rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;font-weight:500">vs. Published ABIDE Baselines</div>
|
| 430 |
+
<table style="width:100%;border-collapse:collapse;font-size:0.82rem">
|
| 431 |
+
<tr><td style="padding:7px 0;color:#8b95a7;border-bottom:1px solid #1e2330">SVM + FC (Plitt 2015)</td><td style="padding:7px 0;text-align:right;color:#cbd5e1;border-bottom:1px solid #1e2330;font-variant-numeric:tabular-nums">0.71</td></tr>
|
| 432 |
+
<tr><td style="padding:7px 0;color:#8b95a7;border-bottom:1px solid #1e2330">BrainNetCNN (Kawahara 2017)</td><td style="padding:7px 0;text-align:right;color:#cbd5e1;border-bottom:1px solid #1e2330;font-variant-numeric:tabular-nums">0.74</td></tr>
|
| 433 |
+
<tr><td style="padding:7px 0;color:#8b95a7;border-bottom:1px solid #1e2330">GCN + FC (Ktena 2018)</td><td style="padding:7px 0;text-align:right;color:#cbd5e1;border-bottom:1px solid #1e2330;font-variant-numeric:tabular-nums">0.70</td></tr>
|
| 434 |
+
<tr><td style="padding:7px 0;color:#8b95a7;border-bottom:1px solid #1e2330">ABIDE site-specific SVM</td><td style="padding:7px 0;text-align:right;color:#cbd5e1;border-bottom:1px solid #1e2330;font-variant-numeric:tabular-nums">0.76</td></tr>
|
| 435 |
+
<tr><td style="padding:7px 0;color:#f4f4f5;font-weight:600">BrainConnect-ASD (LOSO)</td><td style="padding:7px 0;text-align:right;color:#ef4444;font-weight:700;font-variant-numeric:tabular-nums">0.7872</td></tr>
|
| 436 |
+
</table>
|
| 437 |
+
<div style="margin-top:10px;color:#5e6675;font-size:0.74rem;line-height:1.5">
|
| 438 |
+
All prior results use <i>same-site</i> train/test splits. Ours is cross-site — a fundamentally harder evaluation.
|
| 439 |
+
</div>
|
| 440 |
+
</div>
|
| 441 |
+
|
| 442 |
+
</div>
|
| 443 |
</div>
|
| 444 |
"""
|
| 445 |
|
|
|
|
| 480 |
</div>
|
| 481 |
"""
|
| 482 |
|
| 483 |
+
AMD = f"""
|
| 484 |
<div>
|
| 485 |
<div style="display:flex;gap:32px;margin-bottom:22px;flex-wrap:wrap">
|
| 486 |
<div><div style="font-size:1.7rem;font-weight:700;color:#fb923c;line-height:1;font-variant-numeric:tabular-nums">192<span style="font-size:0.8rem;color:#5e6675;font-weight:500"> GB</span></div><div style="color:#8b95a7;font-size:0.7rem;margin-top:5px;text-transform:uppercase;letter-spacing:1px">HBM3 unified</div></div>
|
|
|
|
| 501 |
</table>
|
| 502 |
</div>
|
| 503 |
|
| 504 |
+
<img src="data:image/png;base64,{AMD_BENCH_B64}" style="width:100%;border-radius:6px;margin-bottom:14px;border:1px solid #252a35"/>
|
| 505 |
+
|
| 506 |
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px">
|
| 507 |
<div style="background:#161922;border:1px solid #252a35;border-radius:8px;padding:18px 20px">
|
| 508 |
<div style="color:#fb923c;font-weight:600;font-size:0.78rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px">Why Qwen2.5-7B?</div>
|