Yatsuiii commited on
Commit
a74aa19
·
verified ·
1 Parent(s): 90a8817

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +44 -2
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 &lt; p &lt; 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>