truong_stft_cnn: a single-fold CUDA trace, and a real 6-fold run
Two distinct truong_stft_cnn prediction-mode runs happened in the same session, at
different scales and for different purposes — worth keeping separate since both are easy to
conflate under the same pipeline name.
A fast, fully-instrumented single-fold trace
A debug harness forces exactly one fold and one epoch to get a fast, verbose look at a single
training pass rather than a real result. On real CUDA hardware: dataset construction 3.62s, model
fit 6.12s (including one-time model build), test prediction 0.79s — training throughput 101.8
windows/sec, test throughput 188.8 windows/sec. CUDA memory after fit: 17.0MB allocated, 214.0MB
reserved. That's a genuinely tiny working set, and it's architectural, not incidental: this
pipeline runs a single 2D/3D CNN over a compact STFT tensor, not a 253-edge dense coherence graph
— which is exactly why it's so much cheaper than dense_edge_gru to begin with,
independent of anything about caching or GPU utilization.
A real 6-fold leave-one-seizure-out run
Separately, a full run across the subject's six seizures, real epoch schedule, completed successfully.
| seizure | preictal | hit (smoothed) | precision | recall | f1 | roc_auc | avg_precision | FAR/hr |
|---|---|---|---|---|---|---|---|---|
| 03 | 30 | ✓ | 0.181 | 0.700 | 0.288 | 0.875 | 0.136 | 12.3 |
| 04 | 30 | ✓ | 0.201 | 0.933 | 0.331 | 0.919 | 0.227 | 13.9 |
| 15 | 30 | ✗ | 0.000 | 0.000 | 0.000 | 0.971 | 0.400 | 1.6 |
| 16 | 23 | ✓ | 0.259 | 0.957 | 0.407 | 0.980 | 0.616 | 3.2 |
| 18 | 30 | ✗ | 0.857 | 0.200 | 0.324 | 0.995 | 0.852 | 0.0 |
| 26 | 30 | ✓ | 0.558 | 0.967 | 0.707 | 0.983 | 0.619 | 2.8 |
Event-level hit rate: raw 5/6, smoothed 4/6 — the same hit/miss pattern (misses on seizures 15
and 18) as the earlier truong_stft_cnn run on the same subject and folds. Per-fold
numbers shifted somewhat from that run (seizure 03's precision, for instance, moved from 0.206 to
0.181) but not investigated further here, since the pipeline itself changed materially in between
— the torch-native CWT swap and the disk cache removal both landed in that window. The
qualitative shape held steady across both runs regardless: seizures 16 and 26 strong, 15 and 18
missing at threshold despite ranking well, 03 and 04 borderline.
Open items
The real 6-fold run has no accompanying verbose log, only result CSVs — if it needs to be
reproduced or debugged later, it will need a fresh run. No label-permutation null control has been
run yet for any truong_stft_cnn prediction run to date. The precision/recall drift
against the earlier run on the same folds hasn't been attributed to a specific one of the intervening
changes. Result CSVs from this run are untracked in git.