From def73d35e6a4b217dd51f805aaf25628eda412a3 Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Fri, 11 Sep 2026 15:12:58 +0200 Subject: [PATCH 01/15] UORED example integration startpoint --- akida1/model_zoo/uored_vafcls/README.md | 298 +++++++ akida1/model_zoo/uored_vafcls/colab_setup.py | 34 + akida1/model_zoo/uored_vafcls/data/.gitignore | 4 + .../uored_vafcls/docs/README.md.template | 298 +++++++ .../model_zoo/uored_vafcls/docs/metrics.json | 44 + .../uored_vafcls/docs/signal_mosaic.png | Bin 0 -> 277535 bytes akida1/model_zoo/uored_vafcls/local_utils.py | 30 + .../model_zoo/uored_vafcls/models/.gitignore | 4 + .../uored_vafcls/uored_vafcls_benchmark.py | 193 +++++ .../uored_vafcls_cross_validate.py | 432 ++++++++++ .../uored_vafcls/uored_vafcls_data.py | 783 ++++++++++++++++++ .../uored_vafcls/uored_vafcls_eval.py | 218 +++++ .../uored_vafcls/uored_vafcls_model.py | 151 ++++ .../uored_vafcls/uored_vafcls_train.py | 172 ++++ .../uored_vafcls/uored_vafcls_train.sh | 57 ++ .../model_zoo/uored_vafcls/update_readme.py | 11 + 16 files changed, 2729 insertions(+) create mode 100644 akida1/model_zoo/uored_vafcls/README.md create mode 100644 akida1/model_zoo/uored_vafcls/colab_setup.py create mode 100644 akida1/model_zoo/uored_vafcls/data/.gitignore create mode 100644 akida1/model_zoo/uored_vafcls/docs/README.md.template create mode 100644 akida1/model_zoo/uored_vafcls/docs/metrics.json create mode 100644 akida1/model_zoo/uored_vafcls/docs/signal_mosaic.png create mode 100644 akida1/model_zoo/uored_vafcls/local_utils.py create mode 100644 akida1/model_zoo/uored_vafcls/models/.gitignore create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_data.py create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_model.py create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_train.py create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh create mode 100644 akida1/model_zoo/uored_vafcls/update_readme.py diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md new file mode 100644 index 0000000..f80c1db --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -0,0 +1,298 @@ +BrainChip Dev Hub + +# Bearing Fault Diagnosis (UORED-VAFCLS) + +Multi-label detection of rolling-element bearing faults — inner race, outer race, ball and cage — from one second of raw 42 kHz accelerometer data. The four faults are independent labels rather than classes, and a healthy bearing is the all-zero vector, not a fifth class. The reported metric is therefore macro AUROC, which needs no decision threshold. + +The interesting part of this example is not the model. It is the evaluation: this dataset makes it extremely easy to report a number that is far better than the model deserves, in at least two different ways, and most of what follows is about not doing that. + +## Model Card + +**Cross-validated performance** — TBD bearing-disjoint folds × TBD seed. **This is the model's performance.** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StageMacro AUROC (mean ± std)Worst foldBest fold
Full precisionTBD ± TBDTBDTBD
Quantized + tuned (4-bit)TBD ± TBD
AkidaTBD ± TBDTBDTBD
+ +Standard error of the mean on the Akida figure is TBD. Parameters: TBD. Activation sparsity: TBD. + +> **Read the table above, not the one below.** Individual folds range from TBD to TBD — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). + +Distribution of per-fold AUROC + +**Reference model** — fold TBD only, the weights shipped in `pretrained_models/`. + + + + + + + + + + + + + + + + + + + + + + + + +
Float AUROCQAT AUROCAkida AUROCinnerouterballcage
TBDTBDTBDTBDTBDTBDTBD
+ +Fold TBD is the *first* of the 100 evaluation folds. It was picked because it is first, not because of its score. It scores TBD against the TBD mean above. Every hardware number below comes from this one model on this one fold — **it is not the model's performance**, it is a fixed, reproducible artefact to benchmark. + +**AKD1500 hardware benchmark** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MappingNPsPassesCyclesLatency (ms)Total Power (mW)Total Energy (mJ/inf)Dyn. Power (mW)Dyn. Energy (mJ/inf)
MinimalTBDTBDTBDTBDTBDTBDTBDTBD
AllNPsTBDTBDTBDTBDTBDTBDTBDTBD
+ +Full model benchmark + +`Minimal` mapping uses the fewest neural processors that will hold the model; `AllNPs` spreads it over everything available, which usually trades power for latency. This model is an unusual case: it already saturates the device in `Minimal` mode, so the two mappings are nearly identical. + +The model maps entirely to hardware — 1 HRC input convolution, 41 CNP1 convolutional processors, one FNP2 and one FNP3 for the two fully-connected layers, in a single sequence over two passes. One caveat worth knowing before reading the per-layer plot: the `fc` layer's 2432 × 100 weight matrix does not fit in on-chip memory and needs 184 kB of external memory, so unlike most examples here there is real DMA traffic on every inference, and `fc` dominates the latency breakdown. + +Per-layer benchmark + +## Why cross-validation is not optional + +This dataset has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out. That is a small enough test set that the choice of which bearings are held out matters more than almost anything about the model: + +- The **across-fold** standard deviation is TBD, and folds range from TBD to TBD with the architecture, the recipe and the seed all held fixed. +- The **within-fold** standard deviation across random seeds is TBD (measured over TBD folds at 3 seeds each) — comparable to the entire across-fold spread. + +So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. For scale: the WDCNN network this model descends from and this model itself differ by about 0.03 in their 100-fold means, which is *less* than one fold's seed-to-seed noise. Any comparison made on one fold is a coin toss dressed up as a result. + +The practical rules this example follows: + +1. **The reported number is the mean over all TBD evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. +2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. +3. **Single-fold artefacts are labelled as such.** The pretrained weights and every hardware measurement come from fold TBD, and are presented as a fixed reference point, not a performance claim. + +## Requirements + +See the [requirements section](../../../README.md#requirements) of the top-level README for the environment used throughout this repository. + +This example additionally uses `scikit-learn` (for `roc_auc_score`, the reported metric), `pooch` (dataset download) and `pandas` (results bookkeeping; also `pyarrow` if you cross-check the split against the published fixtures). + +## Dataset + +**UORED-VAFCLS** — the University of Ottawa Rolling-element Dataset, Vibration and Acoustic Faults under Constant Load and Speed. 60 accelerometer recordings, each 10 s at 42 kHz, from 20 bearings. Every bearing contributes three recordings: one healthy, plus two severities of a single fault mode. + +| | | +|---|---| +| Recordings | 60 (20 bearings × 3) | +| Length | 10 s at 42 kHz (420,000 samples) | +| Model input | 1 s window, framed to 1200 × 35 | +| Labels | 4 independent: inner, outer, ball, cage (healthy = all zero) | +| Windows per fold | 720 training (random crops), 240 held-out (tiled) | + +Downloaded from [Mendeley Data, doi:10.17632/y2px5tg92h.5](https://data.mendeley.com/datasets/y2px5tg92h/5), licensed **CC BY 4.0** (https://creativecommons.org/licenses/by/4.0/): + +> Sehri, Maryam; Dumond, Patrick (2023), *"University of Ottawa Rolling-element Dataset – Vibration and Acoustic Faults under Constant Load and Speed conditions (UORED-VAFCLS)"*, Mendeley Data, V5, doi: 10.17632/y2px5tg92h.5 + +*Changes made, as the licence requires us to state:* the `Accelerometer` column of the raw CSVs is repacked unmodified into a single float32 `.npz`; the pipeline in this example then removes a per-recording DC offset and rescales each recording to an 8-bit range (see [Input encoding](#input-encoding)). + +The evaluation protocol, and the leakage argument behind it, follow: + +> J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) + +That work reports 0.9100 ± 0.0553 macro AUROC for a WDCNN on this protocol; a local reimplementation scored 0.9034 ± 0.0528 over the same 100 folds. Those figures are quoted for context only — they were measured on a different input pipeline, and are not comparable line-for-line with the Model Card (see [Input encoding](#input-encoding)). + +## Leakage and the bearing-level split + +**In this dataset, fault mode is a property of the bearing.** Bearings 1–5 have inner-race faults, 6–10 outer-race, 11–15 ball, 16–20 cage. No bearing ever exhibits two modes. The consequence is severe: under any split that is not bearing-disjoint, a model that simply re-identifies *which bearing it is listening to* scores near-perfectly without learning anything about faults at all. Near-duplicate slices of the same 10 s recording on both sides of the split are enough to make that trivial. + +The split here partitions on `bearing_id` **before any windowing**, holding out 2 bearings from each of the 4 fault modes — 8 of 20 bearings, and all three of each held-out bearing's recordings together. Enumerating every such choice gives C(5,2)⁴ = 10,000 folds, shuffled once with a fixed seed and indexed by fold number, so fold *N* here is fold *N* in the reference implementation. + +Verify it yourself, over all 105 tuning and evaluation folds: + +```bash +python uored_vafcls_data.py --check-splits +``` + +**There is a second, subtler leak in the raw signals.** Amplitude is partly a recording fingerprint rather than a fault signature. All ten inner-race recordings sit at a mean of 46.6–55.6 while every outer-race and ball recording sits at 0.9–3.1. Used alone, with no model at all, the per-recording *mean* scores 0.776 AUROC on the inner-race label and 0.744 on cage; the per-recording *standard deviation* scores 0.798 on inner-race. A pipeline that feeds unnormalised signals lets the network read a large part of the answer off the DC offset. The input encoding below removes it — which lowers the reported score, and should. + +## Input encoding + +Akida takes 8-bit inputs. That is not merely an implementation detail here, because per-recording signal standard deviation spans **69×** across this dataset (1.87 to 129.4) and 8 bits is 256 levels. A single global scale wide enough for the loudest recording puts the quietest one below a single quantisation level. Per-recording scaling is *forced* by the hardware; it is not a modelling choice. + +So each window is encoded from its own recording's statistics — the centre and the 99.9th percentile of absolute deviation, both computed once over the whole 10 s trace: + +| Headroom | uint8 levels per signal σ (min / median) | clipped at gain 1.0 | at 1.7 | at 2.4 | +|---|---|---|---|---| +| 1.0 | 13.4 / 30.3 | 0.0997% | 4.31% | 11.65% | +| **2.0** (used) | **6.7 / 15.1** | **0.0003%** | **0.026%** | **0.56%** | +| 3.0 | 4.5 / 10.1 | ~0% | 0.001% | 0.016% | + +Regenerate that table for your own cache with `python uored_vafcls_data.py --report-encoding`. + +Two details that are easy to get wrong: + +- **The statistics are per recording, never per window.** A window-dependent scale — min-max normalisation, say — is scale-invariant, which would silently turn the training pipeline's random gain augmentation into a no-op. +- **The gain is applied before encoding**, to the float waveform, so it survives the rescale. The zero point sits at mid-scale, so the ~8% of gains that come out negative are a genuine polarity inversion rather than a clamp. + +The inverse lives *inside* the model, as a `Rescaling` layer, so full-precision training, quantization-aware tuning and Akida inference all see identical values; `cnn2snn` folds it into the first convolution at conversion. + +**This is a deviation from the source pipeline, and it costs accuracy.** The reference implementation applied no normalisation at all and scored 0.9317 ± 0.0436 over these same 100 folds. That number is *not* in the Model Card and could not honestly be put there: it was measured on raw float inputs that still contained the amplitude confound described above. The figures in the Model Card were all re-measured with this encoding. What mitigates the change is that the protocol's own augmentation is a random per-window rescale with σ = 0.7 — the model is *explicitly* trained to be amplitude-invariant, so a fixed per-recording rescale falls inside the augmentation's own hypothesis class. + +## Dataset setup + +The prepared cache downloads automatically on first use, to `--data` (default `./data/uored_vafcls`). To fetch it ahead of time: + +```bash +python uored_vafcls_data.py -d ./data/uored_vafcls +``` + +If you already hold the raw dataset, rebuild the cache from it instead. Download `1_CSV_Raw_Data_Files (.csv)` from the Mendeley record and point at the directory containing the five `1_Healthy` … `5_Cage_Faults` subfolders: + +```bash +python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files +``` + +To share one copy between checkouts, symlink it: + +```bash +ln -s /path/to/shared/uored_vafcls ./data/uored_vafcls +``` + +## Pipeline + +| Stage | Description | +|---|---| +| Full-precision training | 30 epochs, Adam, batch 120 (6 steps/epoch), cosine decay with 5% warmup to a peak LR of 2e-4 | +| Post-training quantization | `cnn2snn quantize` reduces to 4-bit weights and activations (8-bit input) | +| Quantization-aware tuning | 30 epochs at a peak LR of 2e-4, recovering part of the quantization loss | +| Conversion to Akida | `cnn2snn convert` produces the `.fbz` model that runs on hardware | + +Two notes on the recipe, both settled on folds 0–4: + +- **The learning-rate schedule spans the real step count.** The reference implementation hard-coded it and undershot by a sixth, leaving the last few epochs at a floor of zero — effectively training for fewer epochs than it appeared to. Here `total_steps` is derived from the dataset, so it cannot drift if the batch size or window count changes. +- **The QAT budget is larger than this repository's usual 2 epochs.** At 6 steps per epoch, 2 epochs is 12 optimizer steps, which recovers nothing. Even so, 4-bit quantization costs real accuracy on this architecture — compare the float and Akida rows of the Model Card. That cost is a property worth reporting, not a bug to tune away. + +## Reference Models + +The trained models in `pretrained_models/` are stored with Git LFS. See the [trained models section](../../../README.md#trained-models) of the top-level README if they arrive as text pointer files rather than real weights. + +## Usage + +### Notebook + +[`uored_vafcls_notebook_training.ipynb`](uored_vafcls_notebook_training.ipynb) walks through the whole pipeline on a single fold: the dataset and its two leakage traps, how a 1 s waveform becomes a framed uint8 tensor, training, quantization, tuning and conversion. It also loads `docs/cv_results.csv` to show the fold distribution without needing a two-hour run. + +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Brainchip-Inc/brainchip_devhub/blob/main/akida1/model_zoo/uored_vafcls/uored_vafcls_notebook_training.ipynb) + +[`uored_vafcls_notebook_benchmark.ipynb`](uored_vafcls_notebook_benchmark.ipynb) evaluates the converted model, measures activation sparsity, and runs the hardware latency and power benchmarks. + +> **Note:** the benchmark notebook needs a physical AKD1500 device, so it does not run in Colab. The power measurements additionally need the FTDI current sensor. + +### Script + +Run the full pipeline on one fold — build, train, quantize, tune, convert, evaluate at each stage, and benchmark: + +```bash +bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] +``` + +`FOLD` defaults to TBD and `SEED` to 0. It takes about a minute on a single GPU, plus benchmarking. The nine steps are the standard Akida 1 sequence; see the script for the exact commands. + +### Cross-validation + +**This is the command that produces the headline number.** + +```bash +python uored_vafcls_cross_validate.py --save-metrics +``` + +It runs the whole chain on each of the 100 evaluation folds, appending to `docs/cv_results.csv` after every fold, and takes roughly 30–60 minutes. It resumes by default, so an interrupted run picks up where it stopped. Add `--skip-akida` for a roughly 4× faster float-only sweep when comparing recipes, and `--first-fold`/`--last-fold` to split the work across machines. + +## Contributing and Maintenance + +`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags: + +```bash +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-metrics +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.h5 --save-metrics +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics +python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics +python uored_vafcls_cross_validate.py --save-metrics # 30-60 min +python uored_vafcls_cross_validate.py --first-fold 5 --last-fold 29 --seeds 3 \ + -o docs/cv_seed_std.csv --save-seed-std # the seed-noise figure +python update_readme.py +``` + +Each key in `metrics.json` has exactly one writer, so the scripts can be run in any order without racing. + +**The standing rule:** any change to the architecture, the training recipe or the `ENCODE_*` constants invalidates the cross-validated table, and requires a fresh 100-fold sweep. Re-running the fixed fold is *not* a substitute — that is the whole point of this example. diff --git a/akida1/model_zoo/uored_vafcls/colab_setup.py b/akida1/model_zoo/uored_vafcls/colab_setup.py new file mode 100644 index 0000000..9289aec --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/colab_setup.py @@ -0,0 +1,34 @@ +#This handles the set up necessary to run this notebook in Google Colab. + +import sys, os + +def setup(): + if 'google.colab' not in sys.modules: + print('Not running in Google Colab. No setup needed.') + return + + import subprocess + + def _run(cmd): + print(f'$ {cmd}') + subprocess.run(cmd, shell=True, check=True) + + REPO_URL = "https://github.com/Brainchip-Inc/brainchip_devhub.git" + REPO_DIR = "brainchip_devhub" + + if not os.path.exists(REPO_DIR): + _run(f"git clone --depth 1 {REPO_URL} {REPO_DIR}") + + EXAMPLE_SUBDIR = "akida1/model_zoo/uored_vafcls" + os.chdir(os.path.join(REPO_DIR, EXAMPLE_SUBDIR)) + + repo_root = os.path.abspath(os.path.join(os.getcwd(), "..", "..", "..")) + sys.path.insert(0, repo_root) + sys.path.insert(0, os.getcwd()) + + #install packages + _run("pip install -q akida_models==1.14.0 tf_keras pooch scikit-learn") + + print('Colab setup complete. Working directory:', os.getcwd()) + print('If TensorFlow was just installed, restart the runtime ' + '(Runtime > Restart runtime) and re-run this cell before continuing.') \ No newline at end of file diff --git a/akida1/model_zoo/uored_vafcls/data/.gitignore b/akida1/model_zoo/uored_vafcls/data/.gitignore new file mode 100644 index 0000000..f353a40 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/data/.gitignore @@ -0,0 +1,4 @@ +# Git to Ignore everything in this directory +* +# Except this .gitignore file +!.gitignore diff --git a/akida1/model_zoo/uored_vafcls/docs/README.md.template b/akida1/model_zoo/uored_vafcls/docs/README.md.template new file mode 100644 index 0000000..f19e151 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/docs/README.md.template @@ -0,0 +1,298 @@ +BrainChip Dev Hub + +# Bearing Fault Diagnosis (UORED-VAFCLS) + +Multi-label detection of rolling-element bearing faults — inner race, outer race, ball and cage — from one second of raw 42 kHz accelerometer data. The four faults are independent labels rather than classes, and a healthy bearing is the all-zero vector, not a fifth class. The reported metric is therefore macro AUROC, which needs no decision threshold. + +The interesting part of this example is not the model. It is the evaluation: this dataset makes it extremely easy to report a number that is far better than the model deserves, in at least two different ways, and most of what follows is about not doing that. + +## Model Card + +**Cross-validated performance** — {cv_folds} bearing-disjoint folds × {cv_seeds} seed. **This is the model's performance.** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StageMacro AUROC (mean ± std)Worst foldBest fold
Full precision{cv_float_auroc_mean} ± {cv_float_auroc_std}{cv_float_auroc_min}{cv_float_auroc_max}
Quantized + tuned (4-bit){cv_qat_auroc_mean} ± {cv_qat_auroc_std}
Akida{cv_akida_auroc_mean} ± {cv_akida_auroc_std}{cv_akida_auroc_min}{cv_akida_auroc_max}
+ +Standard error of the mean on the Akida figure is {cv_akida_auroc_sem}. Parameters: {params}. Activation sparsity: {sparsity}. + +> **Read the table above, not the one below.** Individual folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). + +Distribution of per-fold AUROC + +**Reference model** — fold {fixed_fold} only, the weights shipped in `pretrained_models/`. + + + + + + + + + + + + + + + + + + + + + + + + +
Float AUROCQAT AUROCAkida AUROCinnerouterballcage
{float_auroc}{qat_auroc}{akida_auroc}{akida_auroc_inner}{akida_auroc_outer}{akida_auroc_ball}{akida_auroc_cage}
+ +Fold {fixed_fold} is the *first* of the 100 evaluation folds. It was picked because it is first, not because of its score. It scores {cv_fixed_fold_akida_auroc} against the {cv_akida_auroc_mean} mean above. Every hardware number below comes from this one model on this one fold — **it is not the model's performance**, it is a fixed, reproducible artefact to benchmark. + +**AKD1500 hardware benchmark** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MappingNPsPassesCyclesLatency (ms)Total Power (mW)Total Energy (mJ/inf)Dyn. Power (mW)Dyn. Energy (mJ/inf)
Minimal{minimal_nps}{minimal_passes}{minimal_cycles}{minimal_latency_ms}{minimal_total_P}{minimal_total_E}{minimal_dyn_P}{minimal_dyn_E}
AllNPs{allnps_nps}{allnps_passes}{allnps_cycles}{allnps_latency_ms}{allnps_total_P}{allnps_total_E}{allnps_dyn_P}{allnps_dyn_E}
+ +Full model benchmark + +`Minimal` mapping uses the fewest neural processors that will hold the model; `AllNPs` spreads it over everything available, which usually trades power for latency. This model is an unusual case: it already saturates the device in `Minimal` mode, so the two mappings are nearly identical. + +The model maps entirely to hardware — 1 HRC input convolution, 41 CNP1 convolutional processors, one FNP2 and one FNP3 for the two fully-connected layers, in a single sequence over two passes. One caveat worth knowing before reading the per-layer plot: the `fc` layer's 2432 × 100 weight matrix does not fit in on-chip memory and needs 184 kB of external memory, so unlike most examples here there is real DMA traffic on every inference, and `fc` dominates the latency breakdown. + +Per-layer benchmark + +## Why cross-validation is not optional + +This dataset has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out. That is a small enough test set that the choice of which bearings are held out matters more than almost anything about the model: + +- The **across-fold** standard deviation is {cv_akida_auroc_std}, and folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} with the architecture, the recipe and the seed all held fixed. +- The **within-fold** standard deviation across random seeds is {cv_seed_std} (measured over {cv_seed_std_folds} folds at 3 seeds each) — comparable to the entire across-fold spread. + +So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. For scale: the WDCNN network this model descends from and this model itself differ by about 0.03 in their 100-fold means, which is *less* than one fold's seed-to-seed noise. Any comparison made on one fold is a coin toss dressed up as a result. + +The practical rules this example follows: + +1. **The reported number is the mean over all {cv_folds} evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. +2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. +3. **Single-fold artefacts are labelled as such.** The pretrained weights and every hardware measurement come from fold {fixed_fold}, and are presented as a fixed reference point, not a performance claim. + +## Requirements + +See the [requirements section](../../../README.md#requirements) of the top-level README for the environment used throughout this repository. + +This example additionally uses `scikit-learn` (for `roc_auc_score`, the reported metric), `pooch` (dataset download) and `pandas` (results bookkeeping; also `pyarrow` if you cross-check the split against the published fixtures). + +## Dataset + +**UORED-VAFCLS** — the University of Ottawa Rolling-element Dataset, Vibration and Acoustic Faults under Constant Load and Speed. 60 accelerometer recordings, each 10 s at 42 kHz, from 20 bearings. Every bearing contributes three recordings: one healthy, plus two severities of a single fault mode. + +| | | +|---|---| +| Recordings | 60 (20 bearings × 3) | +| Length | 10 s at 42 kHz (420,000 samples) | +| Model input | 1 s window, framed to 1200 × 35 | +| Labels | 4 independent: inner, outer, ball, cage (healthy = all zero) | +| Windows per fold | 720 training (random crops), 240 held-out (tiled) | + +Downloaded from [Mendeley Data, doi:10.17632/y2px5tg92h.5](https://data.mendeley.com/datasets/y2px5tg92h/5), licensed **CC BY 4.0** (https://creativecommons.org/licenses/by/4.0/): + +> Sehri, Maryam; Dumond, Patrick (2023), *"University of Ottawa Rolling-element Dataset – Vibration and Acoustic Faults under Constant Load and Speed conditions (UORED-VAFCLS)"*, Mendeley Data, V5, doi: 10.17632/y2px5tg92h.5 + +*Changes made, as the licence requires us to state:* the `Accelerometer` column of the raw CSVs is repacked unmodified into a single float32 `.npz`; the pipeline in this example then removes a per-recording DC offset and rescales each recording to an 8-bit range (see [Input encoding](#input-encoding)). + +The evaluation protocol, and the leakage argument behind it, follow: + +> J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) + +That work reports 0.9100 ± 0.0553 macro AUROC for a WDCNN on this protocol; a local reimplementation scored 0.9034 ± 0.0528 over the same 100 folds. Those figures are quoted for context only — they were measured on a different input pipeline, and are not comparable line-for-line with the Model Card (see [Input encoding](#input-encoding)). + +## Leakage and the bearing-level split + +**In this dataset, fault mode is a property of the bearing.** Bearings 1–5 have inner-race faults, 6–10 outer-race, 11–15 ball, 16–20 cage. No bearing ever exhibits two modes. The consequence is severe: under any split that is not bearing-disjoint, a model that simply re-identifies *which bearing it is listening to* scores near-perfectly without learning anything about faults at all. Near-duplicate slices of the same 10 s recording on both sides of the split are enough to make that trivial. + +The split here partitions on `bearing_id` **before any windowing**, holding out 2 bearings from each of the 4 fault modes — 8 of 20 bearings, and all three of each held-out bearing's recordings together. Enumerating every such choice gives C(5,2)⁴ = 10,000 folds, shuffled once with a fixed seed and indexed by fold number, so fold *N* here is fold *N* in the reference implementation. + +Verify it yourself, over all 105 tuning and evaluation folds: + +```bash +python uored_vafcls_data.py --check-splits +``` + +**There is a second, subtler leak in the raw signals.** Amplitude is partly a recording fingerprint rather than a fault signature. All ten inner-race recordings sit at a mean of 46.6–55.6 while every outer-race and ball recording sits at 0.9–3.1. Used alone, with no model at all, the per-recording *mean* scores 0.776 AUROC on the inner-race label and 0.744 on cage; the per-recording *standard deviation* scores 0.798 on inner-race. A pipeline that feeds unnormalised signals lets the network read a large part of the answer off the DC offset. The input encoding below removes it — which lowers the reported score, and should. + +## Input encoding + +Akida takes 8-bit inputs. That is not merely an implementation detail here, because per-recording signal standard deviation spans **69×** across this dataset (1.87 to 129.4) and 8 bits is 256 levels. A single global scale wide enough for the loudest recording puts the quietest one below a single quantisation level. Per-recording scaling is *forced* by the hardware; it is not a modelling choice. + +So each window is encoded from its own recording's statistics — the centre and the 99.9th percentile of absolute deviation, both computed once over the whole 10 s trace: + +| Headroom | uint8 levels per signal σ (min / median) | clipped at gain 1.0 | at 1.7 | at 2.4 | +|---|---|---|---|---| +| 1.0 | 13.4 / 30.3 | 0.0997% | 4.31% | 11.65% | +| **2.0** (used) | **6.7 / 15.1** | **0.0003%** | **0.026%** | **0.56%** | +| 3.0 | 4.5 / 10.1 | ~0% | 0.001% | 0.016% | + +Regenerate that table for your own cache with `python uored_vafcls_data.py --report-encoding`. + +Two details that are easy to get wrong: + +- **The statistics are per recording, never per window.** A window-dependent scale — min-max normalisation, say — is scale-invariant, which would silently turn the training pipeline's random gain augmentation into a no-op. +- **The gain is applied before encoding**, to the float waveform, so it survives the rescale. The zero point sits at mid-scale, so the ~8% of gains that come out negative are a genuine polarity inversion rather than a clamp. + +The inverse lives *inside* the model, as a `Rescaling` layer, so full-precision training, quantization-aware tuning and Akida inference all see identical values; `cnn2snn` folds it into the first convolution at conversion. + +**This is a deviation from the source pipeline, and it costs accuracy.** The reference implementation applied no normalisation at all and scored 0.9317 ± 0.0436 over these same 100 folds. That number is *not* in the Model Card and could not honestly be put there: it was measured on raw float inputs that still contained the amplitude confound described above. The figures in the Model Card were all re-measured with this encoding. What mitigates the change is that the protocol's own augmentation is a random per-window rescale with σ = 0.7 — the model is *explicitly* trained to be amplitude-invariant, so a fixed per-recording rescale falls inside the augmentation's own hypothesis class. + +## Dataset setup + +The prepared cache downloads automatically on first use, to `--data` (default `./data/uored_vafcls`). To fetch it ahead of time: + +```bash +python uored_vafcls_data.py -d ./data/uored_vafcls +``` + +If you already hold the raw dataset, rebuild the cache from it instead. Download `1_CSV_Raw_Data_Files (.csv)` from the Mendeley record and point at the directory containing the five `1_Healthy` … `5_Cage_Faults` subfolders: + +```bash +python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files +``` + +To share one copy between checkouts, symlink it: + +```bash +ln -s /path/to/shared/uored_vafcls ./data/uored_vafcls +``` + +## Pipeline + +| Stage | Description | +|---|---| +| Full-precision training | 30 epochs, Adam, batch 120 (6 steps/epoch), cosine decay with 5% warmup to a peak LR of 2e-4 | +| Post-training quantization | `cnn2snn quantize` reduces to 4-bit weights and activations (8-bit input) | +| Quantization-aware tuning | 30 epochs at a peak LR of 2e-4, recovering part of the quantization loss | +| Conversion to Akida | `cnn2snn convert` produces the `.fbz` model that runs on hardware | + +Two notes on the recipe, both settled on folds 0–4: + +- **The learning-rate schedule spans the real step count.** The reference implementation hard-coded it and undershot by a sixth, leaving the last few epochs at a floor of zero — effectively training for fewer epochs than it appeared to. Here `total_steps` is derived from the dataset, so it cannot drift if the batch size or window count changes. +- **The QAT budget is larger than this repository's usual 2 epochs.** At 6 steps per epoch, 2 epochs is 12 optimizer steps, which recovers nothing. Even so, 4-bit quantization costs real accuracy on this architecture — compare the float and Akida rows of the Model Card. That cost is a property worth reporting, not a bug to tune away. + +## Reference Models + +The trained models in `pretrained_models/` are stored with Git LFS. See the [trained models section](../../../README.md#trained-models) of the top-level README if they arrive as text pointer files rather than real weights. + +## Usage + +### Notebook + +[`uored_vafcls_notebook_training.ipynb`](uored_vafcls_notebook_training.ipynb) walks through the whole pipeline on a single fold: the dataset and its two leakage traps, how a 1 s waveform becomes a framed uint8 tensor, training, quantization, tuning and conversion. It also loads `docs/cv_results.csv` to show the fold distribution without needing a two-hour run. + +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Brainchip-Inc/brainchip_devhub/blob/main/akida1/model_zoo/uored_vafcls/uored_vafcls_notebook_training.ipynb) + +[`uored_vafcls_notebook_benchmark.ipynb`](uored_vafcls_notebook_benchmark.ipynb) evaluates the converted model, measures activation sparsity, and runs the hardware latency and power benchmarks. + +> **Note:** the benchmark notebook needs a physical AKD1500 device, so it does not run in Colab. The power measurements additionally need the FTDI current sensor. + +### Script + +Run the full pipeline on one fold — build, train, quantize, tune, convert, evaluate at each stage, and benchmark: + +```bash +bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] +``` + +`FOLD` defaults to {fixed_fold} and `SEED` to 0. It takes about a minute on a single GPU, plus benchmarking. The nine steps are the standard Akida 1 sequence; see the script for the exact commands. + +### Cross-validation + +**This is the command that produces the headline number.** + +```bash +python uored_vafcls_cross_validate.py --save-metrics +``` + +It runs the whole chain on each of the 100 evaluation folds, appending to `docs/cv_results.csv` after every fold, and takes roughly 30–60 minutes. It resumes by default, so an interrupted run picks up where it stopped. Add `--skip-akida` for a roughly 4× faster float-only sweep when comparing recipes, and `--first-fold`/`--last-fold` to split the work across machines. + +## Contributing and Maintenance + +`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags: + +```bash +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-metrics +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.h5 --save-metrics +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics +python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics +python uored_vafcls_cross_validate.py --save-metrics # 30-60 min +python uored_vafcls_cross_validate.py --first-fold 5 --last-fold 29 --seeds 3 \ + -o docs/cv_seed_std.csv --save-seed-std # the seed-noise figure +python update_readme.py +``` + +Each key in `metrics.json` has exactly one writer, so the scripts can be run in any order without racing. + +**The standing rule:** any change to the architecture, the training recipe or the `ENCODE_*` constants invalidates the cross-validated table, and requires a fresh 100-fold sweep. Re-running the fixed fold is *not* a substitute — that is the whole point of this example. diff --git a/akida1/model_zoo/uored_vafcls/docs/metrics.json b/akida1/model_zoo/uored_vafcls/docs/metrics.json new file mode 100644 index 0000000..8b7473a --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/docs/metrics.json @@ -0,0 +1,44 @@ +{ + "cv_folds": "TBD", + "cv_seeds": "TBD", + "cv_float_auroc_mean": "TBD", + "cv_float_auroc_std": "TBD", + "cv_float_auroc_min": "TBD", + "cv_float_auroc_max": "TBD", + "cv_qat_auroc_mean": "TBD", + "cv_qat_auroc_std": "TBD", + "cv_akida_auroc_mean": "TBD", + "cv_akida_auroc_std": "TBD", + "cv_akida_auroc_min": "TBD", + "cv_akida_auroc_max": "TBD", + "cv_akida_auroc_sem": "TBD", + "params": "TBD", + "sparsity": "TBD", + "fixed_fold": "TBD", + "float_auroc": "TBD", + "qat_auroc": "TBD", + "akida_auroc": "TBD", + "akida_auroc_inner": "TBD", + "akida_auroc_outer": "TBD", + "akida_auroc_ball": "TBD", + "akida_auroc_cage": "TBD", + "cv_fixed_fold_akida_auroc": "TBD", + "minimal_nps": "TBD", + "minimal_passes": "TBD", + "minimal_cycles": "TBD", + "minimal_latency_ms": "TBD", + "minimal_total_P": "TBD", + "minimal_total_E": "TBD", + "minimal_dyn_P": "TBD", + "minimal_dyn_E": "TBD", + "allnps_nps": "TBD", + "allnps_passes": "TBD", + "allnps_cycles": "TBD", + "allnps_latency_ms": "TBD", + "allnps_total_P": "TBD", + "allnps_total_E": "TBD", + "allnps_dyn_P": "TBD", + "allnps_dyn_E": "TBD", + "cv_seed_std": "TBD", + "cv_seed_std_folds": "TBD" +} diff --git a/akida1/model_zoo/uored_vafcls/docs/signal_mosaic.png b/akida1/model_zoo/uored_vafcls/docs/signal_mosaic.png new file mode 100644 index 0000000000000000000000000000000000000000..66a870866502050421dabcbd25500993ee97a3c6 GIT binary patch literal 277535 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

64j)n)If$idrViW&?)RkVIyfyjXapb?K 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 literal 0 HcmV?d00001 diff --git a/akida1/model_zoo/uored_vafcls/local_utils.py b/akida1/model_zoo/uored_vafcls/local_utils.py new file mode 100644 index 0000000..5c3196c --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/local_utils.py @@ -0,0 +1,30 @@ +from cnn2snn import quantize +from tf_keras import Model + + +def quantize_until(model, target_layer): + '''Quantize a model up to the named target layer only. + + Layers up to and including `target_layer` are quantized; everything + after is left as-is and re-attached to the quantized output. Useful for + bisecting which layer introduces a quantization accuracy drop. + + Note: assumes a linear (single input/output per layer) topology from + `target_layer` onwards, since remaining layers are re-called in sequence. + ''' + layer_names = [layer.name for layer in model.layers] + target_idx = layer_names.index(target_layer) + + # Get sub-model up to and including named layer + sub_model = Model(inputs=model.input, outputs=model.layers[target_idx].output) + # Quantize that sub-model + qsub_model = quantize(sub_model, weight_quantization=4, activ_quantization=4, input_weight_quantization=8) + + # Stitch remaining unquantized layers to the end of that + x = qsub_model.output + for layer in model.layers[target_idx + 1:]: + x = layer(x) + + # Return complete partially-quantized model + pq_model = Model(inputs=qsub_model.input, outputs=x, name='quantized_until_' + target_layer) + return pq_model \ No newline at end of file diff --git a/akida1/model_zoo/uored_vafcls/models/.gitignore b/akida1/model_zoo/uored_vafcls/models/.gitignore new file mode 100644 index 0000000..f353a40 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/models/.gitignore @@ -0,0 +1,4 @@ +# Git to Ignore everything in this directory +* +# Except this .gitignore file +!.gitignore diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py new file mode 100644 index 0000000..65bdab0 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py @@ -0,0 +1,193 @@ +#!/usr/bin/env python +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +""" +UORED-VAFCLS per-layer hardware benchmark. + +Runs a per-layer timing benchmark on an Akida UORED-VAFCLS model, prints a +summary table, and generates summary plots. + +The numbers describe one model trained on one fold. They are a property of the +architecture on this hardware, not of the model's diagnostic performance - for +that see uored_vafcls_cross_validate.py. + +Example +------- + python uored_vafcls_benchmark.py -l models/akdcnn_uored_vafcls_qat.fbz +""" +import argparse +import json +import pathlib +import sys +import time + +import akida +import numpy as np +from akida_models.sparsity import compute_sparsity + +from brainchip_utils.hardware_utils import (full_model_benchmark, + get_akida_device, + get_mapping_stats, + per_layer_benchmark) +from brainchip_utils.plot_utils import (plot_full_model_results, + plot_per_layer_results, + pretty_print_sparsity) +from uored_vafcls_data import FIXED_FOLD, get_samples + +if __name__ == '__main__': + parser = argparse.ArgumentParser( + description='Per-layer hardware benchmark for an Akida UORED-VAFCLS model') + parser.add_argument('-l', '--loadmodel', required=True, + help='Model to load (.fbz akida model)') + parser.add_argument('-d', '--data', default='./data/uored_vafcls', + help='Directory holding the prepared .npz cache') + parser.add_argument('--fold', type=int, default=FIXED_FOLD, + help='Fold whose training recordings the benchmark ' + 'windows are drawn from') + parser.add_argument('--seed', type=int, default=0, + help='Random seed for the benchmark sample draw') + parser.add_argument('--save-metrics', action='store_true', + help='Write benchmark values to metrics.json. Only ' + 'valid on the fixed fold') + args = parser.parse_args() + + NUM_SAMPLES = 100 + + if args.save_metrics and args.fold != FIXED_FOLD: + sys.exit(f'--save-metrics writes the README hardware table, which is ' + f'fold {FIXED_FOLD}; refusing to write fold {args.fold}.') + + # ------------------------------------------------------------------------- + # Model + # ------------------------------------------------------------------------- + ak_model = akida.Model(args.loadmodel) + imsize = tuple(ak_model.input_shape) + + # ------------------------------------------------------------------------- + # Device + # ------------------------------------------------------------------------- + device = get_akida_device(target_version=ak_model.ip_version) + if device is None: + sys.exit('No compatible Akida hardware device found. Skipping benchmarking') + + # TODO: Add a check to get clock frequency specific to device + CLOCK_FREQUENCY = 400e6 # 400 MHz for AKD1500 + + # ------------------------------------------------------------------------- + # Sample + # ------------------------------------------------------------------------- + # Processing in Akida is activity dependent (because it exploits sparsity) + # and that activity is dependent on the input. + # That makes it imperative to use real inputs when benchmarking Akida, + # rather than synthetic random samples. + samples = get_samples(args.data, imsize, num_samples=NUM_SAMPLES, + fold=args.fold, seed=args.seed) + + # ------------------------------------------------------------------------- + # Benchmarks + # ------------------------------------------------------------------------- + # Simple benchmarking + # Run a simple benchmark at batch-size=1, Minimal mapping mode + print('Running Simple Benchmark, Minimal map mode, batch-size=1') + + ak_model.map(device, mode=akida.MapMode.Minimal, hw_only=True) + + inf_clks = [] + inf_times = [] + for rr in range(NUM_SAMPLES): + start_t = time.perf_counter_ns() + ak_model.forward(samples[rr:rr + 1], batch_size=1) + inf_times.append(time.perf_counter_ns() - start_t) + # Get the number of on-device clock cycles for that inference + inf_clks.append(ak_model.metrics['inference_clk']) + + mean_inf_clk = np.mean(inf_clks)/CLOCK_FREQUENCY*1e3 # s to ms + mean_inf_time = np.mean(inf_times)*1e-6 # ns to ms + # The timing reported by the device should be very close to that + # measured on the system + print(f'\n Mean inference time (system clock): {mean_inf_time:.3f} ms ') + print(f' Mean on-chip time (via chip clock cycles): {mean_inf_clk:.3f} ms ') + + # ------------------------------------------------------------------------- + # Full-model benchmark (latency + optional power) + # ------------------------------------------------------------------------- + map_modes = ['Minimal', 'AllNps'] + POWER_REPEATS = 10 + full_results = dict() + for mm in map_modes: + map_mode = getattr(akida.MapMode, mm) + print(f'\nRunning full-model benchmark (MapMode={mm}, {POWER_REPEATS} repeat(s))...') + full_results[mm] = full_model_benchmark(ak_model, device, samples, + map_mode=map_mode, + repeats=POWER_REPEATS) + if full_results[mm] is None: + sys.exit(f'The model did not map fully to hardware in {mm} mode; ' + f'benchmarking cannot proceed.') + # Re-map without hw_only to populate ak_model.sequences for stats + ak_model.map(device, mode=map_mode) + num_nps, num_passes, num_sequences = get_mapping_stats(ak_model) + full_results[mm]['num_nps'] = num_nps + full_results[mm]['num_passes'] = num_passes + print(f' Mapping: {num_nps} NP(s), {num_passes} pass(es), {num_sequences} sequence(s)') + if num_sequences > 1: + print('WARNING: note, model not completely mapped to hardware') + + + # ------------------------------------------------------------------------- + # Per-layer Benchmark. Minimal mapping mode, batch-size 1 + # ------------------------------------------------------------------------- + ak_model.map(device, mode=akida.MapMode.Minimal, hw_only=True) + ak_model.summary() + + # Check sparsity per-layer + sparsity_dict = compute_sparsity(ak_model, samples=samples) + pretty_print_sparsity(sparsity_dict) + + print(f'Running per-layer benchmark ({NUM_SAMPLES} samples)...') + per_layer_results = per_layer_benchmark(ak_model, device, samples, repeats=NUM_SAMPLES) + + # ------------------------------------------------------------------------- + # Plots + # ------------------------------------------------------------------------- + # Map without hw_only so ak_model.sequences is available for plot_mapping + ak_model.map(device, mode=akida.MapMode.Minimal) + perlayer_savepath = 'benchmark_results_layers.png' + if args.save_metrics: + perlayer_savepath = pathlib.Path(__file__).parent / 'docs' / ('ref_'+perlayer_savepath) + plot_per_layer_results(per_layer_results, ak_model, sparsity_dict, + model_name=args.loadmodel, + savepath=perlayer_savepath) + print('\nPer-layer results plot saved to ' + str(perlayer_savepath)) + + full_savepath = 'benchmark_results_full.png' + if args.save_metrics: + full_savepath = pathlib.Path(__file__).parent / 'docs' / ('ref_'+full_savepath) + plot_full_model_results(full_results, ak_model, device, + model_name=args.loadmodel, + savepath=full_savepath) + print('Full model results plot saved to ' + str(full_savepath)) + + + if args.save_metrics: + # The is used to update the stored metrics that are used to generate the + # performance tables in the README of this folder. + # This should only be used for code maintenance, when the model or training + # pipeline is updated and a new trained model integrated. + # + # Note: 'sparsity' is deliberately NOT written here - uored_vafcls_eval.py + # owns that key, so that the accuracy table can be regenerated without + # hardware and the two scripts never race to set it. + metrics_path = pathlib.Path(__file__).parent / 'docs' / 'metrics.json' + metrics = json.loads(metrics_path.read_text()) if metrics_path.exists() else {} + for mm, res in full_results.items(): + prefix = mm.lower() + metrics[f'{prefix}_nps'] = str(res['num_nps']) + metrics[f'{prefix}_passes'] = str(res['num_passes']) + metrics[f'{prefix}_cycles'] = f'{res["mean_inf_clk"]:.0f}' + metrics[f'{prefix}_latency_ms'] = f'{res["mean_clk_ms"]:.3f}' + if res['power'] is not None: + metrics[f'{prefix}_total_P'] = f'{res["power"]["avg_total_mw"]:.1f}' + metrics[f'{prefix}_total_E'] = f'{res["power"]["avg_energy_mj"]:.3f}' + metrics[f'{prefix}_dyn_P'] = f'{res["power"]["avg_dynamic_mw"]:.1f}' + metrics[f'{prefix}_dyn_E'] = f'{res["power"]["avg_dynamic_energy_mj"]:.3f}' + metrics_path.write_text(json.dumps(metrics, indent=4) + '\n') + print(f'Metrics saved to {metrics_path}') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py new file mode 100644 index 0000000..260d8b1 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py @@ -0,0 +1,432 @@ +#!/usr/bin/env python +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +""" +UORED-VAFCLS cross-validation sweep. + +Runs the whole pipeline - float training, quantization, quantization-aware +tuning, conversion, Akida evaluation - independently on every bearing-disjoint +fold, and reports the mean and spread of macro AUROC for each stage. + +This is the script that produces the headline number for this example, and the +reason it exists is that a single fold does not support a conclusion. There are +only 20 bearings; a fold trains on 12 of them and is tested on 8. The AUROC +spread across folds is 0.04-0.05, and individual folds range from about 0.70 to +about 0.99 with the model and the seed held fixed. Two architectures differing +by a couple of AUROC points cannot be distinguished by one fold, and reporting +one fold's score as a model's performance is reporting noise. + +Folds 0-4 are the tuning budget - the only folds a hyperparameter may be chosen +on. Folds 5-104 are the 100 evaluation folds, and the mean over them is the +number to quote. + +Results accumulate in docs/cv_results.csv, one row per (fold, seed), flushed +after every fold. A run resumes by default, skipping rows already present, so an +interrupted sweep loses at most one fold. + +Runtime is roughly 30-60 s per fold, so about 1-2 hours for the default +100-fold full chain. --skip-akida drops the quantize/convert/Akida stages and is +about four times faster; use it for recipe sweeps. + +Example +------- + # the headline run + python uored_vafcls_cross_validate.py --save-metrics + + # a quick recipe comparison on the tuning folds + python uored_vafcls_cross_validate.py --first-fold 0 --last-fold 4 \\ + --skip-akida -o /tmp/tuning.csv +""" + +import argparse +import csv +import os +import pathlib +import time + +import numpy as np +import tensorflow as tf +from cnn2snn import AkidaVersion, convert, quantize, set_akida_version +from local_utils import quantize_until +from tqdm import tqdm + +from uored_vafcls_data import (BATCH_SIZE, EVAL_FOLDS, FIXED_FOLD, + LABEL_COLUMNS, get_data) +from uored_vafcls_eval import (auroc_scores, evaluate_akida_model, + predict_keras_model) +from uored_vafcls_model import build_uored_vafcls_model +from uored_vafcls_train import train_uored_vafcls + +# Same reason as in the training and evaluation scripts, and it matters most +# here: without deterministic ops, a fold's score moves by up to 0.024 between +# identical runs, which would swamp any recipe comparison this script is used for. +tf.config.experimental.enable_op_determinism() + +DEFAULT_OUT = pathlib.Path(__file__).parent / 'docs' / 'cv_results.csv' + +FIELDNAMES = ( + ['fold', 'seed', 'float_auroc', 'qat_auroc', 'akida_auroc'] + + [f'float_auroc_{name}' for name in LABEL_COLUMNS] + + [f'akida_auroc_{name}' for name in LABEL_COLUMNS] + + ['params', 'n_train_windows', 'n_test_windows', 'seconds'] +) + + +def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, + learning_rate=2e-4, qat_epochs=10, qat_learning_rate=5e-5, + batch_size=BATCH_SIZE, skip_akida=False, models_dir=None, + verbose=0): + """Run the full pipeline on one fold and return a result row. + + The stage order reproduces uored_vafcls_train.sh exactly, so a fold's + numbers here match what the shell pipeline would produce for the same + (fold, seed). + + Args: + fold (int): bearing-disjoint fold index. + seed (int): random seed for weights, crops, gains and shuffling. + data_path (str): directory holding the prepared .npz cache. + epochs (int): float training epochs. + learning_rate (float): peak LR for float training. + qat_epochs (int): quantization-aware tuning epochs. + qat_learning_rate (float): peak LR for tuning. + batch_size (int): batch size. + skip_akida (bool): stop after float training, leaving the quantized and + Akida columns empty. + models_dir (str, optional): write the per-fold model files here. Off by + default - a hundred folds' worth of checkpoints is a lot of noise. + verbose (int): passed through to model.fit. + + Returns: + dict: one row keyed by FIELDNAMES. + """ + started = time.time() + + with set_akida_version(AkidaVersion.v1): + model = build_uored_vafcls_model(seed=seed) + train_ds, test_ds = get_data(data_path, model.input_shape[1:], batch_size, + fold=fold, seed=seed) + + row = {name: '' for name in FIELDNAMES} + row.update(fold=fold, seed=seed, params=model.count_params(), + n_train_windows=len(train_ds) * batch_size, + n_test_windows=sum(1 for _ in test_ds.unbatch())) + + # --------------------------------------------------------------------------- + # Full precision + # --------------------------------------------------------------------------- + train_uored_vafcls(model, train_ds, test_ds, epochs, learning_rate, seed=seed) + float_scores = auroc_scores(*predict_keras_model(model, test_ds)) + row['float_auroc'] = f'{float_scores["macro"]:.6f}' + for name in LABEL_COLUMNS: + row[f'float_auroc_{name}'] = f'{float_scores[name]:.6f}' + + if models_dir is not None: + os.makedirs(models_dir, exist_ok=True) + model.save(os.path.join(models_dir, + f'akdcnn_uored_vafcls_fold{fold:03d}_' + f'seed{seed}.h5'), include_optimizer=False) + + if not skip_akida: + # ----------------------------------------------------------------------- + # Quantization, tuning and conversion + # ----------------------------------------------------------------------- + with set_akida_version(AkidaVersion.v1): + # qmodel = quantize(model, input_weight_quantization=8, + # weight_quantization=4, activ_quantization=4) + + # qmodel = quantize_until(model, 'fc_relu') + qmodel = quantize_until(model, 'block6_relu') + + qmodel.summary() + train_uored_vafcls(qmodel, train_ds, test_ds, qat_epochs, + qat_learning_rate, seed=seed) + qat_scores = auroc_scores(*predict_keras_model(qmodel, test_ds)) + row['qat_auroc'] = f'{qat_scores["macro"]:.6f}' + + # ak_model = convert(qmodel) + + # if models_dir is not None: + # qmodel.save(os.path.join(models_dir, + # f'akdcnn_uored_vafcls_fold{fold:03d}_' + # f'seed{seed}_qat.h5'), + # include_optimizer=False) + # ak_model.save(os.path.join(models_dir, + # f'akdcnn_uored_vafcls_fold{fold:03d}_' + # f'seed{seed}_qat.fbz')) + + # # ----------------------------------------------------------------------- + # # Akida + # # ----------------------------------------------------------------------- + # akida_scores = auroc_scores(*evaluate_akida_model(ak_model, test_ds)) + # row['akida_auroc'] = f'{akida_scores["macro"]:.6f}' + # for name in LABEL_COLUMNS: + # row[f'akida_auroc_{name}'] = f'{akida_scores[name]:.6f}' + + row['seconds'] = f'{time.time() - started:.1f}' + return row + + +def _existing_rows(out_path): + """Return the (fold, seed) pairs already present in the results file.""" + if not os.path.exists(out_path): + return set() + with open(out_path, newline='') as handle: + return {(int(r['fold']), int(r['seed'])) for r in csv.DictReader(handle) + if r.get('fold')} + + +def cross_validate(folds, seeds, out_path=DEFAULT_OUT, resume=True, **kwargs): + """Run every (fold, seed) combination, appending results as they complete. + + Args: + folds (iterable): fold indices to run. + seeds (iterable): seeds to run for each fold. + out_path (str): CSV to append results to. + resume (bool): skip (fold, seed) pairs already in out_path. When False, + the file is overwritten. + **kwargs: passed to run_fold. + + Returns: + list: the rows produced by this invocation. + """ + folds, seeds = list(folds), list(seeds) + out_path = str(out_path) + os.makedirs(os.path.dirname(out_path) or '.', exist_ok=True) + + if not resume and os.path.exists(out_path): + os.remove(out_path) + done = _existing_rows(out_path) if resume else set() + + todo = [(f, s) for f in folds for s in seeds if (f, s) not in done] + if done: + print(f'Resuming: {len(done)} of {len(folds) * len(seeds)} ' + f'(fold, seed) results already in {out_path}') + if not todo: + print('Nothing to do.') + return [] + + write_header = not os.path.exists(out_path) + rows = [] + progress = tqdm(todo, desc='Cross-validating', unit='fold') + with open(out_path, 'a', newline='') as handle: + writer = csv.DictWriter(handle, fieldnames=FIELDNAMES) + if write_header: + writer.writeheader() + for fold, seed in progress: + row = run_fold(fold, seed=seed, **kwargs) + writer.writerow(row) + # Flushed per fold so an interrupted sweep loses at most one fold. + handle.flush() + rows.append(row) + recent = [float(r['float_auroc']) for r in rows if r['float_auroc']] + progress.set_postfix(float_mean=f'{np.mean(recent):.4f}') + + return rows + + +def _read_results(out_path): + """Read the results CSV into a dict of column -> list.""" + with open(out_path, newline='') as handle: + return [row for row in csv.DictReader(handle) if row.get('fold')] + + +def _per_fold(rows, column): + """Seed-average a column, returning one value per fold. + + Averaging over seeds before averaging over folds is what the protocol does, + and it matters: it keeps each fold weighted equally regardless of how many + seeds happen to have been run for it. + """ + by_fold = {} + for row in rows: + if row.get(column): + by_fold.setdefault(int(row['fold']), []).append(float(row[column])) + return {fold: float(np.mean(values)) for fold, values in sorted(by_fold.items())} + + +def summarise(rows, fixed_fold=FIXED_FOLD, quiet=False): + """Report the fold distribution for each stage and return the cv_* metrics. + + Args: + rows (list): result rows, as read from the CSV. + fixed_fold (int): the fold the pretrained models come from, reported so + the README can say where it sits in the distribution. + quiet (bool): suppress printing. + + Returns: + dict: the cv_* metrics keys. + """ + seeds = {int(row['seed']) for row in rows} + folds = {int(row['fold']) for row in rows} + metrics = {'cv_folds': str(len(folds)), 'cv_seeds': str(len(seeds))} + + for stage in ('float', 'qat', 'akida'): + per_fold = _per_fold(rows, f'{stage}_auroc') + if not per_fold: + continue + values = np.array(list(per_fold.values())) + mean, std = values.mean(), values.std(ddof=0) + sem = std / len(values) ** 0.5 + + metrics[f'cv_{stage}_auroc_mean'] = f'{mean:.4f}' + metrics[f'cv_{stage}_auroc_std'] = f'{std:.4f}' + if stage in ('float', 'akida'): + metrics[f'cv_{stage}_auroc_min'] = f'{values.min():.4f}' + metrics[f'cv_{stage}_auroc_max'] = f'{values.max():.4f}' + if stage == 'akida': + metrics['cv_akida_auroc_sem'] = f'{sem:.4f}' + if fixed_fold in per_fold: + metrics['cv_fixed_fold_akida_auroc'] = \ + f'{per_fold[fixed_fold]:.4f}' + + if not quiet: + print(f'\n{stage} macro AUROC over {len(values)} folds x ' + f'{len(seeds)} seed(s), seed-averaged per fold:') + print(f' mean {mean:.4f} std {std:.4f} sem {sem:.4f}') + print(f' min {values.min():.4f} median {np.median(values):.4f} ' + f'max {values.max():.4f}') + if len(seeds) > 1: + within = np.mean([np.std(v, ddof=0) for v in + _by_fold_values(rows, f'{stage}_auroc')]) + print(f' mean within-fold seed std {within:.4f} ' + f'<- the spread a single seed hides') + metrics[f'cv_{stage}_auroc_seed_std'] = f'{within:.4f}' + + return metrics + + +def _by_fold_values(rows, column): + """Group a column's raw values by fold, for within-fold seed statistics.""" + by_fold = {} + for row in rows: + if row.get(column): + by_fold.setdefault(int(row['fold']), []).append(float(row[column])) + return [v for v in by_fold.values() if len(v) > 1] + + +def plot_distribution(rows, fixed_fold, savepath): + """Histogram the per-fold AUROCs, marking the fixed fold and the mean.""" + import matplotlib + matplotlib.use('Agg') + import matplotlib.pyplot as plt + + per_fold = _per_fold(rows, 'akida_auroc') or _per_fold(rows, 'float_auroc') + values = np.array(list(per_fold.values())) + + fig, ax = plt.subplots(figsize=(8, 4.5)) + ax.hist(values, bins=20, color='#4C72B0', edgecolor='white') + ax.axvline(values.mean(), color='#C44E52', linewidth=2, + label=f'mean {values.mean():.4f}') + if fixed_fold in per_fold: + ax.axvline(per_fold[fixed_fold], color='#55A868', linestyle='--', + linewidth=2, + label=f'fold {fixed_fold} (pretrained) ' + f'{per_fold[fixed_fold]:.4f}') + ax.set_xlabel('macro AUROC on the held-out bearings') + ax.set_ylabel('folds') + ax.set_title(f'Per-fold performance over {len(values)} ' + f'bearing-disjoint folds') + ax.legend() + fig.tight_layout() + fig.savefig(savepath, dpi=150) + print(f'Distribution plot saved to {savepath}') + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-d', '--data', default='./data/uored_vafcls', + help='Directory holding the prepared .npz cache') + parser.add_argument('--first-fold', type=int, default=EVAL_FOLDS.start, + help='First fold to run (inclusive)') + parser.add_argument('--last-fold', type=int, default=EVAL_FOLDS.stop - 1, + help='Last fold to run (inclusive)') + parser.add_argument('--seeds', type=int, default=1, + help='Number of seeds per fold; seeds are range(N)') + parser.add_argument('-b', '--batch_size', type=int, default=BATCH_SIZE) + parser.add_argument('-e', '--epochs', type=int, default=30) + parser.add_argument('-lr', '--learning_rate', type=float, default=2e-4) + parser.add_argument('--qat-epochs', type=int, default=10) + parser.add_argument('--qat-learning-rate', type=float, default=5e-5) + parser.add_argument('-o', '--out', default=str(DEFAULT_OUT), + help='CSV to append per-fold results to. Two machines ' + 'must not append to the same file') + parser.add_argument('--no-resume', action='store_true', + help='Overwrite the results file instead of resuming') + parser.add_argument('--skip-akida', action='store_true', + help='Float training only - no quantization, tuning or ' + 'Akida evaluation. About four times faster') + parser.add_argument('--keep-models', action='store_true', + help='Write each fold\'s models to models/cv/') + parser.add_argument('--summarise-only', action='store_true', + help='Summarise an existing results file without ' + 'running anything') + parser.add_argument('--save-metrics', action='store_true', + help='Write the cv_* keys and the distribution plot to ' + 'docs/. Requires a complete evaluation sweep') + parser.add_argument('--save-seed-std', action='store_true', + help='Write only cv_seed_std, the mean within-fold ' + 'spread across seeds. For the multi-seed subset ' + 'run, which deliberately covers few folds') + args = parser.parse_args() + + folds = range(args.first_fold, args.last_fold + 1) + + if not args.summarise_only: + cross_validate( + folds, range(args.seeds), out_path=args.out, + resume=not args.no_resume, data_path=args.data, + epochs=args.epochs, learning_rate=args.learning_rate, + qat_epochs=args.qat_epochs, + qat_learning_rate=args.qat_learning_rate, + batch_size=args.batch_size, skip_akida=args.skip_akida, + models_dir='./models/cv' if args.keep_models else None) + + rows = _read_results(args.out) + metrics = summarise(rows) + + if args.save_seed_std: + import json + + # Quoted in the README's cross-validation section as the measured + # single-seed uncertainty. It comes from the multi-seed subset run + # rather than the headline sweep, which is one seed per fold. + groups = _by_fold_values(rows, 'akida_auroc') \ + or _by_fold_values(rows, 'float_auroc') + if not groups: + raise SystemExit('--save-seed-std needs at least two seeds for at ' + 'least one fold; run with --seeds 3.') + seed_std = float(np.mean([np.std(v, ddof=0) for v in groups])) + + metrics_path = pathlib.Path(__file__).parent / 'docs' / 'metrics.json' + stored = json.loads(metrics_path.read_text()) if metrics_path.exists() else {} + stored['cv_seed_std'] = f'{seed_std:.4f}' + stored['cv_seed_std_folds'] = str(len(groups)) + metrics_path.write_text(json.dumps(stored, indent=4) + '\n') + print(f'\nMean within-fold seed std {seed_std:.4f} over {len(groups)} ' + f'folds, saved to {metrics_path}') + + if args.save_metrics: + import json + + # The published aggregate must describe the whole evaluation range, or + # the README would quote a mean over whichever folds happened to run. + have = {int(row['fold']) for row in rows} + missing = set(EVAL_FOLDS) - have + if missing: + raise SystemExit( + f'--save-metrics needs every evaluation fold ' + f'({EVAL_FOLDS.start}-{EVAL_FOLDS.stop - 1}); ' + f'{len(missing)} are missing, e.g. {sorted(missing)[:5]}.') + if not any(row.get('akida_auroc') for row in rows): + raise SystemExit('--save-metrics needs the Akida column; this ' + 'looks like a --skip-akida run.') + + docs = pathlib.Path(__file__).parent / 'docs' + metrics_path = docs / 'metrics.json' + stored = json.loads(metrics_path.read_text()) if metrics_path.exists() else {} + stored.update(metrics) + metrics_path.write_text(json.dumps(stored, indent=4) + '\n') + print(f'\nMetrics saved to {metrics_path}') + + plot_distribution(rows, FIXED_FOLD, + docs / 'ref_cv_auroc_distribution.png') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py new file mode 100644 index 0000000..b8bb0f4 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py @@ -0,0 +1,783 @@ +#!/usr/bin/env python +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +""" +UORED-VAFCLS bearing fault data pipeline. + +Turns 10 s raw accelerometer recordings into 1 s uint8 "images" that an Akida +convolutional model can consume directly: + + raw vibration (42 kHz) -> 1 s window (42000 samples) + -> random gain (training only) + -> per-recording DC removal + rescale to uint8 + -> reshape to (1200, 35, 1) + +The reshape is a plain framing, not a spectrogram: row j is samples +[35j, 35j+35), so the row axis is coarse time (1200 frames, 0.833 ms apart) and +the column axis is fine phase within a frame. It happens here rather than in the +model because an Akida graph cannot contain a reshape - the deployed model +receives the already-framed tensor. + +The split is bearing-disjoint and drawn *before* any windowing. Fault mode is +determined by bearing id in this dataset (inner=1-5, outer=6-10, ball=11-15, +cage=16-20), so a model given any split that is not bearing-disjoint can score +near-perfectly by re-identifying the bearing without learning anything about +faults. Each bearing contributes three recordings - its own healthy one plus two +severities of a single fault mode - and holding a bearing out removes all three. + +Folds are enumerated, not tabulated: every way of holding out 2 bearings from +each of the 4 fault modes gives C(5,2)^4 = 10,000 folds, shuffled once with a +fixed seed and indexed by fold number. Folds 0-4 are the tuning budget; folds +5-104 are the 100 evaluation folds. FIXED_FOLD (5) is the one the pretrained +models and the hardware benchmark use. + +Labels are multi-label, not one-of-N: [inner, outer, ball, cage], with healthy +encoded as the all-zero vector rather than a fifth class. The reported metric is +macro AUROC (see uored_vafcls_eval.py) - there is no argmax prediction here, so +an accuracy figure would depend on an arbitrary threshold. + +Usage: + from uored_vafcls_data import get_data, get_test_data, get_samples + + train_ds, test_ds = get_data('./data/uored_vafcls', (1200, 35, 1), + batch_size=120, fold=5, seed=0) + test_ds = get_test_data('./data/uored_vafcls', (1200, 35, 1), fold=5) + samples = get_samples('./data/uored_vafcls', (1200, 35, 1), num_samples=100) + +Check the split protocol, or the input encoding, without training anything: + python uored_vafcls_data.py --check-splits + python uored_vafcls_data.py --report-encoding + +Rebuild the cache from the raw Mendeley CSVs: + python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files +""" + +import functools +import os +import random +from itertools import combinations, product + +import numpy as np +import tensorflow as tf + +# --------------------------------------------------------------------------- +# Dataset definition +# --------------------------------------------------------------------------- +DEFAULT_DATA_PATH = './data/uored_vafcls' +CACHE_NAME = 'uored_vafcls_42khz_60rec.npz' + +# The prepared cache is mirrored so the example runs without a manual download. +# The raw dataset is distributed as per-recording CSVs from Mendeley, which is +# not fetchable as a single file; --prepare-raw rebuilds this .npz from them. +MIRROR_URL = ('https://data.brainchip.com/dataset-mirror/uored_vafcls/' + + CACHE_NAME) +MIRROR_HASH = None # TODO: sha256 once the mirror is uploaded + +SAMPLE_RATE = 42_000 # Hz +SIGNAL_LENGTH = 420_000 # 10 s per recording +N_RECORDINGS = 60 # 20 bearings x (1 healthy + 2 fault severities) + +# Fault mode is a property of the bearing in this dataset. This mapping is what +# makes a non-bearing-disjoint split leak, and it is why the split enumerates +# bearings rather than recordings. +FAULT_BEARING_IDS = { + 'inner': (1, 2, 3, 4, 5), + 'outer': (6, 7, 8, 9, 10), + 'ball': (11, 12, 13, 14, 15), + 'cage': (16, 17, 18, 19, 20), +} +LABEL_COLUMNS = ('inner', 'outer', 'ball', 'cage') +NUM_LABELS = 4 + +# --------------------------------------------------------------------------- +# Split protocol +# --------------------------------------------------------------------------- +N_BEARINGS_PER_FAULT_MODE = 2 # 2 of 5 held out per mode -> 8 of 20 bearings +SPLIT_SEED = 42 # fixes the fold numbering; see the note below +TUNING_FOLDS = range(0, 5) # the only folds a hyperparameter may be chosen on +EVAL_FOLDS = range(5, 105) # the 100 folds the reported mean comes from +FIXED_FOLD = 5 # pretrained models + hardware benchmark + +# --------------------------------------------------------------------------- +# Windowing +# --------------------------------------------------------------------------- +WINDOW_LENGTH = 42_000 # 1.0 s +FRAME_WIDTH = 35 # samples per frame; 42000 / 35 = 1200 frames +INPUT_SHAPE = (WINDOW_LENGTH // FRAME_WIDTH, FRAME_WIDTH, 1) # (1200, 35, 1) + +TRAIN_WINDOWS_PER_RECORDING = 20 # 36 recordings x 20 = 720 windows per epoch +EVAL_WINDOWS_PER_RECORDING = 10 # 24 recordings x 10 = 240 windows, tiled +GAIN_STD = 0.7 # random scalar gain, N(1, GAIN_STD) +BATCH_SIZE = 120 # exact divisor of 720 -> 6 steps per epoch + +# --------------------------------------------------------------------------- +# uint8 input encoding +# --------------------------------------------------------------------------- +# Akida takes 8-bit inputs, and per-recording std in this dataset spans 69x +# (1.87 to 129.4). No single global scale fits that into 256 levels: one wide +# enough for the loudest recording leaves the quietest under one level. So the +# encoding is per *recording* - computed from the whole 10 s trace, never from +# the window being encoded, because a window-dependent scale (min-max, say) is +# scale-invariant and would silently turn the gain augmentation into a no-op. +# +# Removing the per-recording mean is not only a concession to 8 bits. The raw +# signals carry a DC offset that is itself a fault-mode fingerprint: all ten +# inner-race recordings sit at mean 46.6-55.6 while every outer and ball +# recording sits at 0.9-3.1. On its own the per-recording mean scores 0.776 +# macro AUROC on inner-race and the std scores 0.798 - a shortcut the model can +# read without looking at the vibration at all. Centring and rescaling per +# recording deletes it. See the README's "Input encoding" section: this is a +# deliberate deviation from the source pipeline, and the reason the source's +# published figure is not the figure in the Model Card. +ZERO_POINT = 128 # mid-scale, so a negative gain is a real polarity flip +ENCODE_PERCENTILE = 99.9 # robust peak of |x - center|, per recording +ENCODE_HEADROOM = 2.0 # room for the gain augmentation before it clips + + +# --------------------------------------------------------------------------- +# Split protocol +# --------------------------------------------------------------------------- +def held_out_bearings_for_fold(fold, n_per_mode=N_BEARINGS_PER_FAULT_MODE, + seed=SPLIT_SEED): + """Return the sorted bearing ids held out for `fold`. + + Enumerates every way of choosing `n_per_mode` bearings from each of the four + fault modes (2 -> C(5,2)^4 = 10,000 folds), shuffles that list once with a + fixed seed, and indexes it by `fold`. + + The enumeration order and the shuffle are reproduced exactly from the + protocol's reference implementation, so fold N here holds out the same + bearings as fold N there. Do not "tidy" this function: any change to the + ordering silently renumbers all 10,000 folds and every published per-fold + number stops meaning what it says. + + Args: + fold (int): fold index, 0 to 9999. + n_per_mode (int): bearings held out per fault mode. + seed (int): seed for the one-off shuffle of the enumeration. + + Returns: + list: the held-out bearing ids, sorted ascending. + """ + per_mode = [list(combinations(ids, n_per_mode)) + for ids in FAULT_BEARING_IDS.values()] + all_combos = list(product(*per_mode)) + random.Random(seed).shuffle(all_combos) + + if not 0 <= fold < len(all_combos): + raise IndexError(f'fold {fold} out of range for {len(all_combos)} folds') + + selected = all_combos[fold] + return sorted({bearing for mode in selected for bearing in mode}) + + +def fold_rows(bearing_id, fold, n_per_mode=N_BEARINGS_PER_FAULT_MODE, + seed=SPLIT_SEED): + """Split recording indices into train and test rows for `fold`. + + Args: + bearing_id (np.ndarray): per-recording bearing id, shape (N_RECORDINGS,). + fold (int): fold index. + n_per_mode (int): bearings held out per fault mode. + seed (int): seed for the fold enumeration shuffle. + + Returns: + np.ndarray, np.ndarray: training row indices, test row indices. + """ + test_bearings = held_out_bearings_for_fold(fold, n_per_mode, seed) + is_test = np.isin(bearing_id, test_bearings) + return np.flatnonzero(~is_test), np.flatnonzero(is_test) + + +# --------------------------------------------------------------------------- +# Input encoding +# --------------------------------------------------------------------------- +def encoding_constants(signals): + """Compute the per-recording centre and full-scale value. + + Both are derived from the entire 10 s recording, so they are a fixed + property of the recording rather than of any window drawn from it. + + Args: + signals (np.ndarray): float32, shape (N_RECORDINGS, SIGNAL_LENGTH). + + Returns: + np.ndarray, np.ndarray: centre and scale, both float32 (N_RECORDINGS,). + """ + center = signals.mean(axis=1).astype(np.float32) + deviation = np.abs(signals - center[:, None]) + scale = ENCODE_HEADROOM * np.percentile(deviation, ENCODE_PERCENTILE, axis=1) + # return center, scale.astype(np.float32) + # HACK: Hard coding a single scaling factor + center = np.zeros_like(center) + scale = np.ones_like(scale)*127. + return center, scale + + + +def encode_uint8(window, center, scale): + """Encode a float window as uint8 centred on ZERO_POINT. + + The model's Rescaling layer inverts this exactly, so float training, QAT and + Akida inference all see the same values. + + Args: + window (np.ndarray): float32 samples, any shape. + center (float): the recording's centre, from encoding_constants(). + scale (float): the recording's full-scale value. + + Returns: + np.ndarray: uint8, same shape as `window`. + """ + normalised = (window - center) / scale + return np.clip(np.round(ZERO_POINT + 127.0 * normalised), 0, 255).astype(np.uint8) + + +def frame_window(x, width=FRAME_WIDTH): + """Frame the trailing sample axis into (frames, width, 1). + + Leaves any leading batch axes alone, so it works on one window or a stack. + + Args: + x (np.ndarray): shape (..., WINDOW_LENGTH). + width (int): samples per frame. + + Returns: + np.ndarray: shape (..., WINDOW_LENGTH // width, width, 1). + """ + if x.shape[-1] % width: + raise ValueError(f'window length {x.shape[-1]} is not divisible by the ' + f'frame width {width}') + return np.ascontiguousarray(x.reshape(*x.shape[:-1], -1, width))[..., None] + + +# --------------------------------------------------------------------------- +# Cache +# --------------------------------------------------------------------------- +def _cache_path(data_path): + return os.path.join(data_path, CACHE_NAME) + + +@functools.lru_cache(maxsize=1) +def _load_cache(data_path): + """Load the prepared recordings and derive the encoding constants. + + lru_cached because uored_vafcls_cross_validate.py calls get_data() a hundred + times in one process; without this it would re-read ~100 MB and recompute 60 + percentiles on every fold. + + Args: + data_path (str): directory holding (or to receive) the .npz cache. + + Returns: + dict: signals, labels, bearing_id, fault_type, severity, rpm, + waveform_id, center, scale. + """ + path = _cache_path(data_path) + if not os.path.exists(path): + _download_cache(data_path) + + with np.load(path, allow_pickle=False) as data: + cache = {key: data[key] for key in data.files} + + signals = cache['signals'] + if signals.shape != (N_RECORDINGS, SIGNAL_LENGTH): + raise ValueError(f'{path}: expected signals of shape ' + f'{(N_RECORDINGS, SIGNAL_LENGTH)}, got {signals.shape}') + + cache['center'], cache['scale'] = encoding_constants(signals) + return cache + + +def _download_cache(data_path): + """Fetch the prepared .npz from the BrainChip dataset mirror.""" + import pooch + + if MIRROR_HASH is None: + print('Note: MIRROR_HASH is not set yet, so the download cannot be ' + 'checksum-verified.') + os.makedirs(data_path, exist_ok=True) + print(f'Downloading the prepared UORED-VAFCLS cache to {data_path} ...') + pooch.retrieve(url=MIRROR_URL, known_hash=MIRROR_HASH, path=data_path, + fname=CACHE_NAME) + + +def _check_input_shape(input_shape): + if tuple(input_shape) != INPUT_SHAPE: + raise ValueError( + f'This example is built around a fixed input shape of {INPUT_SHAPE} ' + f'(a {WINDOW_LENGTH}-sample window framed {FRAME_WIDTH} samples ' + f'wide), but got {tuple(input_shape)}.') + + +def _labels(cache, rows): + return cache['labels'][rows].astype(np.float32) + + +def _describe(name, cache, rows): + """Print what a set of recordings contains, by bearing and fault mode.""" + bearings = sorted(set(cache['bearing_id'][rows].tolist())) + counts = {} + for fault_type in cache['fault_type'][rows]: + counts[str(fault_type)] = counts.get(str(fault_type), 0) + 1 + breakdown = ', '.join(f'{k} {v}' for k, v in sorted(counts.items())) + print(f'{name}: {len(rows)} recordings from {len(bearings)} bearings ' + f'{bearings} ({breakdown})') + + +# --------------------------------------------------------------------------- +# Window generation +# --------------------------------------------------------------------------- +def _train_dataset(cache, rows, batch_size, dtype, seed): + """Random 1 s crops with a random gain, re-drawn every epoch.""" + signals, center, scale = cache['signals'], cache['center'], cache['scale'] + labels = _labels(cache, rows) + n_items = len(rows) * TRAIN_WINDOWS_PER_RECORDING + + # An independent generator, not the global Keras RNG. The shell pipeline + # re-seeds in a fresh process between building and training, so only an + # independent data RNG makes the in-process cross-validation path and the + # multi-process shell path draw the same crops for a given (fold, seed). + rng = np.random.default_rng(seed) + + def generator(): + for idx in range(n_items): + i = idx % len(rows) + row = rows[i] + start = rng.integers(0, SIGNAL_LENGTH - WINDOW_LENGTH) + window = np.array(signals[row, start:start + WINDOW_LENGTH], + dtype=np.float32) + # Gain is applied to the float waveform, before encoding, so that it + # survives the per-recording rescale instead of cancelling out. + window *= np.float32(rng.normal(1.0, GAIN_STD)) + window = encode_uint8(window, center[row], scale[row]) + yield frame_window(window), labels[i] + + signature = (tf.TensorSpec(shape=INPUT_SHAPE, dtype=tf.uint8), + tf.TensorSpec(shape=(NUM_LABELS,), dtype=tf.float32)) + return ( + tf.data.Dataset.from_generator(generator, output_signature=signature) + # Declared so that len(train_ds) works, which is how the training script + # derives steps_per_epoch for the LR schedule. + .apply(tf.data.experimental.assert_cardinality(n_items)) + .shuffle(n_items, seed=seed, reshuffle_each_iteration=True) + .batch(batch_size, drop_remainder=True) + .map(lambda x, y: (tf.cast(x, dtype), y)) + .prefetch(tf.data.AUTOTUNE) + ) + + +def _eval_arrays(cache, rows): + """Deterministic contiguous tiling: EVAL_WINDOWS_PER_RECORDING per recording. + + Small enough to materialise (240 x 1200 x 35 uint8 is about 10 MB). + """ + signals, center, scale = cache['signals'], cache['center'], cache['scale'] + labels = _labels(cache, rows) + windows, targets = [], [] + for i, row in enumerate(rows): + for j in range(EVAL_WINDOWS_PER_RECORDING): + start = j * WINDOW_LENGTH + window = np.array(signals[row, start:start + WINDOW_LENGTH], + dtype=np.float32) + windows.append(encode_uint8(window, center[row], scale[row])) + targets.append(labels[i]) + return frame_window(np.stack(windows)), np.stack(targets) + + +def _eval_dataset(cache, rows, batch_size, dtype): + x, y = _eval_arrays(cache, rows) + return ( + tf.data.Dataset.from_tensor_slices((x, y)) + .batch(batch_size) + .map(lambda a, b: (tf.cast(a, dtype), b)) + .prefetch(tf.data.AUTOTUNE) + ) + + +# --------------------------------------------------------------------------- +# Public API +# --------------------------------------------------------------------------- +def get_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, + batch_size=BATCH_SIZE, dtype=tf.uint8, fold=FIXED_FOLD, seed=0): + """Load the training and held-out datasets for one bearing-disjoint fold. + + There is deliberately no validation split. With 36 training recordings, + carving one out would cost about a sixth of the data and would itself have to + be bearing-disjoint to mean anything; nothing in the pipeline consumes it + (the recipe is a fixed epoch count with no early stopping and no best-weight + restore); and the protocol reserves folds 0-4 for exactly the tuning a + validation set would otherwise serve. The second dataset returned is the + held-out fold - the test set - and no decision may be taken from it. + + Args: + data_path (str): directory holding the .npz cache. Downloaded if absent. + input_shape (tuple): model input shape; must be INPUT_SHAPE. + batch_size (int): the batch size. BATCH_SIZE divides the 720 training + windows exactly, giving 6 steps per epoch. + dtype (tf.dtypes.DType, optional): input data type. Defaults to tf.uint8. + fold (int): bearing-disjoint fold index. Folds 0-4 are the tuning + budget; 5-104 are the evaluation folds. Defaults to FIXED_FOLD. + seed (int): seed for the crop positions, the gains and the shuffle + order. The split itself does not depend on it. + + Returns: + tf.data.Dataset, tf.data.Dataset: training dataset, held-out dataset. + """ + _check_input_shape(input_shape) + cache = _load_cache(data_path) + + train_rows, test_rows = fold_rows(cache['bearing_id'], fold) + print(f'Fold {fold}: holding out bearings ' + f'{held_out_bearings_for_fold(fold)}') + _describe('Train', cache, train_rows) + _describe('Held out', cache, test_rows) + + return (_train_dataset(cache, train_rows, batch_size, dtype, seed), + _eval_dataset(cache, test_rows, batch_size, dtype)) + + +def get_test_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, + batch_size=BATCH_SIZE, dtype=tf.uint8, fold=FIXED_FOLD): + """Load only the held-out dataset for one fold. + + Deterministic: EVAL_WINDOWS_PER_RECORDING contiguous windows per recording, + no augmentation, so repeated evaluations of one model agree exactly. + + Args: + data_path (str): directory holding the .npz cache. + input_shape (tuple): model input shape; must be INPUT_SHAPE. + batch_size (int): the batch size. + dtype (tf.dtypes.DType, optional): input data type. Defaults to tf.uint8. + fold (int): bearing-disjoint fold index. Defaults to FIXED_FOLD. + + Returns: + tf.data.Dataset: held-out dataset yielding (uint8 windows, float labels). + """ + _check_input_shape(input_shape) + cache = _load_cache(data_path) + + _, test_rows = fold_rows(cache['bearing_id'], fold) + _describe(f'Held out (fold {fold})', cache, test_rows) + + return _eval_dataset(cache, test_rows, batch_size, dtype) + + +def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, + num_samples=1024, fold=FIXED_FOLD, seed=0): + """Load a block of training windows as a plain uint8 numpy array. + + Used for activation-sparsity measurement and hardware benchmarking, both of + which need uint8 numpy input rather than a dataset. The draw is over the + fold's *training* recordings: Akida timings depend on input activity, so the + windows have to be real, but they must not come from held-out data. + + Up to EVAL_WINDOWS_PER_RECORDING per training recording (360 for a standard + fold) are the deterministic tiled windows; beyond that the remainder are + seeded random crops. + + Args: + data_path (str): directory holding the .npz cache. + input_shape (tuple): model input shape; must be INPUT_SHAPE. + num_samples (int): number of windows to return. Defaults to 1024. + fold (int): bearing-disjoint fold index. Defaults to FIXED_FOLD. + seed (int): seed for the draw order and for any random crops. Akida + timings and sparsity depend on input activity, so varying this + varies the measurement. + + Returns: + np.ndarray: shape (num_samples,) + INPUT_SHAPE, dtype uint8. + """ + _check_input_shape(input_shape) + cache = _load_cache(data_path) + signals, center, scale = cache['signals'], cache['center'], cache['scale'] + + train_rows, _ = fold_rows(cache['bearing_id'], fold) + rng = np.random.default_rng(seed) + + tiled, _ = _eval_arrays(cache, train_rows) + idx = rng.permutation(len(tiled))[:num_samples] + samples = tiled[idx] + + shortfall = num_samples - len(samples) + if shortfall > 0: + extra = np.empty((shortfall, WINDOW_LENGTH), dtype=np.uint8) + for k in range(shortfall): + row = train_rows[rng.integers(0, len(train_rows))] + start = rng.integers(0, SIGNAL_LENGTH - WINDOW_LENGTH) + window = np.array(signals[row, start:start + WINDOW_LENGTH], + dtype=np.float32) + extra[k] = encode_uint8(window, center[row], scale[row]) + samples = np.concatenate([samples, frame_window(extra)]) + + return samples.astype(np.uint8) + + +# --------------------------------------------------------------------------- +# Raw data preparation +# --------------------------------------------------------------------------- +FOLDER_FAULT_TYPE = { + '1_Healthy': 'Healthy', + '2_Inner_Race_Faults': 'Inner', + '3_Outer_Race_Faults': 'Outer', + '4_Ball_Faults': 'Ball', + '5_Cage_Faults': 'Cage', +} +FAULT_TYPE_TO_LABEL = {'Inner': 'inner', 'Outer': 'outer', + 'Ball': 'ball', 'Cage': 'cage'} + + +def prepare_raw(raw_dir, data_path=DEFAULT_DATA_PATH): + """Rebuild the .npz cache from the raw Mendeley CSV tree. + + Only needed to reproduce the mirrored cache from the original dataset, or + after changing what the cache stores. Expects the layout of + `1_CSV_Raw_Data_Files (.csv)` from https://data.mendeley.com/datasets/y2px5tg92h/5: + + /1_Healthy/H__0.csv + /2_Inner_Race_Faults/I__.csv + /3_Outer_Race_Faults/O__.csv + /4_Ball_Faults/B__.csv + /5_Cage_Faults/C__.csv + + Folder order and the sorted glob within each folder fix the row ordering, + which is load-bearing: the fold logic indexes recordings by row. + + Args: + raw_dir (str): directory holding the five fault-type subfolders. + data_path (str): directory to write the .npz cache into. + + Returns: + str: path to the written cache. + """ + import glob + + import pandas as pd + + signals = np.zeros((N_RECORDINGS, SIGNAL_LENGTH), dtype=np.float32) + records = [] + + for folder, fault_type in FOLDER_FAULT_TYPE.items(): + directory = os.path.join(raw_dir, folder) + if not os.path.isdir(directory): + raise FileNotFoundError(f'missing raw folder {directory}') + + for path in sorted(glob.glob(os.path.join(directory, '*.csv'))): + stem = os.path.splitext(os.path.basename(path))[0] + _, bearing_id, severity = stem.split('_') + frame = pd.read_csv(path, usecols=['Accelerometer', 'Speed']) + vibration = frame['Accelerometer'].to_numpy(dtype=np.float32) + if vibration.size != SIGNAL_LENGTH: + raise ValueError(f'{os.path.basename(path)}: expected ' + f'{SIGNAL_LENGTH} samples, got {vibration.size}') + + row_idx = len(records) + signals[row_idx] = vibration + label = np.zeros(NUM_LABELS, dtype=np.float32) + if fault_type != 'Healthy': + label[LABEL_COLUMNS.index(FAULT_TYPE_TO_LABEL[fault_type])] = 1.0 + + records.append({ + 'waveform_id': f'{bearing_id}_{fault_type}_{severity}', + 'bearing_id': int(bearing_id), + 'fault_type': fault_type, + 'severity': int(severity), + # The tachometer channel is sparsely populated; the first row's + # value is what the protocol uses. Analysis only - never an input. + 'rpm': int(frame['Speed'].iloc[0]), + 'label': label, + }) + + if len(records) != N_RECORDINGS: + raise ValueError(f'expected {N_RECORDINGS} recordings, ' + f'found {len(records)}') + + os.makedirs(data_path, exist_ok=True) + path = _cache_path(data_path) + np.savez( + path, + signals=signals, + labels=np.stack([r['label'] for r in records]), + row_idx=np.arange(N_RECORDINGS, dtype=np.int32), + bearing_id=np.array([r['bearing_id'] for r in records], dtype=np.int32), + severity=np.array([r['severity'] for r in records], dtype=np.int32), + rpm=np.array([r['rpm'] for r in records], dtype=np.int32), + waveform_id=np.array([r['waveform_id'] for r in records]), + fault_type=np.array([r['fault_type'] for r in records]), + label_columns=np.array(LABEL_COLUMNS), + fs=np.array(SAMPLE_RATE, dtype=np.int32), + ) + return path + + +# --------------------------------------------------------------------------- +# Self-checks +# --------------------------------------------------------------------------- +def check_splits(data_path=DEFAULT_DATA_PATH, folds=None, fixtures=None): + """Assert the split protocol holds for every fold. + + This is the port-fidelity test: if the fold enumeration were renumbered, or + the split drawn at the wrong granularity, these assertions catch it. + + Args: + data_path (str): directory holding the .npz cache. + folds (iterable, optional): folds to check. Defaults to every tuning and + evaluation fold. + fixtures (str, optional): directory of published run_*.parquet split + fixtures to cross-check the held-out bearing sets against. + + Returns: + int: the number of folds checked. + """ + cache = _load_cache(data_path) + bearing_id = cache['bearing_id'] + fault_type = cache['fault_type'] + all_bearings = set(bearing_id.tolist()) + folds = list(folds) if folds is not None else (list(TUNING_FOLDS) + + list(EVAL_FOLDS)) + + n_train = (len(all_bearings) - NUM_LABELS * N_BEARINGS_PER_FAULT_MODE) * 3 + n_test = NUM_LABELS * N_BEARINGS_PER_FAULT_MODE * 3 + + for fold in folds: + held_out = held_out_bearings_for_fold(fold) + train_rows, test_rows = fold_rows(bearing_id, fold) + + train_bearings = set(bearing_id[train_rows].tolist()) + test_bearings = set(bearing_id[test_rows].tolist()) + + assert not train_bearings & test_bearings, \ + f'fold {fold}: bearings on both sides: {train_bearings & test_bearings}' + assert train_bearings | test_bearings == all_bearings, \ + f'fold {fold}: bearings missing from the split' + assert test_bearings == set(held_out), \ + f'fold {fold}: test bearings {sorted(test_bearings)} != {held_out}' + assert len(train_rows) == n_train, \ + f'fold {fold}: {len(train_rows)} train recordings, expected {n_train}' + assert len(test_rows) == n_test, \ + f'fold {fold}: {len(test_rows)} test recordings, expected {n_test}' + + for mode, ids in FAULT_BEARING_IDS.items(): + n_held = len(test_bearings & set(ids)) + assert n_held == N_BEARINGS_PER_FAULT_MODE, \ + (f'fold {fold}: {n_held} {mode} bearings held out, ' + f'expected {N_BEARINGS_PER_FAULT_MODE}') + + # Every fault mode must appear on both sides, or a label column is + # constant in the test set and its AUROC is undefined. + for rows, side in ((train_rows, 'train'), (test_rows, 'test')): + present = {str(f) for f in fault_type[rows]} + assert present == {'Healthy', 'Inner', 'Outer', 'Ball', 'Cage'}, \ + f'fold {fold}: {side} side is missing fault types: {present}' + + print(f'Split protocol holds for {len(folds)} folds ' + f'({n_train} train / {n_test} test recordings each).') + + if fixtures is not None: + _check_against_fixtures(fixtures, folds) + + return len(folds) + + +def _check_against_fixtures(fixtures, folds): + """Cross-check held-out bearing sets against published split fixtures. + + Each run_.parquet holds a single row with `train_ids` and `test_ids` + columns listing bearing ids. Matching them fold-for-fold is the strongest + available evidence that the fold enumeration was ported without renumbering. + """ + import glob + + import pandas as pd + + checked = 0 + for path in sorted(glob.glob(os.path.join(fixtures, 'run_*.parquet'))): + fold = int(os.path.splitext(os.path.basename(path))[0].split('_')[1]) + if fold not in folds: + continue + frame = pd.read_parquet(path) + expected = sorted(int(b) for b in frame['test_ids'].iloc[0]) + actual = held_out_bearings_for_fold(fold) + assert actual == expected, \ + f'fold {fold}: held out {actual}, fixture says {expected}' + checked += 1 + + if checked: + print(f'Held-out bearings match the published fixtures for ' + f'{checked} folds.') + else: + print(f'No run_*.parquet fixtures found in {fixtures}.') + + +def report_encoding(data_path=DEFAULT_DATA_PATH): + """Print the per-recording encoding constants and their cost. + + This is how ENCODE_HEADROOM gets re-justified after any change: it reports + how many uint8 levels one signal standard deviation spans, and what fraction + of samples clip at plausible augmentation gains. + """ + cache = _load_cache(data_path) + signals, center, scale = cache['signals'], cache['center'], cache['scale'] + + std = signals.std(axis=1) + levels = 127.0 * std / scale + + print(f'Per-recording encoding, headroom {ENCODE_HEADROOM}, ' + f'percentile {ENCODE_PERCENTILE}, zero point {ZERO_POINT}') + print(f' centre min {center.min():9.3f} max {center.max():9.3f}') + print(f' signal std min {std.min():9.3f} max {std.max():9.3f} ' + f'ratio {std.max() / std.min():.1f}x') + print(f' uint8 levels per signal sigma: min {levels.min():.1f} ' + f'median {np.median(levels):.1f} max {levels.max():.1f}') + + print('\n clipped samples by augmentation gain:') + for gain in (1.0, 1.0 + GAIN_STD, 1.0 + 2 * GAIN_STD): + normalised = gain * (signals - center[:, None]) / scale[:, None] + clipped = np.abs(ZERO_POINT + 127.0 * normalised - ZERO_POINT) > 127.0 + per_recording = clipped.mean(axis=1) + print(f' gain {gain:4.1f} mean {per_recording.mean() * 100:7.4f}% ' + f'worst recording {per_recording.max() * 100:8.4f}%') + + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser( + description='Build, check and report on the UORED-VAFCLS data pipeline') + parser.add_argument('-d', '--data', default=DEFAULT_DATA_PATH, + help='Directory holding the prepared .npz cache') + parser.add_argument('--fold', type=int, default=FIXED_FOLD, + help='Bearing-disjoint fold to summarise') + parser.add_argument('--seed', type=int, default=0, + help='Seed for the crop positions, gains and shuffle') + parser.add_argument('--prepare-raw', metavar='RAW_DIR', default=None, + help='Rebuild the .npz cache from the raw Mendeley CSV ' + 'tree instead of downloading it') + parser.add_argument('--check-splits', action='store_true', + help='Assert bearing-disjointness and the recording ' + 'counts for all 105 tuning and evaluation folds') + parser.add_argument('--fixtures', default=None, + help='Directory of published run_*.parquet split ' + 'fixtures to cross-check --check-splits against') + parser.add_argument('--report-encoding', action='store_true', + help='Report the per-recording uint8 encoding constants ' + 'and how much they clip') + args = parser.parse_args() + + if args.prepare_raw is not None: + path = prepare_raw(args.prepare_raw, args.data) + print(f'Wrote {path} ({os.path.getsize(path) / 1e6:.0f} MB)') + _load_cache.cache_clear() + + if args.check_splits: + check_splits(args.data, fixtures=args.fixtures) + + if args.report_encoding: + report_encoding(args.data) + + if not (args.check_splits or args.report_encoding): + train_ds, test_ds = get_data(args.data, fold=args.fold, seed=args.seed) + samples = get_samples(args.data, num_samples=100, fold=args.fold, + seed=args.seed) + print(f'\nBatches: train {len(train_ds)}, held out {len(test_ds)}') + print(f'Samples for benchmarking: {samples.shape} {samples.dtype} ' + f'range [{samples.min()}, {samples.max()}]') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py new file mode 100644 index 0000000..41fca1d --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py @@ -0,0 +1,218 @@ +#!/usr/bin/env python +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +""" +UORED-VAFCLS evaluation for tf_keras or akida models. + +The reported metric is macro AUROC over the four fault labels, not accuracy. +Healthy bearings are encoded as the all-zero label vector rather than a fifth +class, so there is no argmax prediction to be right or wrong about: any accuracy +or F1 figure would depend on a decision threshold nobody has chosen. AUROC is +threshold-free and is what the protocol this example follows reports. + +Scores from a single fold are of limited use on their own - the spread across +folds is far wider than the difference between models worth comparing. Use +uored_vafcls_cross_validate.py for a number that means something. + +Example +------- + python uored_vafcls_eval.py -d ./data/uored_vafcls \\ + -l models/akdcnn_uored_vafcls.h5 +""" +import argparse +import json +import pathlib + +import akida +import numpy as np +import tensorflow as tf +from cnn2snn import load_quantized_model +from sklearn.metrics import roc_auc_score +from tqdm import tqdm + +from akida_models.sparsity import compute_sparsity +from brainchip_utils.hardware_utils import get_akida_device +from brainchip_utils.plot_utils import pretty_print_sparsity +from uored_vafcls_data import (FIXED_FOLD, LABEL_COLUMNS, BATCH_SIZE, + get_samples, get_test_data) + +tf.config.experimental.enable_op_determinism() + +# Windows used to measure activation sparsity. Held under the 360 deterministic +# training windows a fold provides, so the measurement is repeatable. +NUM_SPARSITY_SAMPLES = 240 + + +# --------------------------------------------------------------------------- +# Metrics +# --------------------------------------------------------------------------- +def auroc_scores(logits, labels): + """Macro and per-label AUROC. + + Uses the same scikit-learn function the reference protocol uses, so the + metric can never be the source of a discrepancy between this port and the + published numbers. + + Args: + logits (np.ndarray): raw model outputs, shape (N, len(LABEL_COLUMNS)). + labels (np.ndarray): binary indicator labels, same shape. + + Returns: + dict: 'macro' plus one entry per label in LABEL_COLUMNS. + """ + per_label = roc_auc_score(labels, logits, average=None) + scores = {'macro': float(roc_auc_score(labels, logits, average='macro'))} + scores.update({name: float(v) for name, v in zip(LABEL_COLUMNS, per_label)}) + return scores + + +def report(scores, split_label): + """Print the macro and per-label AUROC.""" + print(f'\n{split_label} macro AUROC: {scores["macro"]:.4f}') + print('Per-label AUROC:') + for name in LABEL_COLUMNS: + print(f' {name:<6} {scores[name]:.4f}') + + +# --------------------------------------------------------------------------- +# Inference +# --------------------------------------------------------------------------- +def predict_keras_model(model, dataset): + """Run inference with a tf_keras model and return (logits, labels).""" + logits_all, labels_all = [], [] + for batch, label_batch in dataset: + logits_all.append(model.predict(batch, verbose=0)) + labels_all.append(label_batch.numpy()) + return np.concatenate(logits_all), np.concatenate(labels_all) + + +def evaluate_akida_model(akida_model, val_dataset): + """Run inference with an Akida model and return (logits, labels). + + Returns logits rather than predictions: AUROC is rank-based and multi-label, + so thresholding here would throw away exactly the information it needs. + """ + device = get_akida_device(target_version=akida_model.ip_version) + if device is not None: + akida_model.map(device, mode=akida.MapMode.Minimal) + print('Running inference on Akida hardware device') + akida_model.summary() + + labels_all = None + logits_all = None + + # Akida can't directly digest the tensorflow dataset, we need to + # manually iterate over the dataset to deliver inputs as numpy arrays + for batch, label_batch in tqdm(val_dataset, desc="Evaluating on Akida"): + if not isinstance(batch, np.ndarray): + batch = batch.numpy() + + # Inference on Akida + logits_batch = akida_model.predict(batch) + logits_batch = logits_batch.squeeze(axis=(1, 2)) # (B, 1, 1, C) -> (B, C) + + if labels_all is None: + labels_all = label_batch + logits_all = logits_batch + else: + labels_all = np.concatenate([labels_all, label_batch]) + logits_all = np.concatenate([logits_all, logits_batch]) + + return logits_all, np.asarray(labels_all) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-l', '--loadmodel', required=True, + help='Model to load (.h5 tf_keras or .fbz akida model)') + parser.add_argument('-d', '--data', default='./data/uored_vafcls', + help='Directory holding the prepared .npz cache') + parser.add_argument('-b', '--batch_size', type=int, default=BATCH_SIZE) + parser.add_argument('--fold', type=int, default=FIXED_FOLD, + help='Bearing-disjoint fold to evaluate on') + parser.add_argument('--seed', type=int, default=0, + help='Random seed for the sparsity sample draw') + parser.add_argument('--save-metrics', action='store_true', + help='Write AUROC (and param count for .h5) to ' + 'metrics.json. Only valid on the fixed fold') + args = parser.parse_args() + + # --------------------------------------------------------------------------- + # Model + # --------------------------------------------------------------------------- + if args.loadmodel.endswith('.h5'): + model = load_quantized_model(args.loadmodel) + isakida = False + imsize = model.input_shape[1:] + elif args.loadmodel.endswith('.fbz'): + model = akida.Model(args.loadmodel) + isakida = True + imsize = tuple(model.input_shape) + else: + raise ValueError(f'Unsupported model file: {args.loadmodel}') + + # --------------------------------------------------------------------------- + # Data loading + # --------------------------------------------------------------------------- + test_ds = get_test_data(args.data, imsize, batch_size=args.batch_size, + fold=args.fold) + + # --------------------------------------------------------------------------- + # Evaluation + # --------------------------------------------------------------------------- + if isakida: + logits, labels = evaluate_akida_model(model, test_ds) + else: + logits, labels = predict_keras_model(model, test_ds) + + scores = auroc_scores(logits, labels) + report(scores, f'Fold {args.fold} held-out') + + # --------------------------------------------------------------------------- + # Activation sparsity + # --------------------------------------------------------------------------- + sparsity = None + if isakida: + samples = get_samples(args.data, imsize, + num_samples=NUM_SPARSITY_SAMPLES, + fold=args.fold, seed=args.seed) + sparsity_dict = compute_sparsity(model, samples=samples) + pretty_print_sparsity(sparsity_dict) + sparsity = float(np.mean(list(sparsity_dict.values()))) + print(f'Mean activation sparsity over {NUM_SPARSITY_SAMPLES} windows: ' + f'{sparsity * 100:.2f}%') + + # --------------------------------------------------------------------------- + # Persist metrics + # --------------------------------------------------------------------------- + if args.save_metrics: + # The is used to update the stored metrics that are used to generate the + # performance tables in the README of this folder. + # This should only be used for code maintenance, when the model or training + # pipeline is updated and a new trained model integrated. + # + # Guarded on the fold: the README's reference table is specifically the + # fixed fold, and a stray --fold would otherwise silently replace it + # with a number from a different held-out set. + if args.fold != FIXED_FOLD: + raise SystemExit( + f'--save-metrics writes the README reference table, which is ' + f'fold {FIXED_FOLD}; refusing to write results from fold ' + f'{args.fold}.') + + metrics_path = pathlib.Path(__file__).parent / 'docs' / 'metrics.json' + metrics = json.loads(metrics_path.read_text()) if metrics_path.exists() else {} + auroc_str = f'{scores["macro"]:.4f}' + metrics['fixed_fold'] = str(args.fold) + if isakida: + metrics['akida_auroc'] = auroc_str + metrics['sparsity'] = f'{sparsity * 100:.2f}%' + # The per-label breakdown is only reported for the deployed model. + for name in LABEL_COLUMNS: + metrics[f'akida_auroc_{name}'] = f'{scores[name]:.4f}' + elif 'qat' in pathlib.Path(args.loadmodel).stem: + metrics['qat_auroc'] = auroc_str + else: + metrics['float_auroc'] = auroc_str + metrics['params'] = f'{model.count_params():,}' + metrics_path.write_text(json.dumps(metrics, indent=4) + '\n') + print(f'Metrics saved to {metrics_path}') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py new file mode 100644 index 0000000..2e9bc69 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py @@ -0,0 +1,151 @@ +#!/usr/bin/env python +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +""" +UORED-VAFCLS bearing fault model (akdcnn). + +A 2D convolutional network over a framed 1 s vibration window, descended from +WDCNN but rebuilt to map wholly onto Akida 1 hardware. + +Input representation +-------------------- +The model takes the 42000-sample window already framed to (1200, 35, 1) by the +data pipeline, not the raw waveform. The framing is outside the graph because an +Akida model cannot contain a reshape - the deployed network receives the framed +tensor directly. Row j is samples [35j, 35j+35), so the row axis is coarse time +(1200 frames, 0.833 ms apart) and the column axis is fine phase within a frame, +much like the framing of a speech signal. The 7x7 stem therefore correlates 7 +consecutive samples across 7 consecutive frames: a lag/phase view. + +(The source repo's docstring claimed this stem was equivalent to a (49, 1) +kernel at stride 7. That was true only of an earlier variant which transposed +the two axes before framing; that transpose is not applied here, and the +equivalence does not hold for this layout.) + +Input scaling is part of the model: a Rescaling layer inverts the data +pipeline's uint8 encoding, mapping [0, 255] back to the roughly [-1, 1] range +the network trains on. Keeping it in the graph means float training, quantized +training and Akida inference all see identical values, and cnn2snn folds the +layer into the first convolution at conversion time. + +Hardware constraints that fixed the geometry +-------------------------------------------- +Two AKD1500 constraints drove the design, and both are load-bearing: + +* The long dimension has to come first, hence (1200, 35) rather than (35, 1200). +* Every layer's second spatial dimension must stay above 1, which is why the + last two blocks omit their max-pool: the height runs 35 -> 29 -> 14 -> 7 -> 4 + -> 2 -> 1, and a sixth pool would take it to 0. + +Initializers +------------ +The source repo used custom initializers that reproduced PyTorch's defaults, to +keep a Keras port numerically comparable with a PyTorch reference. That +reference is not part of this example, and the custom bias initializer is what +forced a custom_object_scope workaround around every quantize and convert call +(Keras resolves initializers by name when it clones a model, including inside +the `cnn2snn convert` CLI where no scope can be installed). Keras defaults are +used here instead, which removes that whole class of problem. + +Example +------- + python uored_vafcls_model.py -s models/akdcnn_uored_vafcls_untrained.h5 +""" + +import argparse + +from cnn2snn import AkidaVersion, set_akida_version +from tf_keras import Model +from tf_keras.layers import (BatchNormalization, Conv2D, Dense, Flatten, Input, + MaxPooling2D, ReLU, Rescaling) +from tf_keras.utils import set_random_seed + +from uored_vafcls_data import INPUT_SHAPE, NUM_LABELS, ZERO_POINT + +# BatchNorm settings carried over from the source model. +BN_MOMENTUM = 0.9 +BN_EPSILON = 1e-5 + +# Filters per block, and whether the block pools. The last two do not: the +# height is already 1 by then (see the module docstring). +BLOCK_FILTERS = (32, 64, 64, 64, 64, 64) +BLOCK_POOLING = (True, True, True, True, False, False) + +STEM_FILTERS = 16 +STEM_KERNEL = (7, 7) +DENSE_UNITS = 100 +RELU_MAX = 6.0 + + +def _conv_block(x, filters, name, kernel=(3, 3), padding='same', pool=True, + pool_padding='same'): + """Conv -> BatchNorm -> ReLU6 [-> MaxPool], with no convolution bias. + + The bias is omitted because the BatchNorm that follows immediately + reintroduces a per-channel offset, so a conv bias would be redundant, and + cnn2snn folds the BatchNorm into the convolution at conversion. + """ + x = Conv2D(filters, kernel, padding=padding, use_bias=False, + name=f'{name}_conv')(x) + x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, + name=f'{name}_bn')(x) + x = ReLU(max_value=RELU_MAX, name=f'{name}_relu')(x) + if pool: + x = MaxPooling2D((2, 2), strides=(2, 2), padding=pool_padding, + name=f'{name}_pool')(x) + return x + + +def build_uored_vafcls_model(seed=0): + """Build the untrained akdcnn model. + + Args: + seed (int): random seed for weight initialization. + + Returns: + tf_keras.Model: the model, expecting uint8 inputs of shape INPUT_SHAPE + and returning NUM_LABELS raw logits (one per fault mode; a healthy + bearing is all four logits low, not a fifth class). + """ + set_random_seed(seed) + + with set_akida_version(AkidaVersion.v1): + inputs = Input(shape=INPUT_SHAPE, name='input') + + # Inverts the data pipeline's uint8 encoding. Folded into stem_conv at + # conversion, giving input_scaling = (127, ZERO_POINT). + x = Rescaling(1.0 / 127.0, -ZERO_POINT / 127.0, name='rescaling')(inputs) + + # Stem: a dense convolution with no padding, so the first layer sees the + # raw framed signal. + x = _conv_block(x, STEM_FILTERS, 'stem', kernel=STEM_KERNEL, + padding='valid', pool=True, pool_padding='valid') + + for i, (filters, pool) in enumerate(zip(BLOCK_FILTERS, BLOCK_POOLING), + start=1): + x = _conv_block(x, filters, f'block{i}', pool=pool) + + x = Flatten(name='flatten')(x) + x = Dense(DENSE_UNITS, name='fc')(x) + x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, + name='fc_bn')(x) + x = ReLU(name='fc_relu')(x) + outputs = Dense(NUM_LABELS, name='predictions')(x) + + model = Model(inputs, outputs, name='akdcnn_uored_vafcls') + + return model + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-s', '--savepath', + default='./models/akdcnn_uored_vafcls_untrained.h5', + help='Model save path') + parser.add_argument('--seed', type=int, default=0, + help='Random seed for reproducibility') + args = parser.parse_args() + + model = build_uored_vafcls_model(seed=args.seed) + model.summary() + model.save(args.savepath, include_optimizer=False) + print(f'Model saved to {args.savepath}') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py new file mode 100644 index 0000000..2e64c78 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py @@ -0,0 +1,172 @@ +#!/usr/bin/env python +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +""" +UORED-VAFCLS bearing fault training. + +Used for both stages of the pipeline: full-precision training from the untrained +model, and quantization-aware tuning of the quantized one. Only the loaded +model, the epoch count and the learning rate differ between the two. + +The loss is binary cross-entropy over four independent fault labels, not a +softmax over classes: a bearing can in principle show more than one fault, and +a healthy bearing is the all-zero label vector rather than a fifth class. The +model emits raw logits, so `from_logits=True` throughout. + +There is no validation set, and consequently no early stopping, no +learning-rate-on-plateau and no best-weight restore. This is deliberate. The +only data not used for training is the held-out fold, and selecting weights on +that would be exactly the leakage the bearing-disjoint split exists to prevent. +The recipe is instead fixed - a set epoch count, evaluated at the final epoch - +and folds 0-4 are reserved as the budget for choosing it. Please do not "fix" +this by adding a callback that monitors the held-out fold. + +Example +------- + python uored_vafcls_train.py -l models/akdcnn_uored_vafcls_untrained.h5 \\ + -s models/akdcnn_uored_vafcls.h5 -e 30 -lr 2e-4 --fold 5 +""" + +import argparse + +import tensorflow as tf +from cnn2snn import load_quantized_model +from tf_keras import regularizers +from tf_keras.layers import ReLU +from tf_keras.losses import BinaryCrossentropy +from tf_keras.metrics import AUC +from tf_keras.optimizers.legacy import Adam +from tf_keras.optimizers.schedules import CosineDecay +from tf_keras.utils import set_random_seed + +from uored_vafcls_data import FIXED_FOLD, NUM_LABELS, BATCH_SIZE, get_data + +# Must be called before any TF ops to make GPU ops deterministic. It matters +# more here than in most examples: without it, re-running one unchanged fold +# moved its AUROC by up to 0.024, which is as large as the architecture +# differences this example exists to compare. Costs some throughput. +tf.config.experimental.enable_op_determinism() + + +def get_lr_schedule(initial_lr, total_steps, warmup_fraction=0.05): + """Cosine decay with a short linear warmup, over the real step count. + + The schedule has to span the steps actually taken. The source implementation + hard-coded the step count and undershot it by a sixth, which left the last + few epochs running at the schedule's floor of zero - training for fewer + epochs than it appeared to. Deriving total_steps from the dataset avoids + that, and avoids it silently recurring if the batch size or the number of + windows per recording ever changes. + + Args: + initial_lr (float): the peak learning rate, reached after warmup. + total_steps (int): optimizer steps over the whole run. + warmup_fraction (float): fraction of total_steps spent warming up. + + Returns: + tf_keras.optimizers.schedules.LearningRateSchedule: the schedule. + """ + warmup_steps = max(1, int(warmup_fraction * total_steps)) + return CosineDecay(initial_learning_rate=initial_lr * 0.01, + warmup_target=initial_lr, + warmup_steps=warmup_steps, + decay_steps=max(1, total_steps - warmup_steps)) + + +def train_uored_vafcls(model, train_ds, val_ds, epochs, learning_rate, + regularization=None, seed=0): + """Train or quantization-aware tune the model on one fold. + + Args: + model (tf_keras.Model): the model to train, float or quantized. + train_ds (tf.data.Dataset): training dataset. + val_ds (tf.data.Dataset): optional dataset to report per-epoch metrics + on. Pass None, which is the default in the pipeline: the only + candidate is the held-out fold, and nothing may be decided from it. + epochs (int): number of epochs. + learning_rate (float): peak learning rate for the cosine schedule. + regularization (float, optional): activity regularization on the ReLU + layers, to increase activation sparsity. + seed (int): random seed. + + Returns: + tf_keras.callbacks.History: the fit history. + """ + set_random_seed(seed) + + # --------------------------------------------------------------------------- + # Model + # --------------------------------------------------------------------------- + if regularization is not None: + print('Adding Activity Regularization to ReLU layers') + regularizer = regularizers.L1L2(regularization, regularization) + for layer in model.layers: + if isinstance(layer, ReLU): + layer.activity_regularizer = regularizer + + steps_per_epoch = len(train_ds) + lr_schedule = get_lr_schedule(learning_rate, steps_per_epoch * epochs) + + model.compile(optimizer=Adam(learning_rate=lr_schedule), + loss=BinaryCrossentropy(from_logits=True), + metrics=[AUC(name='auroc', multi_label=True, + num_labels=NUM_LABELS)]) + + # --------------------------------------------------------------------------- + # Training + # --------------------------------------------------------------------------- + print(f'Training for {epochs} epochs, {steps_per_epoch} steps per epoch ' + f'({steps_per_epoch * epochs} steps), peak LR {learning_rate}') + + # No callbacks: the recipe is a fixed number of epochs and the final-epoch + # weights are what gets evaluated. See the module docstring. + return model.fit(train_ds, epochs=epochs, validation_data=val_ds) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-l', '--loadmodel', required=True, + help='Model to load (.h5 tf_keras or quantized model)') + parser.add_argument('-s', '--savemodel', required=True, + help='Model save path') + parser.add_argument('-d', '--data', default='./data/uored_vafcls', + help='Directory holding the prepared .npz cache') + parser.add_argument('-b', '--batch_size', type=int, default=BATCH_SIZE, + help='Batch size. The default divides the 720 training ' + 'windows exactly, giving 6 steps per epoch') + parser.add_argument('-e', '--epochs', type=int, default=30) + parser.add_argument('-lr', '--learning_rate', type=float, default=2e-4, + help='Peak learning rate for the cosine schedule') + parser.add_argument('-reg', '--regularization', type=float, default=None, + help='Activity Regularization to increase sparsity') + parser.add_argument('--fold', type=int, default=FIXED_FOLD, + help='Bearing-disjoint fold index. Folds 0-4 are the ' + 'tuning folds, the only folds any hyperparameter ' + 'may be chosen on. Folds 5-104 are the 100 ' + 'evaluation folds; 5 is the fixed fold the ' + 'pretrained models and hardware benchmarks use') + parser.add_argument('--monitor-heldout', action='store_true', + help='Report per-epoch metrics on the held-out fold. ' + 'For eyeballing the training curve only - no ' + 'decision may be taken from it') + parser.add_argument('--seed', type=int, default=0, + help='Random seed for reproducibility') + args = parser.parse_args() + + model = load_quantized_model(args.loadmodel) + train_ds, test_ds = get_data(args.data, model.input_shape[1:], + args.batch_size, fold=args.fold, + seed=args.seed) + + val_ds = None + if args.monitor_heldout: + print('WARNING: --monitor-heldout reports metrics on the held-out ' + 'bearings. It is for watching the curve only; choosing anything ' + 'on the basis of it - epochs, learning rate, weights - leaks the ' + 'test fold. Use folds 0-4 for that.') + val_ds = test_ds + + train_uored_vafcls(model=model, train_ds=train_ds, val_ds=val_ds, + epochs=args.epochs, learning_rate=args.learning_rate, + regularization=args.regularization, seed=args.seed) + model.save(args.savemodel, include_optimizer=False) + print(f'Model saved as {args.savemodel}.') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh new file mode 100644 index 0000000..9892e90 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# +# Full UORED-VAFCLS pipeline on ONE bearing-disjoint fold: build, train, +# quantize, tune, convert, evaluate at each stage, and benchmark on hardware. +# +# Usage: bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] +# +# FOLD defaults to 5, the first of the 100 evaluation folds and the fold the +# pretrained models and the published hardware numbers come from. +# +# A single fold tells you very little about this model. The across-fold spread +# is 0.04-0.05 macro AUROC and folds range from about 0.70 to about 0.99 with +# everything else held fixed. For the number that means something, run: +# +# python uored_vafcls_cross_validate.py +# +# Folds 0-4 are the tuning folds. Any change to the recipe must be evaluated +# there, never on folds 5-104. + +DATADIR="${1:-}" +DATA_ARG=${DATADIR:+-d "$DATADIR"} +FOLD="${2:-${FOLD:-5}}" +SEED="${3:-${SEED:-0}}" +COMMON="--fold $FOLD --seed $SEED $DATA_ARG" + +echo "UORED-VAFCLS pipeline: fold ${FOLD}, seed ${SEED}" + +# 1 - Build the untrained model +python uored_vafcls_model.py -s models/akdcnn_uored_vafcls_untrained.h5 --seed "$SEED" + +# 2 - Full-precision training +python uored_vafcls_train.py -l models/akdcnn_uored_vafcls_untrained.h5 \ + -s models/akdcnn_uored_vafcls.h5 -e 30 -lr 2e-4 -b 120 $COMMON + +# 3 - Evaluate the float model +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls.h5 $COMMON + +# 4 - Post-training quantization: 4-bit weights and activations, 8-bit input +cnn2snn quantize -m models/akdcnn_uored_vafcls.h5 -i 8 -w 4 -a 4 + +# 5 - Quantization-aware tuning. Larger than this repository's usual 2 epochs: +# at 6 steps per epoch, 2 epochs is 12 optimizer steps and recovers nothing. +python uored_vafcls_train.py -l models/akdcnn_uored_vafcls_iq8_wq4_aq4.h5 \ + -s models/akdcnn_uored_vafcls_qat.h5 -e 30 -lr 2e-4 -b 120 $COMMON + +# 6 - Evaluate the tuned quantized model +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_qat.h5 $COMMON + +# 7 - Convert to Akida +cnn2snn convert -m models/akdcnn_uored_vafcls_qat.h5 + +# 8 - Evaluate on Akida +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_qat.fbz $COMMON + +# 9 - Hardware benchmark (needs a physical AKD1500) +python uored_vafcls_benchmark.py -l models/akdcnn_uored_vafcls_qat.fbz $COMMON diff --git a/akida1/model_zoo/uored_vafcls/update_readme.py b/akida1/model_zoo/uored_vafcls/update_readme.py new file mode 100644 index 0000000..82e42d9 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/update_readme.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +"""Regenerate README.md from README.md.template + metrics.json.""" +import json +import pathlib + +here = pathlib.Path(__file__).parent +metrics = json.loads((here / "docs" / "metrics.json").read_text()) +template = (here / "docs" / "README.md.template").read_text() +(here / "README.md").write_text(template.format_map(metrics)) +print("README.md updated.") From fddbab8a0edbfe6e2a67727fbc97597f83c1b16e Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Mon, 14 Sep 2026 17:14:56 +0200 Subject: [PATCH 02/15] Good quantized performance --- .../uored_vafcls_cross_validate.py | 58 +++++++++++-------- .../uored_vafcls/uored_vafcls_model.py | 52 +++++++++-------- 2 files changed, 62 insertions(+), 48 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py index 260d8b1..ab73468 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py @@ -103,6 +103,7 @@ def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, with set_akida_version(AkidaVersion.v1): model = build_uored_vafcls_model(seed=seed) + # model.summary() train_ds, test_ds = get_data(data_path, model.input_shape[1:], batch_size, fold=fold, seed=seed) @@ -114,7 +115,10 @@ def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, # --------------------------------------------------------------------------- # Full precision # --------------------------------------------------------------------------- - train_uored_vafcls(model, train_ds, test_ds, epochs, learning_rate, seed=seed) + if verbose>0: + train_uored_vafcls(model, train_ds, test_ds, epochs, learning_rate, seed=seed) + else: + train_uored_vafcls(model, train_ds, None, epochs, learning_rate, seed=seed) float_scores = auroc_scores(*predict_keras_model(model, test_ds)) row['float_auroc'] = f'{float_scores["macro"]:.6f}' for name in LABEL_COLUMNS: @@ -131,36 +135,40 @@ def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, # Quantization, tuning and conversion # ----------------------------------------------------------------------- with set_akida_version(AkidaVersion.v1): - # qmodel = quantize(model, input_weight_quantization=8, - # weight_quantization=4, activ_quantization=4) + qmodel = quantize(model, input_weight_quantization=8, + weight_quantization=4, activ_quantization=4) # qmodel = quantize_until(model, 'fc_relu') - qmodel = quantize_until(model, 'block6_relu') + # qmodel = quantize_until(model, 'block6_relu') - qmodel.summary() - train_uored_vafcls(qmodel, train_ds, test_ds, qat_epochs, - qat_learning_rate, seed=seed) + # qmodel.summary() + if verbose>0: + train_uored_vafcls(qmodel, train_ds, test_ds, qat_epochs, + qat_learning_rate, seed=seed) + else: + train_uored_vafcls(qmodel, train_ds, None, qat_epochs, + qat_learning_rate, seed=seed) qat_scores = auroc_scores(*predict_keras_model(qmodel, test_ds)) row['qat_auroc'] = f'{qat_scores["macro"]:.6f}' - # ak_model = convert(qmodel) - - # if models_dir is not None: - # qmodel.save(os.path.join(models_dir, - # f'akdcnn_uored_vafcls_fold{fold:03d}_' - # f'seed{seed}_qat.h5'), - # include_optimizer=False) - # ak_model.save(os.path.join(models_dir, - # f'akdcnn_uored_vafcls_fold{fold:03d}_' - # f'seed{seed}_qat.fbz')) - - # # ----------------------------------------------------------------------- - # # Akida - # # ----------------------------------------------------------------------- - # akida_scores = auroc_scores(*evaluate_akida_model(ak_model, test_ds)) - # row['akida_auroc'] = f'{akida_scores["macro"]:.6f}' - # for name in LABEL_COLUMNS: - # row[f'akida_auroc_{name}'] = f'{akida_scores[name]:.6f}' + ak_model = convert(qmodel) + + if models_dir is not None: + qmodel.save(os.path.join(models_dir, + f'akdcnn_uored_vafcls_fold{fold:03d}_' + f'seed{seed}_qat.h5'), + include_optimizer=False) + ak_model.save(os.path.join(models_dir, + f'akdcnn_uored_vafcls_fold{fold:03d}_' + f'seed{seed}_qat.fbz')) + + # ----------------------------------------------------------------------- + # Akida + # ----------------------------------------------------------------------- + akida_scores = auroc_scores(*evaluate_akida_model(ak_model, test_ds)) + row['akida_auroc'] = f'{akida_scores["macro"]:.6f}' + for name in LABEL_COLUMNS: + row[f'akida_auroc_{name}'] = f'{akida_scores[name]:.6f}' row['seconds'] = f'{time.time() - started:.1f}' return row diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py index 2e9bc69..55b27d0 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py @@ -56,7 +56,7 @@ from cnn2snn import AkidaVersion, set_akida_version from tf_keras import Model from tf_keras.layers import (BatchNormalization, Conv2D, Dense, Flatten, Input, - MaxPooling2D, ReLU, Rescaling) + MaxPooling2D, ReLU, Rescaling, GlobalAveragePooling2D) from tf_keras.utils import set_random_seed from uored_vafcls_data import INPUT_SHAPE, NUM_LABELS, ZERO_POINT @@ -67,12 +67,14 @@ # Filters per block, and whether the block pools. The last two do not: the # height is already 1 by then (see the module docstring). -BLOCK_FILTERS = (32, 64, 64, 64, 64, 64) -BLOCK_POOLING = (True, True, True, True, False, False) +BLOCK_FILTERS = (32, 64, 64, 64, 96) +BLOCK_POOLING = (True, True, True, True, True) +# BLOCK_FILTERS = (32, 64, 64, 64, 96, 128) +# BLOCK_POOLING = (True, True, True, True, True, False) STEM_FILTERS = 16 STEM_KERNEL = (7, 7) -DENSE_UNITS = 100 +DENSE_UNITS = 512 RELU_MAX = 6.0 @@ -108,30 +110,34 @@ def build_uored_vafcls_model(seed=0): """ set_random_seed(seed) - with set_akida_version(AkidaVersion.v1): - inputs = Input(shape=INPUT_SHAPE, name='input') + inputs = Input(shape=INPUT_SHAPE, name='input') - # Inverts the data pipeline's uint8 encoding. Folded into stem_conv at - # conversion, giving input_scaling = (127, ZERO_POINT). - x = Rescaling(1.0 / 127.0, -ZERO_POINT / 127.0, name='rescaling')(inputs) + # Normalize incoming data from the uint8 range to [-1, 1] + # Folded into stem_conv at conversion + x = Rescaling(1.0 / 127.0, -1.0, name='rescaling')(inputs) - # Stem: a dense convolution with no padding, so the first layer sees the - # raw framed signal. - x = _conv_block(x, STEM_FILTERS, 'stem', kernel=STEM_KERNEL, - padding='valid', pool=True, pool_padding='valid') + # Stem: a dense convolution with no padding + x = _conv_block(x, STEM_FILTERS, 'stem', kernel=STEM_KERNEL, + padding='valid', pool=True, pool_padding='valid') - for i, (filters, pool) in enumerate(zip(BLOCK_FILTERS, BLOCK_POOLING), - start=1): - x = _conv_block(x, filters, f'block{i}', pool=pool) + for i, (filters, pool) in enumerate(zip(BLOCK_FILTERS, BLOCK_POOLING), + start=1): + x = _conv_block(x, filters, f'block{i}', pool=pool) - x = Flatten(name='flatten')(x) - x = Dense(DENSE_UNITS, name='fc')(x) - x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, - name='fc_bn')(x) - x = ReLU(name='fc_relu')(x) - outputs = Dense(NUM_LABELS, name='predictions')(x) + x = Conv2D(128, 3, padding='same', use_bias=False, + name='block6_conv')(x) + x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, + name='block6_bn')(x) + x = GlobalAveragePooling2D(name='gap')(x) + x = ReLU(max_value=RELU_MAX, name='block6_relu')(x) + + x = Dense(DENSE_UNITS, name='fc')(x) + x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, + name='fc_bn')(x) + x = ReLU(name='fc_relu')(x) + outputs = Dense(NUM_LABELS, name='predictions')(x) - model = Model(inputs, outputs, name='akdcnn_uored_vafcls') + model = Model(inputs, outputs, name='akdcnn_uored_vafcls') return model From 68befc9253090348225a9aec52f5416fc7403526 Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Wed, 16 Sep 2026 16:55:44 +0200 Subject: [PATCH 03/15] First pass tidying and simplification --- akida1/model_zoo/uored_vafcls/local_utils.py | 30 -- .../uored_vafcls_cross_validate.py | 21 +- .../uored_vafcls/uored_vafcls_data.py | 312 ++++-------------- .../uored_vafcls/uored_vafcls_eval.py | 13 +- .../uored_vafcls/uored_vafcls_model.py | 135 ++++---- .../uored_vafcls/uored_vafcls_train.py | 103 ++---- .../uored_vafcls/uored_vafcls_train.sh | 2 +- 7 files changed, 165 insertions(+), 451 deletions(-) delete mode 100644 akida1/model_zoo/uored_vafcls/local_utils.py diff --git a/akida1/model_zoo/uored_vafcls/local_utils.py b/akida1/model_zoo/uored_vafcls/local_utils.py deleted file mode 100644 index 5c3196c..0000000 --- a/akida1/model_zoo/uored_vafcls/local_utils.py +++ /dev/null @@ -1,30 +0,0 @@ -from cnn2snn import quantize -from tf_keras import Model - - -def quantize_until(model, target_layer): - '''Quantize a model up to the named target layer only. - - Layers up to and including `target_layer` are quantized; everything - after is left as-is and re-attached to the quantized output. Useful for - bisecting which layer introduces a quantization accuracy drop. - - Note: assumes a linear (single input/output per layer) topology from - `target_layer` onwards, since remaining layers are re-called in sequence. - ''' - layer_names = [layer.name for layer in model.layers] - target_idx = layer_names.index(target_layer) - - # Get sub-model up to and including named layer - sub_model = Model(inputs=model.input, outputs=model.layers[target_idx].output) - # Quantize that sub-model - qsub_model = quantize(sub_model, weight_quantization=4, activ_quantization=4, input_weight_quantization=8) - - # Stitch remaining unquantized layers to the end of that - x = qsub_model.output - for layer in model.layers[target_idx + 1:]: - x = layer(x) - - # Return complete partially-quantized model - pq_model = Model(inputs=qsub_model.input, outputs=x, name='quantized_until_' + target_layer) - return pq_model \ No newline at end of file diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py index ab73468..24f91d9 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py @@ -46,7 +46,6 @@ import numpy as np import tensorflow as tf from cnn2snn import AkidaVersion, convert, quantize, set_akida_version -from local_utils import quantize_until from tqdm import tqdm from uored_vafcls_data import (BATCH_SIZE, EVAL_FOLDS, FIXED_FOLD, @@ -101,8 +100,7 @@ def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, """ started = time.time() - with set_akida_version(AkidaVersion.v1): - model = build_uored_vafcls_model(seed=seed) + model = build_uored_vafcls_model(seed=seed) # model.summary() train_ds, test_ds = get_data(data_path, model.input_shape[1:], batch_size, fold=fold, seed=seed) @@ -115,10 +113,7 @@ def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, # --------------------------------------------------------------------------- # Full precision # --------------------------------------------------------------------------- - if verbose>0: - train_uored_vafcls(model, train_ds, test_ds, epochs, learning_rate, seed=seed) - else: - train_uored_vafcls(model, train_ds, None, epochs, learning_rate, seed=seed) + train_uored_vafcls(model, train_ds, epochs, learning_rate, seed=seed) float_scores = auroc_scores(*predict_keras_model(model, test_ds)) row['float_auroc'] = f'{float_scores["macro"]:.6f}' for name in LABEL_COLUMNS: @@ -138,16 +133,8 @@ def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, qmodel = quantize(model, input_weight_quantization=8, weight_quantization=4, activ_quantization=4) - # qmodel = quantize_until(model, 'fc_relu') - # qmodel = quantize_until(model, 'block6_relu') - - # qmodel.summary() - if verbose>0: - train_uored_vafcls(qmodel, train_ds, test_ds, qat_epochs, - qat_learning_rate, seed=seed) - else: - train_uored_vafcls(qmodel, train_ds, None, qat_epochs, - qat_learning_rate, seed=seed) + train_uored_vafcls(qmodel, train_ds, qat_epochs, + qat_learning_rate, seed=seed) qat_scores = auroc_scores(*predict_keras_model(qmodel, test_ds)) row['qat_auroc'] = f'{qat_scores["macro"]:.6f}' diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py index b8bb0f4..83c25ee 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py @@ -8,21 +8,24 @@ raw vibration (42 kHz) -> 1 s window (42000 samples) -> random gain (training only) - -> per-recording DC removal + rescale to uint8 + -> rescale to uint8-range using a + single per-dataset scale factor -> reshape to (1200, 35, 1) -The reshape is a plain framing, not a spectrogram: row j is samples -[35j, 35j+35), so the row axis is coarse time (1200 frames, 0.833 ms apart) and -the column axis is fine phase within a frame. It happens here rather than in the -model because an Akida graph cannot contain a reshape - the deployed model -receives the already-framed tensor. +DATA SPLIT PROTOCOL -The split is bearing-disjoint and drawn *before* any windowing. Fault mode is -determined by bearing id in this dataset (inner=1-5, outer=6-10, ball=11-15, -cage=16-20), so a model given any split that is not bearing-disjoint can score -near-perfectly by re-identifying the bearing without learning anything about -faults. Each bearing contributes three recordings - its own healthy one plus two -severities of a single fault mode - and holding a bearing out removes all three. +The dataset split implemented here is derived from the method proposed by +Vieira et al (2026), "Towards a more realistic evaluation of machine learning +models for bearing fault diagnosis" (https://arxiv.org/abs/2509.22267) +The split is bearing-disjoint and drawn *before* any windowing to avoid the +data-leakage that compromises the majority of naive approaches to this dataset. + +Fault mode is determined by bearing id in this dataset (inner=1-5, outer=6-10, +ball=11-15, cage=16-20), so a model given any split that is not bearing-disjoint +can score near-perfectly by re-identifying the bearing without learning anything +about faults. Each bearing contributes three recordings - its own healthy one +plus two severities of a single fault mode - and holding a bearing out removes +all three. Folds are enumerated, not tabulated: every way of holding out 2 bearings from each of the 4 fault modes gives C(5,2)^4 = 10,000 folds, shuffled once with a @@ -34,6 +37,15 @@ encoded as the all-zero vector rather than a fifth class. The reported metric is macro AUROC (see uored_vafcls_eval.py) - there is no argmax prediction here, so an accuracy figure would depend on an arbitrary threshold. + +DATA PREPARATION + +The raw input vectors are reshaped to a 2D input, (1200, 35, 1). Note that's a +plain reshape, not a spectrogram: row j is samples [35j, 35j+35), so the row axis +is coarse time (1200 frames, 0.833 ms apart) and the column axis is fine phase +within a frame. It happens here rather than in the model because an Akida graph +cannot contain a reshape - the deployed model receives the already-framed tensor. + Usage: from uored_vafcls_data import get_data, get_test_data, get_samples @@ -43,10 +55,6 @@ test_ds = get_test_data('./data/uored_vafcls', (1200, 35, 1), fold=5) samples = get_samples('./data/uored_vafcls', (1200, 35, 1), num_samples=100) -Check the split protocol, or the input encoding, without training anything: - python uored_vafcls_data.py --check-splits - python uored_vafcls_data.py --report-encoding - Rebuild the cache from the raw Mendeley CSVs: python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files """ @@ -112,26 +120,18 @@ # --------------------------------------------------------------------------- # uint8 input encoding # --------------------------------------------------------------------------- -# Akida takes 8-bit inputs, and per-recording std in this dataset spans 69x -# (1.87 to 129.4). No single global scale fits that into 256 levels: one wide -# enough for the loudest recording leaves the quietest under one level. So the -# encoding is per *recording* - computed from the whole 10 s trace, never from -# the window being encoded, because a window-dependent scale (min-max, say) is -# scale-invariant and would silently turn the gain augmentation into a no-op. +# Akida takes 8-bit inputs (uint8 range). Inspection of the UORED-VAFCLS data +# shows that amplitude varies widely across recordings (with, predictably, +# vibration increasing markedly when bearings are faulty). Rather than set the +# range according to the global min-max of the data (which would completely +# flatten the low amplitude vibrations of some recordings when reduced to 8-bit) +# we choose a range that preserves the majority of data points, while clipping +# the worst outliers to preserve resolution for low-amplitude signals. We +# chose a range of [-128, 127], which looks suitable for the data, and has the +# advantage of requiring minimal transformation of the input signal: no rescaling, +# a simple offset of +128 plus rounding and clipping to [0, 255]. # -# Removing the per-recording mean is not only a concession to 8 bits. The raw -# signals carry a DC offset that is itself a fault-mode fingerprint: all ten -# inner-race recordings sit at mean 46.6-55.6 while every outer and ball -# recording sits at 0.9-3.1. On its own the per-recording mean scores 0.776 -# macro AUROC on inner-race and the std scores 0.798 - a shortcut the model can -# read without looking at the vibration at all. Centring and rescaling per -# recording deletes it. See the README's "Input encoding" section: this is a -# deliberate deviation from the source pipeline, and the reason the source's -# published figure is not the figure in the Model Card. -ZERO_POINT = 128 # mid-scale, so a negative gain is a real polarity flip -ENCODE_PERCENTILE = 99.9 # robust peak of |x - center|, per recording -ENCODE_HEADROOM = 2.0 # room for the gain augmentation before it clips - +ZERO_POINT = 128 # --------------------------------------------------------------------------- # Split protocol @@ -191,45 +191,15 @@ def fold_rows(bearing_id, fold, n_per_mode=N_BEARINGS_PER_FAULT_MODE, # --------------------------------------------------------------------------- # Input encoding # --------------------------------------------------------------------------- -def encoding_constants(signals): - """Compute the per-recording centre and full-scale value. - - Both are derived from the entire 10 s recording, so they are a fixed - property of the recording rather than of any window drawn from it. - - Args: - signals (np.ndarray): float32, shape (N_RECORDINGS, SIGNAL_LENGTH). - - Returns: - np.ndarray, np.ndarray: centre and scale, both float32 (N_RECORDINGS,). - """ - center = signals.mean(axis=1).astype(np.float32) - deviation = np.abs(signals - center[:, None]) - scale = ENCODE_HEADROOM * np.percentile(deviation, ENCODE_PERCENTILE, axis=1) - # return center, scale.astype(np.float32) - # HACK: Hard coding a single scaling factor - center = np.zeros_like(center) - scale = np.ones_like(scale)*127. - return center, scale - - - -def encode_uint8(window, center, scale): +def encode_uint8(window): """Encode a float window as uint8 centred on ZERO_POINT. - - The model's Rescaling layer inverts this exactly, so float training, QAT and - Akida inference all see the same values. - Args: window (np.ndarray): float32 samples, any shape. - center (float): the recording's centre, from encoding_constants(). - scale (float): the recording's full-scale value. Returns: np.ndarray: uint8, same shape as `window`. """ - normalised = (window - center) / scale - return np.clip(np.round(ZERO_POINT + 127.0 * normalised), 0, 255).astype(np.uint8) + return np.clip(np.round(ZERO_POINT + window), 0, 255).astype(np.uint8) def frame_window(x, width=FRAME_WIDTH): @@ -262,15 +232,14 @@ def _load_cache(data_path): """Load the prepared recordings and derive the encoding constants. lru_cached because uored_vafcls_cross_validate.py calls get_data() a hundred - times in one process; without this it would re-read ~100 MB and recompute 60 - percentiles on every fold. + times in one process; without this it would re-read ~100 MB Args: data_path (str): directory holding (or to receive) the .npz cache. Returns: dict: signals, labels, bearing_id, fault_type, severity, rpm, - waveform_id, center, scale. + waveform_id """ path = _cache_path(data_path) if not os.path.exists(path): @@ -284,7 +253,6 @@ def _load_cache(data_path): raise ValueError(f'{path}: expected signals of shape ' f'{(N_RECORDINGS, SIGNAL_LENGTH)}, got {signals.shape}') - cache['center'], cache['scale'] = encoding_constants(signals) return cache @@ -329,7 +297,7 @@ def _describe(name, cache, rows): # --------------------------------------------------------------------------- def _train_dataset(cache, rows, batch_size, dtype, seed): """Random 1 s crops with a random gain, re-drawn every epoch.""" - signals, center, scale = cache['signals'], cache['center'], cache['scale'] + signals = cache['signals'] labels = _labels(cache, rows) n_items = len(rows) * TRAIN_WINDOWS_PER_RECORDING @@ -346,10 +314,10 @@ def generator(): start = rng.integers(0, SIGNAL_LENGTH - WINDOW_LENGTH) window = np.array(signals[row, start:start + WINDOW_LENGTH], dtype=np.float32) - # Gain is applied to the float waveform, before encoding, so that it - # survives the per-recording rescale instead of cancelling out. + # Gain is applied to the float waveform window *= np.float32(rng.normal(1.0, GAIN_STD)) - window = encode_uint8(window, center[row], scale[row]) + # window = encode_uint8(window, center[row], scale[row]) + window = encode_uint8(window) yield frame_window(window), labels[i] signature = (tf.TensorSpec(shape=INPUT_SHAPE, dtype=tf.uint8), @@ -371,7 +339,7 @@ def _eval_arrays(cache, rows): Small enough to materialise (240 x 1200 x 35 uint8 is about 10 MB). """ - signals, center, scale = cache['signals'], cache['center'], cache['scale'] + signals = cache['signals'] labels = _labels(cache, rows) windows, targets = [], [] for i, row in enumerate(rows): @@ -379,7 +347,7 @@ def _eval_arrays(cache, rows): start = j * WINDOW_LENGTH window = np.array(signals[row, start:start + WINDOW_LENGTH], dtype=np.float32) - windows.append(encode_uint8(window, center[row], scale[row])) + windows.append(encode_uint8(window)) targets.append(labels[i]) return frame_window(np.stack(windows)), np.stack(targets) @@ -436,30 +404,31 @@ def get_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, _eval_dataset(cache, test_rows, batch_size, dtype)) -def get_test_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, - batch_size=BATCH_SIZE, dtype=tf.uint8, fold=FIXED_FOLD): - """Load only the held-out dataset for one fold. +# def get_test_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, +# batch_size=BATCH_SIZE, dtype=tf.uint8, fold=FIXED_FOLD): +# """Load only the held-out dataset for one fold. - Deterministic: EVAL_WINDOWS_PER_RECORDING contiguous windows per recording, - no augmentation, so repeated evaluations of one model agree exactly. +# Deterministic: EVAL_WINDOWS_PER_RECORDING contiguous windows per recording. +# Evaluation of the dataset at this temporal resolution is defined by the +# reference protocol. - Args: - data_path (str): directory holding the .npz cache. - input_shape (tuple): model input shape; must be INPUT_SHAPE. - batch_size (int): the batch size. - dtype (tf.dtypes.DType, optional): input data type. Defaults to tf.uint8. - fold (int): bearing-disjoint fold index. Defaults to FIXED_FOLD. +# Args: +# data_path (str): directory holding the .npz cache. +# input_shape (tuple): model input shape; must be INPUT_SHAPE. +# batch_size (int): the batch size. +# dtype (tf.dtypes.DType, optional): input data type. Defaults to tf.uint8. +# fold (int): bearing-disjoint fold index. Defaults to FIXED_FOLD. - Returns: - tf.data.Dataset: held-out dataset yielding (uint8 windows, float labels). - """ - _check_input_shape(input_shape) - cache = _load_cache(data_path) +# Returns: +# tf.data.Dataset: held-out dataset yielding (uint8 windows, float labels). +# """ +# _check_input_shape(input_shape) +# cache = _load_cache(data_path) - _, test_rows = fold_rows(cache['bearing_id'], fold) - _describe(f'Held out (fold {fold})', cache, test_rows) +# _, test_rows = fold_rows(cache['bearing_id'], fold) +# _describe(f'Held out (fold {fold})', cache, test_rows) - return _eval_dataset(cache, test_rows, batch_size, dtype) +# return _eval_dataset(cache, test_rows, batch_size, dtype) def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, @@ -469,7 +438,8 @@ def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, Used for activation-sparsity measurement and hardware benchmarking, both of which need uint8 numpy input rather than a dataset. The draw is over the fold's *training* recordings: Akida timings depend on input activity, so the - windows have to be real, but they must not come from held-out data. + windows have to be real, but to avoid data leakage at quantization, they must + not come from held-out data. Up to EVAL_WINDOWS_PER_RECORDING per training recording (360 for a standard fold) are the deterministic tiled windows; beyond that the remainder are @@ -489,7 +459,7 @@ def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, """ _check_input_shape(input_shape) cache = _load_cache(data_path) - signals, center, scale = cache['signals'], cache['center'], cache['scale'] + signals = cache['signals'] train_rows, _ = fold_rows(cache['bearing_id'], fold) rng = np.random.default_rng(seed) @@ -506,7 +476,7 @@ def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, start = rng.integers(0, SIGNAL_LENGTH - WINDOW_LENGTH) window = np.array(signals[row, start:start + WINDOW_LENGTH], dtype=np.float32) - extra[k] = encode_uint8(window, center[row], scale[row]) + extra[k] = encode_uint8(window) samples = np.concatenate([samples, frame_window(extra)]) return samples.astype(np.uint8) @@ -609,135 +579,6 @@ def prepare_raw(raw_dir, data_path=DEFAULT_DATA_PATH): return path -# --------------------------------------------------------------------------- -# Self-checks -# --------------------------------------------------------------------------- -def check_splits(data_path=DEFAULT_DATA_PATH, folds=None, fixtures=None): - """Assert the split protocol holds for every fold. - - This is the port-fidelity test: if the fold enumeration were renumbered, or - the split drawn at the wrong granularity, these assertions catch it. - - Args: - data_path (str): directory holding the .npz cache. - folds (iterable, optional): folds to check. Defaults to every tuning and - evaluation fold. - fixtures (str, optional): directory of published run_*.parquet split - fixtures to cross-check the held-out bearing sets against. - - Returns: - int: the number of folds checked. - """ - cache = _load_cache(data_path) - bearing_id = cache['bearing_id'] - fault_type = cache['fault_type'] - all_bearings = set(bearing_id.tolist()) - folds = list(folds) if folds is not None else (list(TUNING_FOLDS) - + list(EVAL_FOLDS)) - - n_train = (len(all_bearings) - NUM_LABELS * N_BEARINGS_PER_FAULT_MODE) * 3 - n_test = NUM_LABELS * N_BEARINGS_PER_FAULT_MODE * 3 - - for fold in folds: - held_out = held_out_bearings_for_fold(fold) - train_rows, test_rows = fold_rows(bearing_id, fold) - - train_bearings = set(bearing_id[train_rows].tolist()) - test_bearings = set(bearing_id[test_rows].tolist()) - - assert not train_bearings & test_bearings, \ - f'fold {fold}: bearings on both sides: {train_bearings & test_bearings}' - assert train_bearings | test_bearings == all_bearings, \ - f'fold {fold}: bearings missing from the split' - assert test_bearings == set(held_out), \ - f'fold {fold}: test bearings {sorted(test_bearings)} != {held_out}' - assert len(train_rows) == n_train, \ - f'fold {fold}: {len(train_rows)} train recordings, expected {n_train}' - assert len(test_rows) == n_test, \ - f'fold {fold}: {len(test_rows)} test recordings, expected {n_test}' - - for mode, ids in FAULT_BEARING_IDS.items(): - n_held = len(test_bearings & set(ids)) - assert n_held == N_BEARINGS_PER_FAULT_MODE, \ - (f'fold {fold}: {n_held} {mode} bearings held out, ' - f'expected {N_BEARINGS_PER_FAULT_MODE}') - - # Every fault mode must appear on both sides, or a label column is - # constant in the test set and its AUROC is undefined. - for rows, side in ((train_rows, 'train'), (test_rows, 'test')): - present = {str(f) for f in fault_type[rows]} - assert present == {'Healthy', 'Inner', 'Outer', 'Ball', 'Cage'}, \ - f'fold {fold}: {side} side is missing fault types: {present}' - - print(f'Split protocol holds for {len(folds)} folds ' - f'({n_train} train / {n_test} test recordings each).') - - if fixtures is not None: - _check_against_fixtures(fixtures, folds) - - return len(folds) - - -def _check_against_fixtures(fixtures, folds): - """Cross-check held-out bearing sets against published split fixtures. - - Each run_.parquet holds a single row with `train_ids` and `test_ids` - columns listing bearing ids. Matching them fold-for-fold is the strongest - available evidence that the fold enumeration was ported without renumbering. - """ - import glob - - import pandas as pd - - checked = 0 - for path in sorted(glob.glob(os.path.join(fixtures, 'run_*.parquet'))): - fold = int(os.path.splitext(os.path.basename(path))[0].split('_')[1]) - if fold not in folds: - continue - frame = pd.read_parquet(path) - expected = sorted(int(b) for b in frame['test_ids'].iloc[0]) - actual = held_out_bearings_for_fold(fold) - assert actual == expected, \ - f'fold {fold}: held out {actual}, fixture says {expected}' - checked += 1 - - if checked: - print(f'Held-out bearings match the published fixtures for ' - f'{checked} folds.') - else: - print(f'No run_*.parquet fixtures found in {fixtures}.') - - -def report_encoding(data_path=DEFAULT_DATA_PATH): - """Print the per-recording encoding constants and their cost. - - This is how ENCODE_HEADROOM gets re-justified after any change: it reports - how many uint8 levels one signal standard deviation spans, and what fraction - of samples clip at plausible augmentation gains. - """ - cache = _load_cache(data_path) - signals, center, scale = cache['signals'], cache['center'], cache['scale'] - - std = signals.std(axis=1) - levels = 127.0 * std / scale - - print(f'Per-recording encoding, headroom {ENCODE_HEADROOM}, ' - f'percentile {ENCODE_PERCENTILE}, zero point {ZERO_POINT}') - print(f' centre min {center.min():9.3f} max {center.max():9.3f}') - print(f' signal std min {std.min():9.3f} max {std.max():9.3f} ' - f'ratio {std.max() / std.min():.1f}x') - print(f' uint8 levels per signal sigma: min {levels.min():.1f} ' - f'median {np.median(levels):.1f} max {levels.max():.1f}') - - print('\n clipped samples by augmentation gain:') - for gain in (1.0, 1.0 + GAIN_STD, 1.0 + 2 * GAIN_STD): - normalised = gain * (signals - center[:, None]) / scale[:, None] - clipped = np.abs(ZERO_POINT + 127.0 * normalised - ZERO_POINT) > 127.0 - per_recording = clipped.mean(axis=1) - print(f' gain {gain:4.1f} mean {per_recording.mean() * 100:7.4f}% ' - f'worst recording {per_recording.max() * 100:8.4f}%') - - if __name__ == '__main__': import argparse @@ -752,15 +593,6 @@ def report_encoding(data_path=DEFAULT_DATA_PATH): parser.add_argument('--prepare-raw', metavar='RAW_DIR', default=None, help='Rebuild the .npz cache from the raw Mendeley CSV ' 'tree instead of downloading it') - parser.add_argument('--check-splits', action='store_true', - help='Assert bearing-disjointness and the recording ' - 'counts for all 105 tuning and evaluation folds') - parser.add_argument('--fixtures', default=None, - help='Directory of published run_*.parquet split ' - 'fixtures to cross-check --check-splits against') - parser.add_argument('--report-encoding', action='store_true', - help='Report the per-recording uint8 encoding constants ' - 'and how much they clip') args = parser.parse_args() if args.prepare_raw is not None: @@ -768,12 +600,6 @@ def report_encoding(data_path=DEFAULT_DATA_PATH): print(f'Wrote {path} ({os.path.getsize(path) / 1e6:.0f} MB)') _load_cache.cache_clear() - if args.check_splits: - check_splits(args.data, fixtures=args.fixtures) - - if args.report_encoding: - report_encoding(args.data) - if not (args.check_splits or args.report_encoding): train_ds, test_ds = get_data(args.data, fold=args.fold, seed=args.seed) samples = get_samples(args.data, num_samples=100, fold=args.fold, diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py index 41fca1d..5ae60c9 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py @@ -33,7 +33,7 @@ from brainchip_utils.hardware_utils import get_akida_device from brainchip_utils.plot_utils import pretty_print_sparsity from uored_vafcls_data import (FIXED_FOLD, LABEL_COLUMNS, BATCH_SIZE, - get_samples, get_test_data) + get_samples, get_data) tf.config.experimental.enable_op_determinism() @@ -47,11 +47,6 @@ # --------------------------------------------------------------------------- def auroc_scores(logits, labels): """Macro and per-label AUROC. - - Uses the same scikit-learn function the reference protocol uses, so the - metric can never be the source of a discrepancy between this port and the - published numbers. - Args: logits (np.ndarray): raw model outputs, shape (N, len(LABEL_COLUMNS)). labels (np.ndarray): binary indicator labels, same shape. @@ -85,7 +80,7 @@ def predict_keras_model(model, dataset): return np.concatenate(logits_all), np.concatenate(labels_all) -def evaluate_akida_model(akida_model, val_dataset): +def evaluate_akida_model(akida_model, dataset): """Run inference with an Akida model and return (logits, labels). Returns logits rather than predictions: AUROC is rank-based and multi-label, @@ -102,7 +97,7 @@ def evaluate_akida_model(akida_model, val_dataset): # Akida can't directly digest the tensorflow dataset, we need to # manually iterate over the dataset to deliver inputs as numpy arrays - for batch, label_batch in tqdm(val_dataset, desc="Evaluating on Akida"): + for batch, label_batch in tqdm(dataset, desc="Evaluating on Akida"): if not isinstance(batch, np.ndarray): batch = batch.numpy() @@ -153,7 +148,7 @@ def evaluate_akida_model(akida_model, val_dataset): # --------------------------------------------------------------------------- # Data loading # --------------------------------------------------------------------------- - test_ds = get_test_data(args.data, imsize, batch_size=args.batch_size, + _, test_ds = get_data(args.data, imsize, batch_size=args.batch_size, fold=args.fold) # --------------------------------------------------------------------------- diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py index 55b27d0..f54380b 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py @@ -16,35 +16,22 @@ much like the framing of a speech signal. The 7x7 stem therefore correlates 7 consecutive samples across 7 consecutive frames: a lag/phase view. -(The source repo's docstring claimed this stem was equivalent to a (49, 1) -kernel at stride 7. That was true only of an earlier variant which transposed -the two axes before framing; that transpose is not applied here, and the -equivalence does not hold for this layout.) - -Input scaling is part of the model: a Rescaling layer inverts the data -pipeline's uint8 encoding, mapping [0, 255] back to the roughly [-1, 1] range -the network trains on. Keeping it in the graph means float training, quantized -training and Akida inference all see identical values, and cnn2snn folds the -layer into the first convolution at conversion time. +Input scaling is part of the model: a Rescaling layer normalizes the data from +the uint8 range furnished by the data preprocessing pipeline down to the roughly +[-1, 1] range the network trains on. Defining this Rescaling within the model +graph means float training, quantized training and Akida inference all see +identical values input values. The actual rescaling op itself is folded into the +weights of the first convolution layer by the cnn2snn package at conversion time. Hardware constraints that fixed the geometry -------------------------------------------- -Two AKD1500 constraints drove the design, and both are load-bearing: - -* The long dimension has to come first, hence (1200, 35) rather than (35, 1200). -* Every layer's second spatial dimension must stay above 1, which is why the - last two blocks omit their max-pool: the height runs 35 -> 29 -> 14 -> 7 -> 4 - -> 2 -> 1, and a sixth pool would take it to 0. - -Initializers ------------- -The source repo used custom initializers that reproduced PyTorch's defaults, to -keep a Keras port numerically comparable with a PyTorch reference. That -reference is not part of this example, and the custom bias initializer is what -forced a custom_object_scope workaround around every quantize and convert call -(Keras resolves initializers by name when it clones a model, including inside -the `cnn2snn convert` CLI where no scope can be installed). Keras defaults are -used here instead, which removes that whole class of problem. +Some AKD1500 constraints drove the design: +* Most layers on Akida 1 only accept 4-bit inputs; only the specialised Input + Convolutional layer takes uint8 inputs, and we definitely want to use that + here. However, that layer has some hard size constraints, as follow +* The second input dimension on that layer has a hard limit (256 on Akida 1). + Thus the long input dimension has to go first, (1200, 35) rather than (35, 1200). + Example ------- @@ -53,51 +40,13 @@ import argparse -from cnn2snn import AkidaVersion, set_akida_version from tf_keras import Model -from tf_keras.layers import (BatchNormalization, Conv2D, Dense, Flatten, Input, +from tf_keras.layers import (BatchNormalization, Conv2D, Dense, Input, MaxPooling2D, ReLU, Rescaling, GlobalAveragePooling2D) from tf_keras.utils import set_random_seed -from uored_vafcls_data import INPUT_SHAPE, NUM_LABELS, ZERO_POINT - -# BatchNorm settings carried over from the source model. -BN_MOMENTUM = 0.9 -BN_EPSILON = 1e-5 - -# Filters per block, and whether the block pools. The last two do not: the -# height is already 1 by then (see the module docstring). -BLOCK_FILTERS = (32, 64, 64, 64, 96) -BLOCK_POOLING = (True, True, True, True, True) -# BLOCK_FILTERS = (32, 64, 64, 64, 96, 128) -# BLOCK_POOLING = (True, True, True, True, True, False) - -STEM_FILTERS = 16 -STEM_KERNEL = (7, 7) -DENSE_UNITS = 512 -RELU_MAX = 6.0 - - -def _conv_block(x, filters, name, kernel=(3, 3), padding='same', pool=True, - pool_padding='same'): - """Conv -> BatchNorm -> ReLU6 [-> MaxPool], with no convolution bias. - - The bias is omitted because the BatchNorm that follows immediately - reintroduces a per-channel offset, so a conv bias would be redundant, and - cnn2snn folds the BatchNorm into the convolution at conversion. - """ - x = Conv2D(filters, kernel, padding=padding, use_bias=False, - name=f'{name}_conv')(x) - x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, - name=f'{name}_bn')(x) - x = ReLU(max_value=RELU_MAX, name=f'{name}_relu')(x) - if pool: - x = MaxPooling2D((2, 2), strides=(2, 2), padding=pool_padding, - name=f'{name}_pool')(x) - return x - -def build_uored_vafcls_model(seed=0): +def build_uored_vafcls_model(input_shape=(1200, 35, 1), fault_classes=4, seed=0): """Build the untrained akdcnn model. Args: @@ -105,40 +54,74 @@ def build_uored_vafcls_model(seed=0): Returns: tf_keras.Model: the model, expecting uint8 inputs of shape INPUT_SHAPE - and returning NUM_LABELS raw logits (one per fault mode; a healthy + and returning fault_classes raw logits (one per fault mode; a healthy bearing is all four logits low, not a fifth class). """ set_random_seed(seed) - inputs = Input(shape=INPUT_SHAPE, name='input') + # Model definition parameters + STEM_FILTERS = 16 + STEM_KERNEL_SIZE = 7 + + BLOCK_FILTERS = (32, 64, 64, 64, 96, 128) + BLOCK_POOLING = (True, True, True, True, True, False) + + DENSE_UNITS = 512 + + # BatchNorm settings + # Important in this case - unusually, we find that the tf_keras + # default values (0.99, 0.001) cause problems when the model is quantized + BN_MOMENTUM = 0.9 + BN_EPSILON = 1e-5 + + def _conv_block(x, filters, name, kernel=(3, 3), padding='same', pool=True, + pool_padding='same'): + """Re-usable block with + Conv -> BatchNorm -> ReLU6 [-> MaxPool] + """ + x = Conv2D(filters, kernel, padding=padding, use_bias=False, + name=f'{name}_conv')(x) + x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, + name=f'{name}_bn')(x) + x = ReLU(max_value=6.0, name=f'{name}_relu')(x) + if pool: + x = MaxPooling2D((2, 2), strides=(2, 2), padding=pool_padding, + name=f'{name}_pool')(x) + return x + + + inputs = Input(shape=input_shape, name='input') # Normalize incoming data from the uint8 range to [-1, 1] - # Folded into stem_conv at conversion - x = Rescaling(1.0 / 127.0, -1.0, name='rescaling')(inputs) + # Folded into stem_conv weights at conversion + x = Rescaling(1.0 / 128.0, -1.0, name='rescaling')(inputs) # Stem: a dense convolution with no padding - x = _conv_block(x, STEM_FILTERS, 'stem', kernel=STEM_KERNEL, + x = _conv_block(x, STEM_FILTERS, 'stem', kernel=STEM_KERNEL_SIZE, padding='valid', pool=True, pool_padding='valid') - for i, (filters, pool) in enumerate(zip(BLOCK_FILTERS, BLOCK_POOLING), + # Blocks + for i, (filters, pool) in enumerate(zip(BLOCK_FILTERS[:-1], BLOCK_POOLING[:-1]), start=1): x = _conv_block(x, filters, f'block{i}', pool=pool) + # Final block with Global Average Pooling + # Note that for Akida 1, it needs to be placed before the neighbouring ReLU x = Conv2D(128, 3, padding='same', use_bias=False, name='block6_conv')(x) x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, name='block6_bn')(x) x = GlobalAveragePooling2D(name='gap')(x) - x = ReLU(max_value=RELU_MAX, name='block6_relu')(x) + x = ReLU(max_value=6.0, name='block6_relu')(x) + # Dense Classifier Ending x = Dense(DENSE_UNITS, name='fc')(x) x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, name='fc_bn')(x) - x = ReLU(name='fc_relu')(x) - outputs = Dense(NUM_LABELS, name='predictions')(x) + x = ReLU(max_value=6.0, name='fc_relu')(x) + outputs = Dense(fault_classes, name='predictions')(x) model = Model(inputs, outputs, name='akdcnn_uored_vafcls') - return model diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py index 2e64c78..facb11f 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py @@ -3,12 +3,8 @@ """ UORED-VAFCLS bearing fault training. -Used for both stages of the pipeline: full-precision training from the untrained -model, and quantization-aware tuning of the quantized one. Only the loaded -model, the epoch count and the learning rate differ between the two. - The loss is binary cross-entropy over four independent fault labels, not a -softmax over classes: a bearing can in principle show more than one fault, and +softmax over classes: a machine can in principle show more than one fault, and a healthy bearing is the all-zero label vector rather than a fifth class. The model emits raw logits, so `from_logits=True` throughout. @@ -17,7 +13,7 @@ only data not used for training is the held-out fold, and selecting weights on that would be exactly the leakage the bearing-disjoint split exists to prevent. The recipe is instead fixed - a set epoch count, evaluated at the final epoch - -and folds 0-4 are reserved as the budget for choosing it. Please do not "fix" +and folds 0-4 are reserved for tuning that pipeline. Do not "fix" this by adding a callback that monitors the held-out fold. Example @@ -38,50 +34,19 @@ from tf_keras.optimizers.schedules import CosineDecay from tf_keras.utils import set_random_seed -from uored_vafcls_data import FIXED_FOLD, NUM_LABELS, BATCH_SIZE, get_data +from uored_vafcls_data import get_data -# Must be called before any TF ops to make GPU ops deterministic. It matters -# more here than in most examples: without it, re-running one unchanged fold -# moved its AUROC by up to 0.024, which is as large as the architecture -# differences this example exists to compare. Costs some throughput. +# Must be called before any TF ops to make GPU ops deterministic. tf.config.experimental.enable_op_determinism() -def get_lr_schedule(initial_lr, total_steps, warmup_fraction=0.05): - """Cosine decay with a short linear warmup, over the real step count. - - The schedule has to span the steps actually taken. The source implementation - hard-coded the step count and undershot it by a sixth, which left the last - few epochs running at the schedule's floor of zero - training for fewer - epochs than it appeared to. Deriving total_steps from the dataset avoids - that, and avoids it silently recurring if the batch size or the number of - windows per recording ever changes. - - Args: - initial_lr (float): the peak learning rate, reached after warmup. - total_steps (int): optimizer steps over the whole run. - warmup_fraction (float): fraction of total_steps spent warming up. - - Returns: - tf_keras.optimizers.schedules.LearningRateSchedule: the schedule. - """ - warmup_steps = max(1, int(warmup_fraction * total_steps)) - return CosineDecay(initial_learning_rate=initial_lr * 0.01, - warmup_target=initial_lr, - warmup_steps=warmup_steps, - decay_steps=max(1, total_steps - warmup_steps)) - - -def train_uored_vafcls(model, train_ds, val_ds, epochs, learning_rate, +def train_uored_vafcls(model, train_ds, epochs, learning_rate, regularization=None, seed=0): """Train or quantization-aware tune the model on one fold. Args: model (tf_keras.Model): the model to train, float or quantized. train_ds (tf.data.Dataset): training dataset. - val_ds (tf.data.Dataset): optional dataset to report per-epoch metrics - on. Pass None, which is the default in the pipeline: the only - candidate is the held-out fold, and nothing may be decided from it. epochs (int): number of epochs. learning_rate (float): peak learning rate for the cosine schedule. regularization (float, optional): activity regularization on the ReLU @@ -93,9 +58,7 @@ def train_uored_vafcls(model, train_ds, val_ds, epochs, learning_rate, """ set_random_seed(seed) - # --------------------------------------------------------------------------- - # Model - # --------------------------------------------------------------------------- + # Optionaly add activity regularization for additional sparsity if regularization is not None: print('Adding Activity Regularization to ReLU layers') regularizer = regularizers.L1L2(regularization, regularization) @@ -103,23 +66,24 @@ def train_uored_vafcls(model, train_ds, val_ds, epochs, learning_rate, if isinstance(layer, ReLU): layer.activity_regularizer = regularizer + # Learning Rate Scheduler steps_per_epoch = len(train_ds) - lr_schedule = get_lr_schedule(learning_rate, steps_per_epoch * epochs) + total_steps = steps_per_epoch*epochs + warmup_fraction = 0.05 + warmup_steps = max(1, int(warmup_fraction * total_steps)) + lr_schedule = CosineDecay(initial_learning_rate=learning_rate * 0.01, + warmup_target=learning_rate, + warmup_steps=warmup_steps, + decay_steps=max(1, total_steps - warmup_steps)) + num_labels = model.output_shape[-1] model.compile(optimizer=Adam(learning_rate=lr_schedule), loss=BinaryCrossentropy(from_logits=True), metrics=[AUC(name='auroc', multi_label=True, - num_labels=NUM_LABELS)]) + num_labels=num_labels)]) - # --------------------------------------------------------------------------- # Training - # --------------------------------------------------------------------------- - print(f'Training for {epochs} epochs, {steps_per_epoch} steps per epoch ' - f'({steps_per_epoch * epochs} steps), peak LR {learning_rate}') - - # No callbacks: the recipe is a fixed number of epochs and the final-epoch - # weights are what gets evaluated. See the module docstring. - return model.fit(train_ds, epochs=epochs, validation_data=val_ds) + return model.fit(train_ds, epochs=epochs) if __name__ == '__main__': @@ -130,43 +94,32 @@ def train_uored_vafcls(model, train_ds, val_ds, epochs, learning_rate, help='Model save path') parser.add_argument('-d', '--data', default='./data/uored_vafcls', help='Directory holding the prepared .npz cache') - parser.add_argument('-b', '--batch_size', type=int, default=BATCH_SIZE, - help='Batch size. The default divides the 720 training ' - 'windows exactly, giving 6 steps per epoch') + parser.add_argument('-b', '--batch_size', type=int, default=120, + help='Batch size') parser.add_argument('-e', '--epochs', type=int, default=30) parser.add_argument('-lr', '--learning_rate', type=float, default=2e-4, help='Peak learning rate for the cosine schedule') parser.add_argument('-reg', '--regularization', type=float, default=None, help='Activity Regularization to increase sparsity') - parser.add_argument('--fold', type=int, default=FIXED_FOLD, - help='Bearing-disjoint fold index. Folds 0-4 are the ' - 'tuning folds, the only folds any hyperparameter ' - 'may be chosen on. Folds 5-104 are the 100 ' - 'evaluation folds; 5 is the fixed fold the ' - 'pretrained models and hardware benchmarks use') - parser.add_argument('--monitor-heldout', action='store_true', - help='Report per-epoch metrics on the held-out fold. ' - 'For eyeballing the training curve only - no ' - 'decision may be taken from it') + parser.add_argument('--fold', type=int, default=5, + help='Bearing-disjoint fold index.') parser.add_argument('--seed', type=int, default=0, help='Random seed for reproducibility') args = parser.parse_args() + # Model model = load_quantized_model(args.loadmodel) + + # Dataset train_ds, test_ds = get_data(args.data, model.input_shape[1:], args.batch_size, fold=args.fold, seed=args.seed) - val_ds = None - if args.monitor_heldout: - print('WARNING: --monitor-heldout reports metrics on the held-out ' - 'bearings. It is for watching the curve only; choosing anything ' - 'on the basis of it - epochs, learning rate, weights - leaks the ' - 'test fold. Use folds 0-4 for that.') - val_ds = test_ds - - train_uored_vafcls(model=model, train_ds=train_ds, val_ds=val_ds, + # Run Training + train_uored_vafcls(model=model, train_ds=train_ds, epochs=args.epochs, learning_rate=args.learning_rate, regularization=args.regularization, seed=args.seed) + + # Save Trained Model model.save(args.savemodel, include_optimizer=False) print(f'Model saved as {args.savemodel}.') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh index 9892e90..682c92e 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh @@ -42,7 +42,7 @@ cnn2snn quantize -m models/akdcnn_uored_vafcls.h5 -i 8 -w 4 -a 4 # 5 - Quantization-aware tuning. Larger than this repository's usual 2 epochs: # at 6 steps per epoch, 2 epochs is 12 optimizer steps and recovers nothing. python uored_vafcls_train.py -l models/akdcnn_uored_vafcls_iq8_wq4_aq4.h5 \ - -s models/akdcnn_uored_vafcls_qat.h5 -e 30 -lr 2e-4 -b 120 $COMMON + -s models/akdcnn_uored_vafcls_qat.h5 -e 10 -lr 1e-5 -b 120 $COMMON # 6 - Evaluate the tuned quantized model python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_qat.h5 $COMMON From e1fed8fdf7a06ce57ed8e0fb35de48b83178008e Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Thu, 17 Sep 2026 10:54:09 +0200 Subject: [PATCH 04/15] Comparison to naive split; metrics logged --- akida1/model_zoo/uored_vafcls/README.md | 108 ++++---- .../uored_vafcls/docs/README.md.template | 98 +++---- .../model_zoo/uored_vafcls/docs/metrics.json | 46 ++-- .../docs/ref_cv_auroc_distribution.png | Bin 0 -> 43156 bytes .../uored_vafcls_cross_validate.py | 27 +- .../uored_vafcls/uored_vafcls_data.py | 243 +++++++++++++++--- .../uored_vafcls/uored_vafcls_eval.py | 93 +++++-- .../uored_vafcls/uored_vafcls_naive_split.sh | 66 +++++ .../uored_vafcls/uored_vafcls_train.py | 12 +- .../uored_vafcls/uored_vafcls_train.sh | 2 +- 10 files changed, 465 insertions(+), 230 deletions(-) create mode 100644 akida1/model_zoo/uored_vafcls/docs/ref_cv_auroc_distribution.png create mode 100644 akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index f80c1db..ce6ed8a 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -8,74 +8,45 @@ The interesting part of this example is not the model. It is the evaluation: thi ## Model Card -**Cross-validated performance** — TBD bearing-disjoint folds × TBD seed. **This is the model's performance.** +**The same model, the same recipe, two ways of splitting the data.** The top row is a single train-and-evaluate run under a deliberately naive split; the bottom row is the mean over 100 bearing-disjoint folds × 1 seed. Identical architecture, identical training budget — 720 training and 240 held-out windows either way — so the only thing separating the two rows is whether the split was allowed to leak. **The bottom row is the model's performance.** - - - - + + + + + + - - - - - - - - - - + + + + + + - - - - + + + + + +
StageMacro AUROC (mean ± std)Worst foldBest foldSplitFloat AUROCQAT AUROCAkida AUROCParamsActivation sparsity
Full precisionTBD ± TBDTBDTBD
Quantized + tuned (4-bit)TBD ± TBDNaive segment-level (leaky)0.99900.99580.9963335,44438.08%
AkidaTBD ± TBDTBDTBDBearing-level (protocol)0.92370.91970.9192335,44436.52%
-Standard error of the mean on the Akida figure is TBD. Parameters: TBD. Activation sparsity: TBD. - -> **Read the table above, not the one below.** Individual folds range from TBD to TBD — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). +> **The gap between those two rows is the point of this example.** The naive row is what this dataset hands you if you split it the obvious way — by time within each recording, so the same bearing appears on both sides. It is not a result, and it is not quoted anywhere else in this README. The bearing-level row is lower because it is honest, not because the model is worse. +> +> Read the bearing-level row as a distribution, not a number. Individual folds range from 0.7408 to 0.9963 — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). Distribution of per-fold AUROC -**Reference model** — fold TBD only, the weights shipped in `pretrained_models/`. - - - - - - - - - - - - - - - - - - - - - - - - -
Float AUROCQAT AUROCAkida AUROCinnerouterballcage
TBDTBDTBDTBDTBDTBDTBD
- -Fold TBD is the *first* of the 100 evaluation folds. It was picked because it is first, not because of its score. It scores TBD against the TBD mean above. Every hardware number below comes from this one model on this one fold — **it is not the model's performance**, it is a fixed, reproducible artefact to benchmark. - **AKD1500 hardware benchmark** @@ -118,6 +89,8 @@ Fold TBD is the *first* of the 100 evaluation folds. It was picked because it is
+*Measured on the model trained on the bearing-level split at fold 5 — the weights shipped in `pretrained_models/` — which is a fixed, reproducible artefact rather than a performance claim. The architecture, the input shape and the quantization are identical under either split, so these latency, power and mapping figures apply to both rows of the Model Card.* + Full model benchmark `Minimal` mapping uses the fewest neural processors that will hold the model; `AllNPs` spreads it over everything available, which usually trades power for latency. This model is an unusual case: it already saturates the device in `Minimal` mode, so the two mappings are nearly identical. @@ -130,16 +103,16 @@ The model maps entirely to hardware — 1 HRC input convolution, 41 CNP1 convolu This dataset has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out. That is a small enough test set that the choice of which bearings are held out matters more than almost anything about the model: -- The **across-fold** standard deviation is TBD, and folds range from TBD to TBD with the architecture, the recipe and the seed all held fixed. -- The **within-fold** standard deviation across random seeds is TBD (measured over TBD folds at 3 seeds each) — comparable to the entire across-fold spread. +- The **across-fold** standard deviation is 0.0546, and folds range from 0.7408 to 0.9963 with the architecture, the recipe and the seed all held fixed. +- The **within-fold** standard deviation across random seeds is 0.0184 (measured over 25 folds at 3 seeds each) — comparable to the entire across-fold spread. So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. For scale: the WDCNN network this model descends from and this model itself differ by about 0.03 in their 100-fold means, which is *less* than one fold's seed-to-seed noise. Any comparison made on one fold is a coin toss dressed up as a result. The practical rules this example follows: -1. **The reported number is the mean over all TBD evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. +1. **The reported number is the mean over all 100 evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. 2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. -3. **Single-fold artefacts are labelled as such.** The pretrained weights and every hardware measurement come from fold TBD, and are presented as a fixed reference point, not a performance claim. +3. **Single-fold artefacts are labelled as such.** The pretrained weights and every hardware measurement come from fold 5, and are presented as a fixed reference point, not a performance claim. ## Requirements @@ -266,7 +239,7 @@ Run the full pipeline on one fold — build, train, quantize, tune, convert, eva bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] ``` -`FOLD` defaults to TBD and `SEED` to 0. It takes about a minute on a single GPU, plus benchmarking. The nine steps are the standard Akida 1 sequence; see the script for the exact commands. +`FOLD` defaults to 5 and `SEED` to 0. It takes about a minute on a single GPU, plus benchmarking. The nine steps are the standard Akida 1 sequence; see the script for the exact commands. ### Cross-validation @@ -283,16 +256,25 @@ It runs the whole chain on each of the 100 evaluation folds, appending to `docs/ `README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags: ```bash -python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-metrics -python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.h5 --save-metrics -python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics -python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics -python uored_vafcls_cross_validate.py --save-metrics # 30-60 min +# Bearing-level split (the protocol) - the Model Card's bottom row. +# Its AUROCs come from the sweep, never from a single model. +python uored_vafcls_cross_validate.py --save-metrics # 30-60 min python uored_vafcls_cross_validate.py --first-fold 5 --last-fold 29 --seeds 3 \ - -o docs/cv_seed_std.csv --save-seed-std # the seed-noise figure + -o docs/cv_seed_std.csv --save-seed-std # the seed-noise figure +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-metrics # params +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics # sparsity +python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics + +# Naive segment-level split (the comparator) - the Model Card's top row. +# One model, one run: the split is singular and its score is stable to ~0.001. +bash uored_vafcls_naive_split.sh +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment.h5 --split-mode segment --save-metrics +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment_qat.h5 --split-mode segment --save-metrics +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment_qat.fbz --split-mode segment --save-metrics + python update_readme.py ``` -Each key in `metrics.json` has exactly one writer, so the scripts can be run in any order without racing. +Each key in `metrics.json` has exactly one writer, so the scripts can be run in any order without racing. There is deliberately no bearing-level single-model AUROC: nothing in the README reports one, because reporting one is the mistake this example is about. **The standing rule:** any change to the architecture, the training recipe or the `ENCODE_*` constants invalidates the cross-validated table, and requires a fresh 100-fold sweep. Re-running the fixed fold is *not* a substitute — that is the whole point of this example. diff --git a/akida1/model_zoo/uored_vafcls/docs/README.md.template b/akida1/model_zoo/uored_vafcls/docs/README.md.template index f19e151..4552552 100644 --- a/akida1/model_zoo/uored_vafcls/docs/README.md.template +++ b/akida1/model_zoo/uored_vafcls/docs/README.md.template @@ -8,74 +8,45 @@ The interesting part of this example is not the model. It is the evaluation: thi ## Model Card -**Cross-validated performance** — {cv_folds} bearing-disjoint folds × {cv_seeds} seed. **This is the model's performance.** +**The same model, the same recipe, two ways of splitting the data.** The top row is a single train-and-evaluate run under a deliberately naive split; the bottom row is the mean over {cv_folds} bearing-disjoint folds × {cv_seeds} seed. Identical architecture, identical training budget — 720 training and 240 held-out windows either way — so the only thing separating the two rows is whether the split was allowed to leak. **The bottom row is the model's performance.** - - - - + + + + + + - - - - + + + + + + - - - - - - - - - - + + + + + +
StageMacro AUROC (mean ± std)Worst foldBest foldSplitFloat AUROCQAT AUROCAkida AUROCParamsActivation sparsity
Full precision{cv_float_auroc_mean} ± {cv_float_auroc_std}{cv_float_auroc_min}{cv_float_auroc_max}Naive segment-level (leaky){segment_float_auroc}{segment_qat_auroc}{segment_akida_auroc}{segment_params}{segment_sparsity}
Quantized + tuned (4-bit){cv_qat_auroc_mean} ± {cv_qat_auroc_std}
Akida{cv_akida_auroc_mean} ± {cv_akida_auroc_std}{cv_akida_auroc_min}{cv_akida_auroc_max}Bearing-level (protocol){cv_float_auroc_mean}{cv_qat_auroc_mean}{cv_akida_auroc_mean}{params}{sparsity}
-Standard error of the mean on the Akida figure is {cv_akida_auroc_sem}. Parameters: {params}. Activation sparsity: {sparsity}. - -> **Read the table above, not the one below.** Individual folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). +> **The gap between those two rows is the point of this example.** The naive row is what this dataset hands you if you split it the obvious way — by time within each recording, so the same bearing appears on both sides. It is not a result, and it is not quoted anywhere else in this README. The bearing-level row is lower because it is honest, not because the model is worse. +> +> Read the bearing-level row as a distribution, not a number. Individual folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). Distribution of per-fold AUROC -**Reference model** — fold {fixed_fold} only, the weights shipped in `pretrained_models/`. - - - - - - - - - - - - - - - - - - - - - - - - -
Float AUROCQAT AUROCAkida AUROCinnerouterballcage
{float_auroc}{qat_auroc}{akida_auroc}{akida_auroc_inner}{akida_auroc_outer}{akida_auroc_ball}{akida_auroc_cage}
- -Fold {fixed_fold} is the *first* of the 100 evaluation folds. It was picked because it is first, not because of its score. It scores {cv_fixed_fold_akida_auroc} against the {cv_akida_auroc_mean} mean above. Every hardware number below comes from this one model on this one fold — **it is not the model's performance**, it is a fixed, reproducible artefact to benchmark. - **AKD1500 hardware benchmark** @@ -118,6 +89,8 @@ Fold {fixed_fold} is the *first* of the 100 evaluation folds. It was picked beca
+*Measured on the model trained on the bearing-level split at fold {fixed_fold} — the weights shipped in `pretrained_models/` — which is a fixed, reproducible artefact rather than a performance claim. The architecture, the input shape and the quantization are identical under either split, so these latency, power and mapping figures apply to both rows of the Model Card.* + Full model benchmark `Minimal` mapping uses the fewest neural processors that will hold the model; `AllNPs` spreads it over everything available, which usually trades power for latency. This model is an unusual case: it already saturates the device in `Minimal` mode, so the two mappings are nearly identical. @@ -283,16 +256,25 @@ It runs the whole chain on each of the 100 evaluation folds, appending to `docs/ `README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags: ```bash -python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-metrics -python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.h5 --save-metrics -python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics -python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics -python uored_vafcls_cross_validate.py --save-metrics # 30-60 min +# Bearing-level split (the protocol) - the Model Card's bottom row. +# Its AUROCs come from the sweep, never from a single model. +python uored_vafcls_cross_validate.py --save-metrics # 30-60 min python uored_vafcls_cross_validate.py --first-fold 5 --last-fold 29 --seeds 3 \ - -o docs/cv_seed_std.csv --save-seed-std # the seed-noise figure + -o docs/cv_seed_std.csv --save-seed-std # the seed-noise figure +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-metrics # params +python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics # sparsity +python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics + +# Naive segment-level split (the comparator) - the Model Card's top row. +# One model, one run: the split is singular and its score is stable to ~0.001. +bash uored_vafcls_naive_split.sh +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment.h5 --split-mode segment --save-metrics +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment_qat.h5 --split-mode segment --save-metrics +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment_qat.fbz --split-mode segment --save-metrics + python update_readme.py ``` -Each key in `metrics.json` has exactly one writer, so the scripts can be run in any order without racing. +Each key in `metrics.json` has exactly one writer, so the scripts can be run in any order without racing. There is deliberately no bearing-level single-model AUROC: nothing in the README reports one, because reporting one is the mistake this example is about. **The standing rule:** any change to the architecture, the training recipe or the `ENCODE_*` constants invalidates the cross-validated table, and requires a fresh 100-fold sweep. Re-running the fixed fold is *not* a substitute — that is the whole point of this example. diff --git a/akida1/model_zoo/uored_vafcls/docs/metrics.json b/akida1/model_zoo/uored_vafcls/docs/metrics.json index 8b7473a..d229e7c 100644 --- a/akida1/model_zoo/uored_vafcls/docs/metrics.json +++ b/akida1/model_zoo/uored_vafcls/docs/metrics.json @@ -1,28 +1,22 @@ { - "cv_folds": "TBD", - "cv_seeds": "TBD", - "cv_float_auroc_mean": "TBD", - "cv_float_auroc_std": "TBD", - "cv_float_auroc_min": "TBD", - "cv_float_auroc_max": "TBD", - "cv_qat_auroc_mean": "TBD", - "cv_qat_auroc_std": "TBD", - "cv_akida_auroc_mean": "TBD", - "cv_akida_auroc_std": "TBD", - "cv_akida_auroc_min": "TBD", - "cv_akida_auroc_max": "TBD", - "cv_akida_auroc_sem": "TBD", - "params": "TBD", - "sparsity": "TBD", - "fixed_fold": "TBD", - "float_auroc": "TBD", - "qat_auroc": "TBD", - "akida_auroc": "TBD", - "akida_auroc_inner": "TBD", - "akida_auroc_outer": "TBD", - "akida_auroc_ball": "TBD", - "akida_auroc_cage": "TBD", - "cv_fixed_fold_akida_auroc": "TBD", + "segment_float_auroc": "0.9990", + "segment_qat_auroc": "0.9958", + "segment_akida_auroc": "0.9963", + "segment_params": "335,444", + "segment_sparsity": "38.08%", + "cv_folds": "100", + "cv_seeds": "1", + "cv_float_auroc_mean": "0.9237", + "cv_qat_auroc_mean": "0.9197", + "cv_akida_auroc_mean": "0.9192", + "cv_akida_auroc_std": "0.0546", + "cv_akida_auroc_min": "0.7408", + "cv_akida_auroc_max": "0.9963", + "cv_seed_std": "0.0184", + "cv_seed_std_folds": "25", + "params": "335,444", + "sparsity": "36.52%", + "fixed_fold": "5", "minimal_nps": "TBD", "minimal_passes": "TBD", "minimal_cycles": "TBD", @@ -38,7 +32,5 @@ "allnps_total_P": "TBD", "allnps_total_E": "TBD", "allnps_dyn_P": "TBD", - "allnps_dyn_E": "TBD", - "cv_seed_std": "TBD", - "cv_seed_std_folds": "TBD" + "allnps_dyn_E": "TBD" } diff --git a/akida1/model_zoo/uored_vafcls/docs/ref_cv_auroc_distribution.png b/akida1/model_zoo/uored_vafcls/docs/ref_cv_auroc_distribution.png new file mode 100644 index 0000000000000000000000000000000000000000..259f2cfa2869d6b739d6c2d0c9a9aa1b7a65346a GIT binary patch literal 43156 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 6 steps per epoch +# The segment split trains on all 60 recordings rather than 36, so it needs its +# own per-recording count to land on the same 720 windows per epoch: 60 x 12. +# Matching the budget is what makes the two modes comparable - at 20 windows per +# recording the naive split would get 1200 windows and 10 steps per epoch, and +# its higher score would confound leakage with 67% more gradient steps. The test +# side needs no such adjustment: the last 40% of a recording holds exactly 4 +# whole windows, and 60 x 4 = 240, the same as 24 held-out recordings x 10. +SEGMENT_TRAIN_WINDOWS_PER_RECORDING = 12 + # --------------------------------------------------------------------------- # uint8 input encoding # --------------------------------------------------------------------------- @@ -188,6 +241,65 @@ def fold_rows(bearing_id, fold, n_per_mode=N_BEARINGS_PER_FAULT_MODE, return np.flatnonzero(~is_test), np.flatnonzero(is_test) +# --------------------------------------------------------------------------- +# The naive comparator +# --------------------------------------------------------------------------- +# A time region is a half-open (start, stop) in samples. Every window drawn for +# a split comes from one of these, which is the whole of what separates the two +# modes: 'bearing' draws from the full recording on both sides and separates the +# rows instead, 'segment' shares every row and separates the time. +FULL_REGION = (0, SIGNAL_LENGTH) +SEGMENT_TRAIN_REGION = (0, SEGMENT_BOUNDARY) +SEGMENT_TEST_REGION = (SEGMENT_BOUNDARY, SIGNAL_LENGTH) + +SplitPlan = namedtuple('SplitPlan', ['mode', 'train_rows', 'test_rows', + 'train_region', 'test_region', + 'train_windows_per_recording']) + + +def check_split_mode(split_mode): + """Validate a split mode, returning it unchanged. + + Args: + split_mode (str): one of SPLIT_MODES. + + Returns: + str: `split_mode`. + """ + if split_mode not in SPLIT_MODES: + raise ValueError(f'split_mode must be one of {SPLIT_MODES}, got ' + f'{split_mode!r}') + return split_mode + + +def split_plan(bearing_id, fold, split_mode=DEFAULT_SPLIT_MODE): + """Resolve one split into rows, time regions and a training window budget. + + Both modes are described in the module docstring. This is the only place + that branches on the mode; everything downstream consumes the plan. + + Args: + bearing_id (np.ndarray): per-recording bearing id, shape (N_RECORDINGS,). + fold (int): fold index. Ignored by 'segment', which has one split. + split_mode (str): one of SPLIT_MODES. + + Returns: + SplitPlan: rows and time regions for each side, plus the number of + training windows to draw per recording. + """ + check_split_mode(split_mode) + + if split_mode == 'segment': + rows = np.arange(len(bearing_id)) + return SplitPlan(split_mode, rows, rows, SEGMENT_TRAIN_REGION, + SEGMENT_TEST_REGION, + SEGMENT_TRAIN_WINDOWS_PER_RECORDING) + + train_rows, test_rows = fold_rows(bearing_id, fold) + return SplitPlan(split_mode, train_rows, test_rows, FULL_REGION, + FULL_REGION, TRAIN_WINDOWS_PER_RECORDING) + + # --------------------------------------------------------------------------- # Input encoding # --------------------------------------------------------------------------- @@ -281,25 +393,58 @@ def _labels(cache, rows): return cache['labels'][rows].astype(np.float32) -def _describe(name, cache, rows): +def _describe(name, cache, rows, region=FULL_REGION): """Print what a set of recordings contains, by bearing and fault mode.""" bearings = sorted(set(cache['bearing_id'][rows].tolist())) counts = {} for fault_type in cache['fault_type'][rows]: counts[str(fault_type)] = counts.get(str(fault_type), 0) + 1 breakdown = ', '.join(f'{k} {v}' for k, v in sorted(counts.items())) + span = '' + if tuple(region) != FULL_REGION: + span = (f', t = {region[0] / SAMPLE_RATE:.1f}-' + f'{region[1] / SAMPLE_RATE:.1f} s') print(f'{name}: {len(rows)} recordings from {len(bearings)} bearings ' - f'{bearings} ({breakdown})') + f'{bearings} ({breakdown}{span})') + + +def _describe_split(cache, plan, fold): + """Print the split, and how much of it leaks.""" + if plan.mode == 'segment': + print(f'Naive segment split: every recording contributes both sides, ' + f'cut at {SEGMENT_SPLIT_FRACTION:.0%} ' + f'({SEGMENT_BOUNDARY / SAMPLE_RATE:.1f} s). There is only one ' + f'such split, so the fold index is ignored.') + else: + print(f'Fold {fold}: holding out bearings ' + f'{held_out_bearings_for_fold(fold)}') + + _describe('Train', cache, plan.train_rows, plan.train_region) + _describe('Held out', cache, plan.test_rows, plan.test_region) + + # The diagnostic that distinguishes the two modes at a glance. A protocol + # split shares nothing; the naive one shares everything. + train_bearings = set(cache['bearing_id'][plan.train_rows].tolist()) + test_bearings = set(cache['bearing_id'][plan.test_rows].tolist()) + shared = train_bearings & test_bearings + verdict = 'LEAKS' if shared else 'leakage-free' + print(f'Train and held out share {len(shared)} of ' + f'{len(train_bearings | test_bearings)} bearings -> {verdict}') # --------------------------------------------------------------------------- # Window generation # --------------------------------------------------------------------------- -def _train_dataset(cache, rows, batch_size, dtype, seed): - """Random 1 s crops with a random gain, re-drawn every epoch.""" +def _train_dataset(cache, rows, batch_size, dtype, seed, region=FULL_REGION, + windows_per_recording=TRAIN_WINDOWS_PER_RECORDING): + """Random 1 s crops with a random gain, re-drawn every epoch. + + Crops start anywhere in `region` that leaves a whole window inside it. + """ signals = cache['signals'] labels = _labels(cache, rows) - n_items = len(rows) * TRAIN_WINDOWS_PER_RECORDING + n_items = len(rows) * windows_per_recording + region_start, region_stop = region # An independent generator, not the global Keras RNG. The shell pipeline # re-seeds in a fresh process between building and training, so only an @@ -311,7 +456,7 @@ def generator(): for idx in range(n_items): i = idx % len(rows) row = rows[i] - start = rng.integers(0, SIGNAL_LENGTH - WINDOW_LENGTH) + start = rng.integers(region_start, region_stop - WINDOW_LENGTH) window = np.array(signals[row, start:start + WINDOW_LENGTH], dtype=np.float32) # Gain is applied to the float waveform @@ -334,17 +479,22 @@ def generator(): ) -def _eval_arrays(cache, rows): - """Deterministic contiguous tiling: EVAL_WINDOWS_PER_RECORDING per recording. +def _eval_arrays(cache, rows, region=FULL_REGION): + """Deterministic contiguous tiling of `region`, as many whole windows as fit. + + That is EVAL_WINDOWS_PER_RECORDING (10) over a full recording, or 4 over the + segment split's test region and 6 over its training region. Small enough to materialise (240 x 1200 x 35 uint8 is about 10 MB). """ signals = cache['signals'] labels = _labels(cache, rows) + region_start, region_stop = region + n_windows = (region_stop - region_start) // WINDOW_LENGTH windows, targets = [], [] for i, row in enumerate(rows): - for j in range(EVAL_WINDOWS_PER_RECORDING): - start = j * WINDOW_LENGTH + for j in range(n_windows): + start = region_start + j * WINDOW_LENGTH window = np.array(signals[row, start:start + WINDOW_LENGTH], dtype=np.float32) windows.append(encode_uint8(window)) @@ -352,8 +502,8 @@ def _eval_arrays(cache, rows): return frame_window(np.stack(windows)), np.stack(targets) -def _eval_dataset(cache, rows, batch_size, dtype): - x, y = _eval_arrays(cache, rows) +def _eval_dataset(cache, rows, batch_size, dtype, region=FULL_REGION): + x, y = _eval_arrays(cache, rows, region) return ( tf.data.Dataset.from_tensor_slices((x, y)) .batch(batch_size) @@ -366,8 +516,9 @@ def _eval_dataset(cache, rows, batch_size, dtype): # Public API # --------------------------------------------------------------------------- def get_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, - batch_size=BATCH_SIZE, dtype=tf.uint8, fold=FIXED_FOLD, seed=0): - """Load the training and held-out datasets for one bearing-disjoint fold. + batch_size=BATCH_SIZE, dtype=tf.uint8, fold=FIXED_FOLD, seed=0, + split_mode=DEFAULT_SPLIT_MODE): + """Load the training and held-out datasets for one fold. There is deliberately no validation split. With 36 training recordings, carving one out would cost about a sixth of the data and would itself have to @@ -385,8 +536,11 @@ def get_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, dtype (tf.dtypes.DType, optional): input data type. Defaults to tf.uint8. fold (int): bearing-disjoint fold index. Folds 0-4 are the tuning budget; 5-104 are the evaluation folds. Defaults to FIXED_FOLD. + Ignored when `split_mode` is 'segment', which has one split. seed (int): seed for the crop positions, the gains and the shuffle order. The split itself does not depend on it. + split_mode (str): 'bearing' for the protocol, 'segment' for the naive + comparator. See the module docstring. Defaults to 'bearing'. Returns: tf.data.Dataset, tf.data.Dataset: training dataset, held-out dataset. @@ -394,14 +548,14 @@ def get_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, _check_input_shape(input_shape) cache = _load_cache(data_path) - train_rows, test_rows = fold_rows(cache['bearing_id'], fold) - print(f'Fold {fold}: holding out bearings ' - f'{held_out_bearings_for_fold(fold)}') - _describe('Train', cache, train_rows) - _describe('Held out', cache, test_rows) + plan = split_plan(cache['bearing_id'], fold, split_mode) + _describe_split(cache, plan, fold) - return (_train_dataset(cache, train_rows, batch_size, dtype, seed), - _eval_dataset(cache, test_rows, batch_size, dtype)) + return (_train_dataset(cache, plan.train_rows, batch_size, dtype, seed, + plan.train_region, + plan.train_windows_per_recording), + _eval_dataset(cache, plan.test_rows, batch_size, dtype, + plan.test_region)) # def get_test_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, @@ -432,27 +586,31 @@ def get_data(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, - num_samples=1024, fold=FIXED_FOLD, seed=0): + num_samples=1024, fold=FIXED_FOLD, seed=0, + split_mode=DEFAULT_SPLIT_MODE): """Load a block of training windows as a plain uint8 numpy array. Used for activation-sparsity measurement and hardware benchmarking, both of which need uint8 numpy input rather than a dataset. The draw is over the - fold's *training* recordings: Akida timings depend on input activity, so the + fold's *training* data: Akida timings depend on input activity, so the windows have to be real, but to avoid data leakage at quantization, they must - not come from held-out data. + not come from held-out data. Under 'segment' that means the training side of + the time cut, since every recording appears on both sides. - Up to EVAL_WINDOWS_PER_RECORDING per training recording (360 for a standard - fold) are the deterministic tiled windows; beyond that the remainder are - seeded random crops. + The deterministic tiled windows of the training region come first - 360 of + them either way, 36 recordings x 10 under 'bearing' and 60 x 6 under + 'segment'; beyond that the remainder are seeded random crops. Args: data_path (str): directory holding the .npz cache. input_shape (tuple): model input shape; must be INPUT_SHAPE. num_samples (int): number of windows to return. Defaults to 1024. fold (int): bearing-disjoint fold index. Defaults to FIXED_FOLD. + Ignored when `split_mode` is 'segment'. seed (int): seed for the draw order and for any random crops. Akida timings and sparsity depend on input activity, so varying this varies the measurement. + split_mode (str): 'bearing' or 'segment'. Defaults to 'bearing'. Returns: np.ndarray: shape (num_samples,) + INPUT_SHAPE, dtype uint8. @@ -461,10 +619,12 @@ def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, cache = _load_cache(data_path) signals = cache['signals'] - train_rows, _ = fold_rows(cache['bearing_id'], fold) + plan = split_plan(cache['bearing_id'], fold, split_mode) + train_rows = plan.train_rows + region_start, region_stop = plan.train_region rng = np.random.default_rng(seed) - tiled, _ = _eval_arrays(cache, train_rows) + tiled, _ = _eval_arrays(cache, train_rows, plan.train_region) idx = rng.permutation(len(tiled))[:num_samples] samples = tiled[idx] @@ -473,7 +633,7 @@ def get_samples(data_path=DEFAULT_DATA_PATH, input_shape=INPUT_SHAPE, extra = np.empty((shortfall, WINDOW_LENGTH), dtype=np.uint8) for k in range(shortfall): row = train_rows[rng.integers(0, len(train_rows))] - start = rng.integers(0, SIGNAL_LENGTH - WINDOW_LENGTH) + start = rng.integers(region_start, region_stop - WINDOW_LENGTH) window = np.array(signals[row, start:start + WINDOW_LENGTH], dtype=np.float32) extra[k] = encode_uint8(window) @@ -590,6 +750,11 @@ def prepare_raw(raw_dir, data_path=DEFAULT_DATA_PATH): help='Bearing-disjoint fold to summarise') parser.add_argument('--seed', type=int, default=0, help='Seed for the crop positions, gains and shuffle') + parser.add_argument('--split-mode', choices=SPLIT_MODES, + default=DEFAULT_SPLIT_MODE, + help="'bearing' is the leakage-free protocol; " + "'segment' is the naive time-wise split within " + 'each recording, for comparison only') parser.add_argument('--prepare-raw', metavar='RAW_DIR', default=None, help='Rebuild the .npz cache from the raw Mendeley CSV ' 'tree instead of downloading it') @@ -600,10 +765,12 @@ def prepare_raw(raw_dir, data_path=DEFAULT_DATA_PATH): print(f'Wrote {path} ({os.path.getsize(path) / 1e6:.0f} MB)') _load_cache.cache_clear() - if not (args.check_splits or args.report_encoding): - train_ds, test_ds = get_data(args.data, fold=args.fold, seed=args.seed) - samples = get_samples(args.data, num_samples=100, fold=args.fold, - seed=args.seed) - print(f'\nBatches: train {len(train_ds)}, held out {len(test_ds)}') - print(f'Samples for benchmarking: {samples.shape} {samples.dtype} ' - f'range [{samples.min()}, {samples.max()}]') + train_ds, test_ds = get_data(args.data, fold=args.fold, seed=args.seed, + split_mode=args.split_mode) + samples = get_samples(args.data, num_samples=100, fold=args.fold, + seed=args.seed, split_mode=args.split_mode) + print(f'\nBatches: train {len(train_ds)}, held out {len(test_ds)}') + print(f'Windows: train {len(train_ds) * BATCH_SIZE}, ' + f'held out {sum(1 for _ in test_ds.unbatch())}') + print(f'Samples for benchmarking: {samples.shape} {samples.dtype} ' + f'range [{samples.min()}, {samples.max()}]') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py index 5ae60c9..8526018 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py @@ -32,8 +32,8 @@ from akida_models.sparsity import compute_sparsity from brainchip_utils.hardware_utils import get_akida_device from brainchip_utils.plot_utils import pretty_print_sparsity -from uored_vafcls_data import (FIXED_FOLD, LABEL_COLUMNS, BATCH_SIZE, - get_samples, get_data) +from uored_vafcls_data import (DEFAULT_SPLIT_MODE, FIXED_FOLD, LABEL_COLUMNS, + BATCH_SIZE, SPLIT_MODES, get_samples, get_data) tf.config.experimental.enable_op_determinism() @@ -126,9 +126,15 @@ def evaluate_akida_model(akida_model, dataset): help='Bearing-disjoint fold to evaluate on') parser.add_argument('--seed', type=int, default=0, help='Random seed for the sparsity sample draw') + parser.add_argument('--split-mode', choices=SPLIT_MODES, + default=DEFAULT_SPLIT_MODE, + help="'bearing' is the leakage-free protocol; " + "'segment' is the naive time-wise split within " + 'each recording, for comparison only') parser.add_argument('--save-metrics', action='store_true', help='Write AUROC (and param count for .h5) to ' - 'metrics.json. Only valid on the fixed fold') + 'metrics.json. Only valid on the fixed fold of ' + 'the bearing-disjoint split') args = parser.parse_args() # --------------------------------------------------------------------------- @@ -149,7 +155,7 @@ def evaluate_akida_model(akida_model, dataset): # Data loading # --------------------------------------------------------------------------- _, test_ds = get_data(args.data, imsize, batch_size=args.batch_size, - fold=args.fold) + fold=args.fold, split_mode=args.split_mode) # --------------------------------------------------------------------------- # Evaluation @@ -160,7 +166,10 @@ def evaluate_akida_model(akida_model, dataset): logits, labels = predict_keras_model(model, test_ds) scores = auroc_scores(logits, labels) - report(scores, f'Fold {args.fold} held-out') + if args.split_mode == 'segment': + report(scores, 'Naive segment split (LEAKY, for comparison only)') + else: + report(scores, f'Fold {args.fold} held-out') # --------------------------------------------------------------------------- # Activation sparsity @@ -169,7 +178,8 @@ def evaluate_akida_model(akida_model, dataset): if isakida: samples = get_samples(args.data, imsize, num_samples=NUM_SPARSITY_SAMPLES, - fold=args.fold, seed=args.seed) + fold=args.fold, seed=args.seed, + split_mode=args.split_mode) sparsity_dict = compute_sparsity(model, samples=samples) pretty_print_sparsity(sparsity_dict) sparsity = float(np.mean(list(sparsity_dict.values()))) @@ -185,29 +195,58 @@ def evaluate_akida_model(akida_model, dataset): # This should only be used for code maintenance, when the model or training # pipeline is updated and a new trained model integrated. # - # Guarded on the fold: the README's reference table is specifically the - # fixed fold, and a stray --fold would otherwise silently replace it - # with a number from a different held-out set. - if args.fold != FIXED_FOLD: - raise SystemExit( - f'--save-metrics writes the README reference table, which is ' - f'fold {FIXED_FOLD}; refusing to write results from fold ' - f'{args.fold}.') - + # What this script may publish depends on the split, and the two cases + # are deliberately not symmetric. + # + # Under the naive split it writes the Model Card's top row outright: one + # train-and-evaluate run is the whole of that row, because the segment + # split is singular and its score is stable to about 0.001. + # + # Under the protocol it writes no AUROC at all. The bottom row is the + # 100-fold mean from uored_vafcls_cross_validate.py, and a single-fold + # number presented beside it is exactly the error this example exists to + # argue against. All that is taken from here is what a single model can + # honestly supply: the parameter count and the measured sparsity. metrics_path = pathlib.Path(__file__).parent / 'docs' / 'metrics.json' metrics = json.loads(metrics_path.read_text()) if metrics_path.exists() else {} auroc_str = f'{scores["macro"]:.4f}' - metrics['fixed_fold'] = str(args.fold) - if isakida: - metrics['akida_auroc'] = auroc_str - metrics['sparsity'] = f'{sparsity * 100:.2f}%' - # The per-label breakdown is only reported for the deployed model. - for name in LABEL_COLUMNS: - metrics[f'akida_auroc_{name}'] = f'{scores[name]:.4f}' - elif 'qat' in pathlib.Path(args.loadmodel).stem: - metrics['qat_auroc'] = auroc_str + written = [] + + if args.split_mode == 'segment': + if isakida: + metrics['segment_akida_auroc'] = auroc_str + metrics['segment_sparsity'] = f'{sparsity * 100:.2f}%' + written = ['segment_akida_auroc', 'segment_sparsity'] + elif 'qat' in pathlib.Path(args.loadmodel).stem: + metrics['segment_qat_auroc'] = auroc_str + written = ['segment_qat_auroc'] + else: + metrics['segment_float_auroc'] = auroc_str + metrics['segment_params'] = f'{model.count_params():,}' + written = ['segment_float_auroc', 'segment_params'] else: - metrics['float_auroc'] = auroc_str - metrics['params'] = f'{model.count_params():,}' + # Guarded on the fold: the hardware table and the sparsity figure + # are specifically the fixed fold, and a stray --fold would + # otherwise silently replace them with a different model's. The + # guard is meaningless under 'segment', which has only one split. + if args.fold != FIXED_FOLD: + raise SystemExit( + f'--save-metrics writes README figures measured on fold ' + f'{FIXED_FOLD}; refusing to write results from fold ' + f'{args.fold}.') + + metrics['fixed_fold'] = str(args.fold) + written = ['fixed_fold'] + if isakida: + metrics['sparsity'] = f'{sparsity * 100:.2f}%' + written.append('sparsity') + elif 'qat' not in pathlib.Path(args.loadmodel).stem: + metrics['params'] = f'{model.count_params():,}' + written.append('params') + metrics_path.write_text(json.dumps(metrics, indent=4) + '\n') - print(f'Metrics saved to {metrics_path}') + print(f'Metrics saved to {metrics_path}: {", ".join(written)}') + if args.split_mode != 'segment' and written == ['fixed_fold']: + print('Note: nothing else to write. The README reports no ' + 'single-model AUROC for the bearing-disjoint split - that ' + 'row is the cross-validated mean.') diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh b/akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh new file mode 100644 index 0000000..fe3c213 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# +# The naive comparator: the same pipeline as uored_vafcls_train.sh, run under a +# deliberately leaky split. Build, train, quantize, tune, convert, and evaluate +# at each stage. +# +# Usage: bash uored_vafcls_naive_split.sh [DATADIR] [SEED] +# +# THE NUMBER THIS PRINTS IS NOT A RESULT. It is inflated by construction and +# exists only to be compared against uored_vafcls_train.sh, which runs the same +# model and the same recipe under the bearing-disjoint protocol. +# +# The naive split divides each recording by time - the first 60% trains, the +# last 40% tests - so all 20 bearings appear on both sides, and windows seconds +# apart from the same bearing, the same fault and the same run are split across +# train and test. Both splits draw the same 720 training and 240 test windows, +# so the difference in score is attributable to the leakage and nothing else. +# See the DATA SPLIT PROTOCOL notes in uored_vafcls_data.py. +# +# There is no FOLD argument: unlike the protocol, this split is singular, so +# there is nothing to cross-validate. Its score is stable to about 0.001 where +# the bearing-disjoint folds span 0.04-0.05. Re-run with a different SEED to +# confirm that. +# +# Models are written with a _segment suffix so this never overwrites the +# protocol-trained checkpoints that the README tables describe. + +DATADIR="${1:-}" +DATA_ARG=${DATADIR:+-d "$DATADIR"} +SEED="${2:-${SEED:-0}}" +COMMON="--split-mode segment --seed $SEED $DATA_ARG" + +echo "UORED-VAFCLS NAIVE pipeline: seed ${SEED}, segment split (leaky by design)" + +# 1 - Build the untrained model +python uored_vafcls_model.py -s models/akdcnn_uored_vafcls_segment_untrained.h5 \ + --seed "$SEED" + +# 2 - Full-precision training +python uored_vafcls_train.py -l models/akdcnn_uored_vafcls_segment_untrained.h5 \ + -s models/akdcnn_uored_vafcls_segment.h5 -e 30 -lr 2e-4 -b 120 $COMMON + +# 3 - Evaluate the float model +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment.h5 $COMMON + +# 4 - Post-training quantization: 4-bit weights and activations, 8-bit input +cnn2snn quantize -m models/akdcnn_uored_vafcls_segment.h5 -i 8 -w 4 -a 4 + +# 5 - Quantization-aware tuning +python uored_vafcls_train.py \ + -l models/akdcnn_uored_vafcls_segment_iq8_wq4_aq4.h5 \ + -s models/akdcnn_uored_vafcls_segment_qat.h5 -e 10 -lr 1e-5 -b 120 $COMMON + +# 6 - Evaluate the tuned quantized model +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment_qat.h5 $COMMON + +# 7 - Convert to Akida +cnn2snn convert -m models/akdcnn_uored_vafcls_segment_qat.h5 + +# 8 - Evaluate on Akida +python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment_qat.fbz $COMMON + +# No hardware benchmark: latency and sparsity are properties of the graph and +# the input statistics, not of how the data was split. For those numbers run +# uored_vafcls_benchmark.py against the protocol-trained model. diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py index facb11f..0a51e5b 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py @@ -34,7 +34,8 @@ from tf_keras.optimizers.schedules import CosineDecay from tf_keras.utils import set_random_seed -from uored_vafcls_data import get_data +from uored_vafcls_data import (DEFAULT_SPLIT_MODE, FIXED_FOLD, SPLIT_MODES, + get_data) # Must be called before any TF ops to make GPU ops deterministic. tf.config.experimental.enable_op_determinism() @@ -101,10 +102,15 @@ def train_uored_vafcls(model, train_ds, epochs, learning_rate, help='Peak learning rate for the cosine schedule') parser.add_argument('-reg', '--regularization', type=float, default=None, help='Activity Regularization to increase sparsity') - parser.add_argument('--fold', type=int, default=5, + parser.add_argument('--fold', type=int, default=FIXED_FOLD, help='Bearing-disjoint fold index.') parser.add_argument('--seed', type=int, default=0, help='Random seed for reproducibility') + parser.add_argument('--split-mode', choices=SPLIT_MODES, + default=DEFAULT_SPLIT_MODE, + help="'bearing' is the leakage-free protocol; " + "'segment' is the naive time-wise split within " + 'each recording, for comparison only') args = parser.parse_args() # Model @@ -113,7 +119,7 @@ def train_uored_vafcls(model, train_ds, epochs, learning_rate, # Dataset train_ds, test_ds = get_data(args.data, model.input_shape[1:], args.batch_size, fold=args.fold, - seed=args.seed) + seed=args.seed, split_mode=args.split_mode) # Run Training train_uored_vafcls(model=model, train_ds=train_ds, diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh index 682c92e..a939405 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh @@ -42,7 +42,7 @@ cnn2snn quantize -m models/akdcnn_uored_vafcls.h5 -i 8 -w 4 -a 4 # 5 - Quantization-aware tuning. Larger than this repository's usual 2 epochs: # at 6 steps per epoch, 2 epochs is 12 optimizer steps and recovers nothing. python uored_vafcls_train.py -l models/akdcnn_uored_vafcls_iq8_wq4_aq4.h5 \ - -s models/akdcnn_uored_vafcls_qat.h5 -e 10 -lr 1e-5 -b 120 $COMMON + -s models/akdcnn_uored_vafcls_qat.h5 -e 10 -lr 5e-5 -b 120 $COMMON # 6 - Evaluate the tuned quantized model python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_qat.h5 $COMMON From bf152b07dd4c064f5f18b5770974829ebad9242f Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Thu, 17 Sep 2026 10:54:34 +0200 Subject: [PATCH 05/15] Pretrained single-fold models --- .../uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 | 3 +++ .../uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz | 3 +++ .../uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 create mode 100644 akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz create mode 100644 akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 diff --git a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 new file mode 100644 index 0000000..22d2e35 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58b53b23c7c0b8f3da8b1b99769856e89e2865ea7a734e40362721826fbfae70 +size 1434032 diff --git a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz new file mode 100644 index 0000000..7aac9d5 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99c41669d0e12409c553dcd8125cc79d38ce66bde3b274498d44dfdd87295e0a +size 402863 diff --git a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 new file mode 100644 index 0000000..413cb77 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61b7ea5d4a770f16379149f2095c7abee4e22c1439388800fa387cf114ddf3a9 +size 1386544 From 4f4d8f7b63bf27b75fe6385d0447e92347d67dd0 Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Thu, 17 Sep 2026 22:46:26 +0200 Subject: [PATCH 06/15] model fixed for akida --- akida1/model_zoo/uored_vafcls/README.md | 14 +++++----- .../model_zoo/uored_vafcls/docs/metrics.json | 16 ++++++------ .../uored_vafcls/uored_vafcls_data.py | 2 +- .../uored_vafcls/uored_vafcls_model.py | 26 +++++++++++++++---- 4 files changed, 37 insertions(+), 21 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index ce6ed8a..77ee394 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -32,18 +32,18 @@ The interesting part of this example is not the model. It is the evaluation: thi Bearing-level (protocol) - 0.9237 - 0.9197 - 0.9192 + 0.8950 + 0.8939 + 0.8939 335,444 - 36.52% + 37.81% > **The gap between those two rows is the point of this example.** The naive row is what this dataset hands you if you split it the obvious way — by time within each recording, so the same bearing appears on both sides. It is not a result, and it is not quoted anywhere else in this README. The bearing-level row is lower because it is honest, not because the model is worse. > -> Read the bearing-level row as a distribution, not a number. Individual folds range from 0.7408 to 0.9963 — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). +> Read the bearing-level row as a distribution, not a number. Individual folds range from 0.6989 to 0.9892 — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). Distribution of per-fold AUROC @@ -103,8 +103,8 @@ The model maps entirely to hardware — 1 HRC input convolution, 41 CNP1 convolu This dataset has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out. That is a small enough test set that the choice of which bearings are held out matters more than almost anything about the model: -- The **across-fold** standard deviation is 0.0546, and folds range from 0.7408 to 0.9963 with the architecture, the recipe and the seed all held fixed. -- The **within-fold** standard deviation across random seeds is 0.0184 (measured over 25 folds at 3 seeds each) — comparable to the entire across-fold spread. +- The **across-fold** standard deviation is 0.0666, and folds range from 0.6989 to 0.9892 with the architecture, the recipe and the seed all held fixed. +- The **within-fold** standard deviation across random seeds is 0.0186 (measured over 25 folds at 3 seeds each) — comparable to the entire across-fold spread. So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. For scale: the WDCNN network this model descends from and this model itself differ by about 0.03 in their 100-fold means, which is *less* than one fold's seed-to-seed noise. Any comparison made on one fold is a coin toss dressed up as a result. diff --git a/akida1/model_zoo/uored_vafcls/docs/metrics.json b/akida1/model_zoo/uored_vafcls/docs/metrics.json index d229e7c..78bafa0 100644 --- a/akida1/model_zoo/uored_vafcls/docs/metrics.json +++ b/akida1/model_zoo/uored_vafcls/docs/metrics.json @@ -6,16 +6,16 @@ "segment_sparsity": "38.08%", "cv_folds": "100", "cv_seeds": "1", - "cv_float_auroc_mean": "0.9237", - "cv_qat_auroc_mean": "0.9197", - "cv_akida_auroc_mean": "0.9192", - "cv_akida_auroc_std": "0.0546", - "cv_akida_auroc_min": "0.7408", - "cv_akida_auroc_max": "0.9963", - "cv_seed_std": "0.0184", + "cv_float_auroc_mean": "0.8950", + "cv_qat_auroc_mean": "0.8939", + "cv_akida_auroc_mean": "0.8939", + "cv_akida_auroc_std": "0.0666", + "cv_akida_auroc_min": "0.6989", + "cv_akida_auroc_max": "0.9892", + "cv_seed_std": "0.0186", "cv_seed_std_folds": "25", "params": "335,444", - "sparsity": "36.52%", + "sparsity": "37.81%", "fixed_fold": "5", "minimal_nps": "TBD", "minimal_passes": "TBD", diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py index 91fd646..fb4daae 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py @@ -153,7 +153,7 @@ # Windowing # --------------------------------------------------------------------------- WINDOW_LENGTH = 42_000 # 1.0 s -FRAME_WIDTH = 35 # samples per frame; 42000 / 35 = 1200 frames +FRAME_WIDTH = 140 # samples per frame; 42000 / 35 = 1200 frames INPUT_SHAPE = (WINDOW_LENGTH // FRAME_WIDTH, FRAME_WIDTH, 1) # (1200, 35, 1) TRAIN_WINDOWS_PER_RECORDING = 20 # 36 recordings x 20 = 720 windows per epoch diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py index f54380b..6ef852e 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py @@ -42,11 +42,15 @@ from tf_keras import Model from tf_keras.layers import (BatchNormalization, Conv2D, Dense, Input, - MaxPooling2D, ReLU, Rescaling, GlobalAveragePooling2D) + MaxPooling2D, ReLU, Rescaling, GlobalAveragePooling2D, Flatten) from tf_keras.utils import set_random_seed +import akida +from cnn2snn import quantize, convert -def build_uored_vafcls_model(input_shape=(1200, 35, 1), fault_classes=4, seed=0): +from uored_vafcls_data import INPUT_SHAPE + +def build_uored_vafcls_model(input_shape=INPUT_SHAPE, fault_classes=4, seed=0): """Build the untrained akdcnn model. Args: @@ -97,8 +101,13 @@ def _conv_block(x, filters, name, kernel=(3, 3), padding='same', pool=True, x = Rescaling(1.0 / 128.0, -1.0, name='rescaling')(inputs) # Stem: a dense convolution with no padding - x = _conv_block(x, STEM_FILTERS, 'stem', kernel=STEM_KERNEL_SIZE, - padding='valid', pool=True, pool_padding='valid') + x = Conv2D(STEM_FILTERS, STEM_KERNEL_SIZE, padding='valid', use_bias=False, + name='stem_conv')(x) + x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, + name='stem_bn')(x) + x = ReLU(max_value=6.0, name='stem_relu')(x) + x = MaxPooling2D((2, 2), strides=(2, 2), padding='valid', + name='stem_pool')(x) # Blocks for i, (filters, pool) in enumerate(zip(BLOCK_FILTERS[:-1], BLOCK_POOLING[:-1]), @@ -108,7 +117,7 @@ def _conv_block(x, filters, name, kernel=(3, 3), padding='same', pool=True, # Final block with Global Average Pooling # Note that for Akida 1, it needs to be placed before the neighbouring ReLU x = Conv2D(128, 3, padding='same', use_bias=False, - name='block6_conv')(x) + name='block6_conv')(x) x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, name='block6_bn')(x) x = GlobalAveragePooling2D(name='gap')(x) @@ -138,3 +147,10 @@ def _conv_block(x, filters, name, kernel=(3, 3), padding='same', pool=True, model.summary() model.save(args.savepath, include_optimizer=False) print(f'Model saved to {args.savepath}') + + qmodel = quantize(model, weight_quantization=4, activ_quantization=4, input_weight_quantization=8) + ak_model = convert(qmodel) + device = akida.AKD1500() + + ak_model.map(device, mode=akida.MapMode.Minimal, hw_only=True) + ak_model.summary() From c9d0b3163457b63f6420a88430998cb7d9d3c77d Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Fri, 18 Sep 2026 00:25:31 +0200 Subject: [PATCH 07/15] Pretrained models updated --- .../uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 | 2 +- .../uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz | 2 +- .../uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 index 22d2e35..8230da4 100644 --- a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 +++ b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls.h5 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58b53b23c7c0b8f3da8b1b99769856e89e2865ea7a734e40362721826fbfae70 +oid sha256:2bad90b1198e665d7089697bbd78af760eb3bf2b346ed2681c561636dbf76b64 size 1434032 diff --git a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz index 7aac9d5..69e2df3 100644 --- a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz +++ b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.fbz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99c41669d0e12409c553dcd8125cc79d38ce66bde3b274498d44dfdd87295e0a +oid sha256:bd7e0dd12a1cba7770eb2427462de7f3f776564fb18509d8daabe11f39ff7076 size 402863 diff --git a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 index 413cb77..c06585e 100644 --- a/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 +++ b/akida1/model_zoo/uored_vafcls/pretrained_models/akdcnn_uored_vafcls_qat.h5 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61b7ea5d4a770f16379149f2095c7abee4e22c1439388800fa387cf114ddf3a9 +oid sha256:200840acad818dc81668f34d657f0b2fe418aa1b14ce5b4ac00ce86d83e41b07 size 1386544 From 2717d47e404edd555172acc0c8101a79dae748ce Mon Sep 17 00:00:00 2001 From: dmclelland Date: Fri, 18 Sep 2026 00:31:44 +0200 Subject: [PATCH 08/15] HW benchmark run --- akida1/model_zoo/uored_vafcls/README.md | 32 +++++++++--------- .../model_zoo/uored_vafcls/docs/metrics.json | 32 +++++++++--------- .../docs/ref_benchmark_results_full.png | Bin 0 -> 263887 bytes .../docs/ref_benchmark_results_layers.png | Bin 0 -> 102189 bytes 4 files changed, 32 insertions(+), 32 deletions(-) create mode 100644 akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_full.png create mode 100644 akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_layers.png diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index 77ee394..da4c259 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -66,25 +66,25 @@ The interesting part of this example is not the model. It is the evaluation: thi Minimal - TBD - TBD - TBD - TBD - TBD - TBD - TBD - TBD + 17 + 1 + 3947210 + 9.868 + 178.5 + 1.784 + 66.6 + 0.666 AllNPs - TBD - TBD - TBD - TBD - TBD - TBD - TBD - TBD + 27 + 1 + 2932072 + 7.330 + 201.4 + 1.502 + 88.8 + 0.662 diff --git a/akida1/model_zoo/uored_vafcls/docs/metrics.json b/akida1/model_zoo/uored_vafcls/docs/metrics.json index 78bafa0..e0f3fe1 100644 --- a/akida1/model_zoo/uored_vafcls/docs/metrics.json +++ b/akida1/model_zoo/uored_vafcls/docs/metrics.json @@ -17,20 +17,20 @@ "params": "335,444", "sparsity": "37.81%", "fixed_fold": "5", - "minimal_nps": "TBD", - "minimal_passes": "TBD", - "minimal_cycles": "TBD", - "minimal_latency_ms": "TBD", - "minimal_total_P": "TBD", - "minimal_total_E": "TBD", - "minimal_dyn_P": "TBD", - "minimal_dyn_E": "TBD", - "allnps_nps": "TBD", - "allnps_passes": "TBD", - "allnps_cycles": "TBD", - "allnps_latency_ms": "TBD", - "allnps_total_P": "TBD", - "allnps_total_E": "TBD", - "allnps_dyn_P": "TBD", - "allnps_dyn_E": "TBD" + "minimal_nps": "17", + "minimal_passes": "1", + "minimal_cycles": "3947210", + "minimal_latency_ms": "9.868", + "minimal_total_P": "178.5", + "minimal_total_E": "1.784", + "minimal_dyn_P": "66.6", + "minimal_dyn_E": "0.666", + "allnps_nps": "27", + "allnps_passes": "1", + "allnps_cycles": "2932072", + "allnps_latency_ms": "7.330", + "allnps_total_P": "201.4", + "allnps_total_E": "1.502", + "allnps_dyn_P": "88.8", + "allnps_dyn_E": "0.662" } diff --git a/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_full.png b/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_full.png new file mode 100644 index 0000000000000000000000000000000000000000..eab05d6a5a0e710d8509198bdb74271f27312809 GIT binary patch literal 263887 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

    =dVG93v*EIAHJbP|4=&y{p1~)RB73 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 z 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 L>gTe~DWM4fMFHU7 literal 0 HcmV?d00001 diff --git a/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_layers.png b/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_layers.png new file mode 100644 index 0000000000000000000000000000000000000000..b189eb1010b2c07957fc17be3a35a4d370bdf042 GIT binary patch literal 102189 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 G^Zx=dI%(+u literal 0 HcmV?d00001 From 02e7f5658711822907f31bd4df0a9c055e5a398c Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Fri, 18 Sep 2026 09:35:36 +0200 Subject: [PATCH 09/15] Naive split results updated for final model --- akida1/model_zoo/uored_vafcls/README.md | 6 +++--- akida1/model_zoo/uored_vafcls/docs/metrics.json | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index da4c259..7fbe6f3 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -24,11 +24,11 @@ The interesting part of this example is not the model. It is the evaluation: thi Naive segment-level (leaky) - 0.9990 - 0.9958 + 0.9983 0.9963 + 0.9973 335,444 - 38.08% + 39.06% Bearing-level (protocol) diff --git a/akida1/model_zoo/uored_vafcls/docs/metrics.json b/akida1/model_zoo/uored_vafcls/docs/metrics.json index e0f3fe1..c103e27 100644 --- a/akida1/model_zoo/uored_vafcls/docs/metrics.json +++ b/akida1/model_zoo/uored_vafcls/docs/metrics.json @@ -1,9 +1,9 @@ { - "segment_float_auroc": "0.9990", - "segment_qat_auroc": "0.9958", - "segment_akida_auroc": "0.9963", + "segment_float_auroc": "0.9983", + "segment_qat_auroc": "0.9963", + "segment_akida_auroc": "0.9973", "segment_params": "335,444", - "segment_sparsity": "38.08%", + "segment_sparsity": "39.06%", "cv_folds": "100", "cv_seeds": "1", "cv_float_auroc_mean": "0.8950", From b02ff788a5b1fb8995370677352c8c112fa3ce1d Mon Sep 17 00:00:00 2001 From: Douglas McLelland Date: Fri, 18 Sep 2026 15:27:22 +0200 Subject: [PATCH 10/15] Readme finalized, all text tidied --- akida1/model_zoo/uored_vafcls/README.md | 180 ++++++++++-------- .../uored_vafcls/docs/README.md.template | 180 ++++++++++-------- .../uored_vafcls/docs/cv_results.csv | 101 ++++++++++ .../uored_vafcls/docs/cv_seed_std.csv | 76 ++++++++ .../docs/ref_cv_auroc_distribution.png | Bin 43156 -> 44870 bytes .../pretrained_models/akdcnn_uored_vafcls.h5 | 2 +- .../akdcnn_uored_vafcls_qat.fbz | 2 +- .../akdcnn_uored_vafcls_qat.h5 | 2 +- .../uored_vafcls/uored_vafcls_benchmark.py | 4 + .../uored_vafcls_cross_validate.py | 14 +- .../uored_vafcls/uored_vafcls_data.py | 43 +---- .../uored_vafcls/uored_vafcls_model.py | 37 ++-- .../uored_vafcls/uored_vafcls_naive_split.sh | 2 +- .../uored_vafcls/uored_vafcls_train.sh | 13 +- 14 files changed, 417 insertions(+), 239 deletions(-) create mode 100644 akida1/model_zoo/uored_vafcls/docs/cv_results.csv create mode 100644 akida1/model_zoo/uored_vafcls/docs/cv_seed_std.csv diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index 7fbe6f3..506b0b1 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -1,14 +1,16 @@ BrainChip Dev Hub -# Bearing Fault Diagnosis (UORED-VAFCLS) +# Bearing Fault Diagnosis from Vibration data (UORED-VAFCLS) Multi-label detection of rolling-element bearing faults — inner race, outer race, ball and cage — from one second of raw 42 kHz accelerometer data. The four faults are independent labels rather than classes, and a healthy bearing is the all-zero vector, not a fifth class. The reported metric is therefore macro AUROC, which needs no decision threshold. -The interesting part of this example is not the model. It is the evaluation: this dataset makes it extremely easy to report a number that is far better than the model deserves, in at least two different ways, and most of what follows is about not doing that. +This example tries to convey two different points: +- how to prepare and evaluate a model for Akida 1, for single-channel time-series data +- the particularities of this and related datasets that mean that special care needs to be taken in preparing the training and evaluation splits, and that comparison across published results is extremely difficult ## Model Card -**The same model, the same recipe, two ways of splitting the data.** The top row is a single train-and-evaluate run under a deliberately naive split; the bottom row is the mean over 100 bearing-disjoint folds × 1 seed. Identical architecture, identical training budget — 720 training and 240 held-out windows either way — so the only thing separating the two rows is whether the split was allowed to leak. **The bottom row is the model's performance.** +**The table reports results for a single model architecture with only the method used to split the training and evaluation data changed.** See below for full details. @@ -23,7 +25,7 @@ The interesting part of this example is not the model. It is the evaluation: thi - + @@ -31,7 +33,7 @@ The interesting part of this example is not the model. It is the evaluation: thi - + @@ -41,12 +43,6 @@ The interesting part of this example is not the model. It is the evaluation: thi
    Naive segment-level (leaky)Segment-level 0.9983 0.9963 0.997339.06%
    Bearing-level (protocol)Bearing-level 0.8950 0.8939 0.8939
    -> **The gap between those two rows is the point of this example.** The naive row is what this dataset hands you if you split it the obvious way — by time within each recording, so the same bearing appears on both sides. It is not a result, and it is not quoted anywhere else in this README. The bearing-level row is lower because it is honest, not because the model is worse. -> -> Read the bearing-level row as a distribution, not a number. Individual folds range from 0.6989 to 0.9892 — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). - -Distribution of per-fold AUROC - **AKD1500 hardware benchmark** @@ -89,97 +85,103 @@ The interesting part of this example is not the model. It is the evaluation: thi
    -*Measured on the model trained on the bearing-level split at fold 5 — the weights shipped in `pretrained_models/` — which is a fixed, reproducible artefact rather than a performance claim. The architecture, the input shape and the quantization are identical under either split, so these latency, power and mapping figures apply to both rows of the Model Card.* +Measured on the model provided in the `pretrained_models/` folder, trained on the bearing-level split at fold 5. Full model benchmark -`Minimal` mapping uses the fewest neural processors that will hold the model; `AllNPs` spreads it over everything available, which usually trades power for latency. This model is an unusual case: it already saturates the device in `Minimal` mode, so the two mappings are nearly identical. +`Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; `AllNPs` spreads it over the available +NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is minimal +difference between these modes. -The model maps entirely to hardware — 1 HRC input convolution, 41 CNP1 convolutional processors, one FNP2 and one FNP3 for the two fully-connected layers, in a single sequence over two passes. One caveat worth knowing before reading the per-layer plot: the `fc` layer's 2432 × 100 weight matrix does not fit in on-chip memory and needs 184 kB of external memory, so unlike most examples here there is real DMA traffic on every inference, and `fc` dominates the latency breakdown. +The model maps entirely to hardware in a single sequence, single pass. Per-layer benchmark -## Why cross-validation is not optional - -This dataset has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out. That is a small enough test set that the choice of which bearings are held out matters more than almost anything about the model: - -- The **across-fold** standard deviation is 0.0666, and folds range from 0.6989 to 0.9892 with the architecture, the recipe and the seed all held fixed. -- The **within-fold** standard deviation across random seeds is 0.0186 (measured over 25 folds at 3 seeds each) — comparable to the entire across-fold spread. - -So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. For scale: the WDCNN network this model descends from and this model itself differ by about 0.03 in their 100-fold means, which is *less* than one fold's seed-to-seed noise. Any comparison made on one fold is a coin toss dressed up as a result. - -The practical rules this example follows: - -1. **The reported number is the mean over all 100 evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. -2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. -3. **Single-fold artefacts are labelled as such.** The pretrained weights and every hardware measurement come from fold 5, and are presented as a fixed reference point, not a performance claim. - ## Requirements -See the [requirements section](../../../README.md#requirements) of the top-level README for the environment used throughout this repository. - -This example additionally uses `scikit-learn` (for `roc_auc_score`, the reported metric), `pooch` (dataset download) and `pandas` (results bookkeeping; also `pyarrow` if you cross-check the split against the published fixtures). +See the [requirements section](../../../README.md#requirements) of the top-level README for the environment used +throughout this repository. ## Dataset -**UORED-VAFCLS** — the University of Ottawa Rolling-element Dataset, Vibration and Acoustic Faults under Constant Load and Speed. 60 accelerometer recordings, each 10 s at 42 kHz, from 20 bearings. Every bearing contributes three recordings: one healthy, plus two severities of a single fault mode. +**UORED-VAFCLS** — the University of Ottawa Rolling-element Dataset, Vibration and Acoustic Faults under Constant Load and Speed. + +This dataset comprises 60 accelerometer recordings, each 10 s at 42 kHz, from 20 bearings. Every bearing contributes three recordings: +one healthy, plus two severities of a single fault mode. | | | |---|---| | Recordings | 60 (20 bearings × 3) | | Length | 10 s at 42 kHz (420,000 samples) | -| Model input | 1 s window, framed to 1200 × 35 | +| Model input | 1 s window | | Labels | 4 independent: inner, outer, ball, cage (healthy = all zero) | | Windows per fold | 720 training (random crops), 240 held-out (tiled) | +Sample recordings from the UORED-VAFCLS dataset + Downloaded from [Mendeley Data, doi:10.17632/y2px5tg92h.5](https://data.mendeley.com/datasets/y2px5tg92h/5), licensed **CC BY 4.0** (https://creativecommons.org/licenses/by/4.0/): > Sehri, Maryam; Dumond, Patrick (2023), *"University of Ottawa Rolling-element Dataset – Vibration and Acoustic Faults under Constant Load and Speed conditions (UORED-VAFCLS)"*, Mendeley Data, V5, doi: 10.17632/y2px5tg92h.5 -*Changes made, as the licence requires us to state:* the `Accelerometer` column of the raw CSVs is repacked unmodified into a single float32 `.npz`; the pipeline in this example then removes a per-recording DC offset and rescales each recording to an 8-bit range (see [Input encoding](#input-encoding)). - -The evaluation protocol, and the leakage argument behind it, follow: - -> J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) - -That work reports 0.9100 ± 0.0553 macro AUROC for a WDCNN on this protocol; a local reimplementation scored 0.9034 ± 0.0528 over the same 100 folds. Those figures are quoted for context only — they were measured on a different input pipeline, and are not comparable line-for-line with the Model Card (see [Input encoding](#input-encoding)). - -## Leakage and the bearing-level split +*Changes made, as the licence requires us to state:* for convenience, we make the data required in this example available +as a single file for download from the BrainChip servers, that is, the `Accelerometer` column of the raw CSVs repacked +unmodified into a single float32 `.npz`. -**In this dataset, fault mode is a property of the bearing.** Bearings 1–5 have inner-race faults, 6–10 outer-race, 11–15 ball, 16–20 cage. No bearing ever exhibits two modes. The consequence is severe: under any split that is not bearing-disjoint, a model that simply re-identifies *which bearing it is listening to* scores near-perfectly without learning anything about faults at all. Near-duplicate slices of the same 10 s recording on both sides of the split are enough to make that trivial. +## The Problem of Realistic Evaluation of Bearing Fault Diagnosis Models -The split here partitions on `bearing_id` **before any windowing**, holding out 2 bearings from each of the 4 fault modes — 8 of 20 bearings, and all three of each held-out bearing's recordings together. Enumerating every such choice gives C(5,2)⁴ = 10,000 folds, shuffled once with a fixed seed and indexed by fold number, so fold *N* here is fold *N* in the reference implementation. +This example draws very directly from the following article, which itself builds on a number of related publications that establish a +widespread methodological problem in the evaluation of machine learning approaches to the key datasets in the diagnosis of bearing faults +from vibration data (UORED-VAFCLS used here, but even more strikingly in the key datasets in the domain, CWRU and Paderborn): -Verify it yourself, over all 105 tuning and evaluation folds: - -```bash -python uored_vafcls_data.py --check-splits -``` - -**There is a second, subtler leak in the raw signals.** Amplitude is partly a recording fingerprint rather than a fault signature. All ten inner-race recordings sit at a mean of 46.6–55.6 while every outer-race and ball recording sits at 0.9–3.1. Used alone, with no model at all, the per-recording *mean* scores 0.776 AUROC on the inner-race label and 0.744 on cage; the per-recording *standard deviation* scores 0.798 on inner-race. A pipeline that feeds unnormalised signals lets the network read a large part of the answer off the DC offset. The input encoding below removes it — which lowers the reported score, and should. - -## Input encoding - -Akida takes 8-bit inputs. That is not merely an implementation detail here, because per-recording signal standard deviation spans **69×** across this dataset (1.87 to 129.4) and 8 bits is 256 levels. A single global scale wide enough for the loudest recording puts the quietest one below a single quantisation level. Per-recording scaling is *forced* by the hardware; it is not a modelling choice. - -So each window is encoded from its own recording's statistics — the centre and the 99.9th percentile of absolute deviation, both computed once over the whole 10 s trace: - -| Headroom | uint8 levels per signal σ (min / median) | clipped at gain 1.0 | at 1.7 | at 2.4 | -|---|---|---|---|---| -| 1.0 | 13.4 / 30.3 | 0.0997% | 4.31% | 11.65% | -| **2.0** (used) | **6.7 / 15.1** | **0.0003%** | **0.026%** | **0.56%** | -| 3.0 | 4.5 / 10.1 | ~0% | 0.001% | 0.016% | - -Regenerate that table for your own cache with `python uored_vafcls_data.py --report-encoding`. +> J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) -Two details that are easy to get wrong: +The abstract from that article sets the context clearly: *"While recent advances in machine learning (ML), particularly +deep learning, have shown strong performance in controlled settings, many studies fail to +generalize to real-world applications due to methodological flaws, most notably data leakage. +This paper investigates the issue of data leakage in vibration-based bearing fault diagnosis and +its impact on model evaluation. We demonstrate that common dataset partitioning strategies, +such as segment-wise and condition-wise splits, introduce spurious correlations that inflate +performance metrics."* + +The risk is specific and easy to walk into. These datasets are built from a small number of physical bearings, each recorded +over a short, uninterrupted run under a single load and speed, and the fault mode is a property of the bearing rather than of +the signal: here, bearings 1–5 carry inner-race faults, 6–10 outer, 11–15 ball, 16–20 cage. Any split that lets windows from +one recording — or from one bearing — fall on both sides of the train/test boundary therefore hands the model a shortcut. It +can re-identify the recording from its noise floor, its mounting resonances or its running speed and read the label straight +off that identity, without learning anything transferable about bearing faults at all. Segment-wise splits (cutting each +recording in time) and condition-wise splits (holding out load or speed settings while keeping the same bearings) both leak in +exactly this way, and both are common in the published literature. The consequence is that near-perfect headline accuracies — +99%+ is routine on CWRU — measure the ease of recognising a recording, not the ability to diagnose an unseen bearing, and they +collapse as soon as the model meets hardware it has not been recorded on. It also makes cross-paper comparison largely +meaningless: two results on the same dataset are usually not measuring the same thing. + +The reference citation above sets out a rigorous protocol for each of the datasets explored. The UORED-VAFCLS dataset used here +has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out, the +key point being that an individual physical bearing never appears in both train and test data (even data from separate recordings +is disallowed, e.g. if the 'healthy' recording for bearing 0 is put in the train data, then the 'fault' recordings for that bearing +must not be in the test split). You can consult the details of the data split preparation in the relevant script, `uored_vafcls_data.py`. + +That rigorous data split has knock-on consequences: the data splits are small enough that the choice of which bearings are held out +matters more than almost anything about the model: + +- The **across-fold** standard deviation is 0.0666, and folds range from 0.6989 to 0.9892 + with the architecture, the recipe and the seed all held fixed. See the plot of below showing performance across folds. +- The **within-fold** standard deviation across random seeds is 0.0186 (measured over 25 folds at 3 + seeds each). -- **The statistics are per recording, never per window.** A window-dependent scale — min-max normalisation, say — is scale-invariant, which would silently turn the training pipeline's random gain augmentation into a no-op. -- **The gain is applied before encoding**, to the float waveform, so it survives the rescale. The zero point sits at mid-scale, so the ~8% of gains that come out negative are a genuine polarity inversion rather than a clamp. +Distribution of per-fold AUROC -The inverse lives *inside* the model, as a `Rescaling` layer, so full-precision training, quantization-aware tuning and Akida inference all see identical values; `cnn2snn` folds it into the first convolution at conversion. +So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. It is absolutely necessary to run multi-fold +cross-validation to have anything approaching an accurate evaluation. For the bearing-wise split, this example follows the protocol +set out by the reference paper above: +1. **The reported number is the mean over all 100 evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. +2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. -**This is a deviation from the source pipeline, and it costs accuracy.** The reference implementation applied no normalisation at all and scored 0.9317 ± 0.0436 over these same 100 folds. That number is *not* in the Model Card and could not honestly be put there: it was measured on raw float inputs that still contained the amplitude confound described above. The figures in the Model Card were all re-measured with this encoding. What mitigates the change is that the protocol's own augmentation is a random per-window rescale with σ = 0.7 — the model is *explicitly* trained to be amplitude-invariant, so a fixed per-recording rescale falls inside the augmentation's own hypothesis class. +### The Comparison: Segment-level Split +To demonstrate the importance of this rigorous leakage-free split (and, admittedly, to show that the model developed here for +Akida is just as good as other published models, that the issue is on the data side, not the model) we present results for +a segment-level split (i.e. every 10 second recording split to 6 seconds training, 4 seconds test data). Sure enough, the +model achieves **>99.5% AUROC**, and that without any further tuning for that version of the task. ## Dataset setup @@ -189,40 +191,47 @@ The prepared cache downloads automatically on first use, to `--data` (default `. python uored_vafcls_data.py -d ./data/uored_vafcls ``` -If you already hold the raw dataset, rebuild the cache from it instead. Download `1_CSV_Raw_Data_Files (.csv)` from the Mendeley record and point at the directory containing the five `1_Healthy` … `5_Cage_Faults` subfolders: +If you prefer a different data location to the default (e.g. because your system has a dedicated data drive), you may find it +easy to set up a symbolic link from the default location. That way you can avoid passing the data path argument to all of the +scripts: ```bash -python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files +ln -s /path/to/shared/uored_vafcls ./data/uored_vafcls ``` -To share one copy between checkouts, symlink it: +If you already hold the raw dataset, rebuild the cache from it instead. Download `1_CSV_Raw_Data_Files (.csv)` from the +Mendeley record and point at the directory containing the five `1_Healthy` … `5_Cage_Faults` subfolders: ```bash -ln -s /path/to/shared/uored_vafcls ./data/uored_vafcls +python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files ``` + ## Pipeline | Stage | Description | |---|---| | Full-precision training | 30 epochs, Adam, batch 120 (6 steps/epoch), cosine decay with 5% warmup to a peak LR of 2e-4 | | Post-training quantization | `cnn2snn quantize` reduces to 4-bit weights and activations (8-bit input) | -| Quantization-aware tuning | 30 epochs at a peak LR of 2e-4, recovering part of the quantization loss | +| Quantization-aware tuning | 10 epochs at a peak LR of 5e-5, recovering almost all of the quantization loss | | Conversion to Akida | `cnn2snn convert` produces the `.fbz` model that runs on hardware | -Two notes on the recipe, both settled on folds 0–4: - -- **The learning-rate schedule spans the real step count.** The reference implementation hard-coded it and undershot by a sixth, leaving the last few epochs at a floor of zero — effectively training for fewer epochs than it appeared to. Here `total_steps` is derived from the dataset, so it cannot drift if the batch size or window count changes. -- **The QAT budget is larger than this repository's usual 2 epochs.** At 6 steps per epoch, 2 epochs is 12 optimizer steps, which recovers nothing. Even so, 4-bit quantization costs real accuracy on this architecture — compare the float and Akida rows of the Model Card. That cost is a property worth reporting, not a bug to tune away. - ## Reference Models The trained models in `pretrained_models/` are stored with Git LFS. See the [trained models section](../../../README.md#trained-models) of the top-level README if they arrive as text pointer files rather than real weights. +These models are necessarily trained on a specific fold. For that, we've selected fold 42, because performance is close to the 100-fold cross-validation value +(obviously, that in itself doesn't make the single-fold accuracy value any more meaningful; rather we hope to avoid any misunderstandings about performance +if a reader is not following the detail of this example). In any case, the pretrained model is only used for benchmarking on hardware which, since the architecture +is constant, should be more or less constant across folds (will vary only to the extent that learned sparsity within the model varies across training runs). + ## Usage ### Notebook +> ⚠️ **Work in progress — the notebooks are not included in this release yet.** The section below describes what they will +> cover; until they land, use the scripts described under [Script](#script). The links will not resolve. + [`uored_vafcls_notebook_training.ipynb`](uored_vafcls_notebook_training.ipynb) walks through the whole pipeline on a single fold: the dataset and its two leakage traps, how a 1 s waveform becomes a framed uint8 tensor, training, quantization, tuning and conversion. It also loads `docs/cv_results.csv` to show the fold distribution without needing a two-hour run. [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Brainchip-Inc/brainchip_devhub/blob/main/akida1/model_zoo/uored_vafcls/uored_vafcls_notebook_training.ipynb) @@ -249,11 +258,16 @@ bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] python uored_vafcls_cross_validate.py --save-metrics ``` -It runs the whole chain on each of the 100 evaluation folds, appending to `docs/cv_results.csv` after every fold, and takes roughly 30–60 minutes. It resumes by default, so an interrupted run picks up where it stopped. Add `--skip-akida` for a roughly 4× faster float-only sweep when comparing recipes, and `--first-fold`/`--last-fold` to split the work across machines. +It runs the whole chain on each of the 100 evaluation folds, appending to `docs/cv_results.csv` after every fold, and takes roughly 30–60 minutes. +It resumes by default, so an interrupted run picks up where it stopped. Add `--skip-akida` for a roughly 4× faster float-only sweep when comparing +recipes, and `--first-fold`/`--last-fold` to split the work across machines, or to limit to the first 5 folds (0-4) if working on tuning the model +or pipeline (remember, folds 5-104 are for the final evaluation only). ## Contributing and Maintenance -`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags: +`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance +tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags (if updating results following changes to the model or +pipeline, remember to delete the `.csv` files first, or use the `--no-resume` argument on the cross-validation runs): ```bash # Bearing-level split (the protocol) - the Model Card's bottom row. diff --git a/akida1/model_zoo/uored_vafcls/docs/README.md.template b/akida1/model_zoo/uored_vafcls/docs/README.md.template index 4552552..26a46b4 100644 --- a/akida1/model_zoo/uored_vafcls/docs/README.md.template +++ b/akida1/model_zoo/uored_vafcls/docs/README.md.template @@ -1,14 +1,16 @@ BrainChip Dev Hub -# Bearing Fault Diagnosis (UORED-VAFCLS) +# Bearing Fault Diagnosis from Vibration data (UORED-VAFCLS) Multi-label detection of rolling-element bearing faults — inner race, outer race, ball and cage — from one second of raw 42 kHz accelerometer data. The four faults are independent labels rather than classes, and a healthy bearing is the all-zero vector, not a fifth class. The reported metric is therefore macro AUROC, which needs no decision threshold. -The interesting part of this example is not the model. It is the evaluation: this dataset makes it extremely easy to report a number that is far better than the model deserves, in at least two different ways, and most of what follows is about not doing that. +This example tries to convey two different points: +- how to prepare and evaluate a model for Akida 1, for single-channel time-series data +- the particularities of this and related datasets that mean that special care needs to be taken in preparing the training and evaluation splits, and that comparison across published results is extremely difficult ## Model Card -**The same model, the same recipe, two ways of splitting the data.** The top row is a single train-and-evaluate run under a deliberately naive split; the bottom row is the mean over {cv_folds} bearing-disjoint folds × {cv_seeds} seed. Identical architecture, identical training budget — 720 training and 240 held-out windows either way — so the only thing separating the two rows is whether the split was allowed to leak. **The bottom row is the model's performance.** +**The table reports results for a single model architecture with only the method used to split the training and evaluation data changed.** See below for full details. @@ -23,7 +25,7 @@ The interesting part of this example is not the model. It is the evaluation: thi - + @@ -31,7 +33,7 @@ The interesting part of this example is not the model. It is the evaluation: thi - + @@ -41,12 +43,6 @@ The interesting part of this example is not the model. It is the evaluation: thi
    Naive segment-level (leaky)Segment-level {segment_float_auroc} {segment_qat_auroc} {segment_akida_auroc}{segment_sparsity}
    Bearing-level (protocol)Bearing-level {cv_float_auroc_mean} {cv_qat_auroc_mean} {cv_akida_auroc_mean}
    -> **The gap between those two rows is the point of this example.** The naive row is what this dataset hands you if you split it the obvious way — by time within each recording, so the same bearing appears on both sides. It is not a result, and it is not quoted anywhere else in this README. The bearing-level row is lower because it is honest, not because the model is worse. -> -> Read the bearing-level row as a distribution, not a number. Individual folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} — a spread many times larger than the difference between any two architectures anyone would want to compare. Quoting one fold's score as a model's performance is quoting noise. See [Why cross-validation is not optional](#why-cross-validation-is-not-optional). - -Distribution of per-fold AUROC - **AKD1500 hardware benchmark** @@ -89,97 +85,103 @@ The interesting part of this example is not the model. It is the evaluation: thi
    -*Measured on the model trained on the bearing-level split at fold {fixed_fold} — the weights shipped in `pretrained_models/` — which is a fixed, reproducible artefact rather than a performance claim. The architecture, the input shape and the quantization are identical under either split, so these latency, power and mapping figures apply to both rows of the Model Card.* +Measured on the model provided in the `pretrained_models/` folder, trained on the bearing-level split at fold {fixed_fold}. Full model benchmark -`Minimal` mapping uses the fewest neural processors that will hold the model; `AllNPs` spreads it over everything available, which usually trades power for latency. This model is an unusual case: it already saturates the device in `Minimal` mode, so the two mappings are nearly identical. +`Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; `AllNPs` spreads it over the available +NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is minimal +difference between these modes. -The model maps entirely to hardware — 1 HRC input convolution, 41 CNP1 convolutional processors, one FNP2 and one FNP3 for the two fully-connected layers, in a single sequence over two passes. One caveat worth knowing before reading the per-layer plot: the `fc` layer's 2432 × 100 weight matrix does not fit in on-chip memory and needs 184 kB of external memory, so unlike most examples here there is real DMA traffic on every inference, and `fc` dominates the latency breakdown. +The model maps entirely to hardware in a single sequence, single pass. Per-layer benchmark -## Why cross-validation is not optional - -This dataset has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out. That is a small enough test set that the choice of which bearings are held out matters more than almost anything about the model: - -- The **across-fold** standard deviation is {cv_akida_auroc_std}, and folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} with the architecture, the recipe and the seed all held fixed. -- The **within-fold** standard deviation across random seeds is {cv_seed_std} (measured over {cv_seed_std_folds} folds at 3 seeds each) — comparable to the entire across-fold spread. - -So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. For scale: the WDCNN network this model descends from and this model itself differ by about 0.03 in their 100-fold means, which is *less* than one fold's seed-to-seed noise. Any comparison made on one fold is a coin toss dressed up as a result. - -The practical rules this example follows: - -1. **The reported number is the mean over all {cv_folds} evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. -2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. -3. **Single-fold artefacts are labelled as such.** The pretrained weights and every hardware measurement come from fold {fixed_fold}, and are presented as a fixed reference point, not a performance claim. - ## Requirements -See the [requirements section](../../../README.md#requirements) of the top-level README for the environment used throughout this repository. - -This example additionally uses `scikit-learn` (for `roc_auc_score`, the reported metric), `pooch` (dataset download) and `pandas` (results bookkeeping; also `pyarrow` if you cross-check the split against the published fixtures). +See the [requirements section](../../../README.md#requirements) of the top-level README for the environment used +throughout this repository. ## Dataset -**UORED-VAFCLS** — the University of Ottawa Rolling-element Dataset, Vibration and Acoustic Faults under Constant Load and Speed. 60 accelerometer recordings, each 10 s at 42 kHz, from 20 bearings. Every bearing contributes three recordings: one healthy, plus two severities of a single fault mode. +**UORED-VAFCLS** — the University of Ottawa Rolling-element Dataset, Vibration and Acoustic Faults under Constant Load and Speed. + +This dataset comprises 60 accelerometer recordings, each 10 s at 42 kHz, from 20 bearings. Every bearing contributes three recordings: +one healthy, plus two severities of a single fault mode. | | | |---|---| | Recordings | 60 (20 bearings × 3) | | Length | 10 s at 42 kHz (420,000 samples) | -| Model input | 1 s window, framed to 1200 × 35 | +| Model input | 1 s window | | Labels | 4 independent: inner, outer, ball, cage (healthy = all zero) | | Windows per fold | 720 training (random crops), 240 held-out (tiled) | +Sample recordings from the UORED-VAFCLS dataset + Downloaded from [Mendeley Data, doi:10.17632/y2px5tg92h.5](https://data.mendeley.com/datasets/y2px5tg92h/5), licensed **CC BY 4.0** (https://creativecommons.org/licenses/by/4.0/): > Sehri, Maryam; Dumond, Patrick (2023), *"University of Ottawa Rolling-element Dataset – Vibration and Acoustic Faults under Constant Load and Speed conditions (UORED-VAFCLS)"*, Mendeley Data, V5, doi: 10.17632/y2px5tg92h.5 -*Changes made, as the licence requires us to state:* the `Accelerometer` column of the raw CSVs is repacked unmodified into a single float32 `.npz`; the pipeline in this example then removes a per-recording DC offset and rescales each recording to an 8-bit range (see [Input encoding](#input-encoding)). - -The evaluation protocol, and the leakage argument behind it, follow: - -> J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) - -That work reports 0.9100 ± 0.0553 macro AUROC for a WDCNN on this protocol; a local reimplementation scored 0.9034 ± 0.0528 over the same 100 folds. Those figures are quoted for context only — they were measured on a different input pipeline, and are not comparable line-for-line with the Model Card (see [Input encoding](#input-encoding)). - -## Leakage and the bearing-level split +*Changes made, as the licence requires us to state:* for convenience, we make the data required in this example available +as a single file for download from the BrainChip servers, that is, the `Accelerometer` column of the raw CSVs repacked +unmodified into a single float32 `.npz`. -**In this dataset, fault mode is a property of the bearing.** Bearings 1–5 have inner-race faults, 6–10 outer-race, 11–15 ball, 16–20 cage. No bearing ever exhibits two modes. The consequence is severe: under any split that is not bearing-disjoint, a model that simply re-identifies *which bearing it is listening to* scores near-perfectly without learning anything about faults at all. Near-duplicate slices of the same 10 s recording on both sides of the split are enough to make that trivial. +## The Problem of Realistic Evaluation of Bearing Fault Diagnosis Models -The split here partitions on `bearing_id` **before any windowing**, holding out 2 bearings from each of the 4 fault modes — 8 of 20 bearings, and all three of each held-out bearing's recordings together. Enumerating every such choice gives C(5,2)⁴ = 10,000 folds, shuffled once with a fixed seed and indexed by fold number, so fold *N* here is fold *N* in the reference implementation. +This example draws very directly from the following article, which itself builds on a number of related publications that establish a +widespread methodological problem in the evaluation of machine learning approaches to the key datasets in the diagnosis of bearing faults +from vibration data (UORED-VAFCLS used here, but even more strikingly in the key datasets in the domain, CWRU and Paderborn): -Verify it yourself, over all 105 tuning and evaluation folds: - -```bash -python uored_vafcls_data.py --check-splits -``` - -**There is a second, subtler leak in the raw signals.** Amplitude is partly a recording fingerprint rather than a fault signature. All ten inner-race recordings sit at a mean of 46.6–55.6 while every outer-race and ball recording sits at 0.9–3.1. Used alone, with no model at all, the per-recording *mean* scores 0.776 AUROC on the inner-race label and 0.744 on cage; the per-recording *standard deviation* scores 0.798 on inner-race. A pipeline that feeds unnormalised signals lets the network read a large part of the answer off the DC offset. The input encoding below removes it — which lowers the reported score, and should. - -## Input encoding - -Akida takes 8-bit inputs. That is not merely an implementation detail here, because per-recording signal standard deviation spans **69×** across this dataset (1.87 to 129.4) and 8 bits is 256 levels. A single global scale wide enough for the loudest recording puts the quietest one below a single quantisation level. Per-recording scaling is *forced* by the hardware; it is not a modelling choice. - -So each window is encoded from its own recording's statistics — the centre and the 99.9th percentile of absolute deviation, both computed once over the whole 10 s trace: - -| Headroom | uint8 levels per signal σ (min / median) | clipped at gain 1.0 | at 1.7 | at 2.4 | -|---|---|---|---|---| -| 1.0 | 13.4 / 30.3 | 0.0997% | 4.31% | 11.65% | -| **2.0** (used) | **6.7 / 15.1** | **0.0003%** | **0.026%** | **0.56%** | -| 3.0 | 4.5 / 10.1 | ~0% | 0.001% | 0.016% | - -Regenerate that table for your own cache with `python uored_vafcls_data.py --report-encoding`. +> J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) -Two details that are easy to get wrong: +The abstract from that article sets the context clearly: *"While recent advances in machine learning (ML), particularly +deep learning, have shown strong performance in controlled settings, many studies fail to +generalize to real-world applications due to methodological flaws, most notably data leakage. +This paper investigates the issue of data leakage in vibration-based bearing fault diagnosis and +its impact on model evaluation. We demonstrate that common dataset partitioning strategies, +such as segment-wise and condition-wise splits, introduce spurious correlations that inflate +performance metrics."* + +The risk is specific and easy to walk into. These datasets are built from a small number of physical bearings, each recorded +over a short, uninterrupted run under a single load and speed, and the fault mode is a property of the bearing rather than of +the signal: here, bearings 1–5 carry inner-race faults, 6–10 outer, 11–15 ball, 16–20 cage. Any split that lets windows from +one recording — or from one bearing — fall on both sides of the train/test boundary therefore hands the model a shortcut. It +can re-identify the recording from its noise floor, its mounting resonances or its running speed and read the label straight +off that identity, without learning anything transferable about bearing faults at all. Segment-wise splits (cutting each +recording in time) and condition-wise splits (holding out load or speed settings while keeping the same bearings) both leak in +exactly this way, and both are common in the published literature. The consequence is that near-perfect headline accuracies — +99%+ is routine on CWRU — measure the ease of recognising a recording, not the ability to diagnose an unseen bearing, and they +collapse as soon as the model meets hardware it has not been recorded on. It also makes cross-paper comparison largely +meaningless: two results on the same dataset are usually not measuring the same thing. + +The reference citation above sets out a rigorous protocol for each of the datasets explored. The UORED-VAFCLS dataset used here +has 60 recordings from **20 physical bearings**. A fold trains on 12 bearings and is tested on the 8 held out, the +key point being that an individual physical bearing never appears in both train and test data (even data from separate recordings +is disallowed, e.g. if the 'healthy' recording for bearing 0 is put in the train data, then the 'fault' recordings for that bearing +must not be in the test split). You can consult the details of the data split preparation in the relevant script, `uored_vafcls_data.py`. + +That rigorous data split has knock-on consequences: the data splits are small enough that the choice of which bearings are held out +matters more than almost anything about the model: + +- The **across-fold** standard deviation is {cv_akida_auroc_std}, and folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} + with the architecture, the recipe and the seed all held fixed. See the plot of below showing performance across folds. +- The **within-fold** standard deviation across random seeds is {cv_seed_std} (measured over {cv_seed_std_folds} folds at 3 + seeds each). -- **The statistics are per recording, never per window.** A window-dependent scale — min-max normalisation, say — is scale-invariant, which would silently turn the training pipeline's random gain augmentation into a no-op. -- **The gain is applied before encoding**, to the float waveform, so it survives the rescale. The zero point sits at mid-scale, so the ~8% of gains that come out negative are a genuine polarity inversion rather than a clamp. +Distribution of per-fold AUROC -The inverse lives *inside* the model, as a `Rescaling` layer, so full-precision training, quantization-aware tuning and Akida inference all see identical values; `cnn2snn` folds it into the first convolution at conversion. +So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. It is absolutely necessary to run multi-fold +cross-validation to have anything approaching an accurate evaluation. For the bearing-wise split, this example follows the protocol +set out by the reference paper above: +1. **The reported number is the mean over all {cv_folds} evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. +2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. -**This is a deviation from the source pipeline, and it costs accuracy.** The reference implementation applied no normalisation at all and scored 0.9317 ± 0.0436 over these same 100 folds. That number is *not* in the Model Card and could not honestly be put there: it was measured on raw float inputs that still contained the amplitude confound described above. The figures in the Model Card were all re-measured with this encoding. What mitigates the change is that the protocol's own augmentation is a random per-window rescale with σ = 0.7 — the model is *explicitly* trained to be amplitude-invariant, so a fixed per-recording rescale falls inside the augmentation's own hypothesis class. +### The Comparison: Segment-level Split +To demonstrate the importance of this rigorous leakage-free split (and, admittedly, to show that the model developed here for +Akida is just as good as other published models, that the issue is on the data side, not the model) we present results for +a segment-level split (i.e. every 10 second recording split to 6 seconds training, 4 seconds test data). Sure enough, the +model achieves **>99.5% AUROC**, and that without any further tuning for that version of the task. ## Dataset setup @@ -189,40 +191,47 @@ The prepared cache downloads automatically on first use, to `--data` (default `. python uored_vafcls_data.py -d ./data/uored_vafcls ``` -If you already hold the raw dataset, rebuild the cache from it instead. Download `1_CSV_Raw_Data_Files (.csv)` from the Mendeley record and point at the directory containing the five `1_Healthy` … `5_Cage_Faults` subfolders: +If you prefer a different data location to the default (e.g. because your system has a dedicated data drive), you may find it +easy to set up a symbolic link from the default location. That way you can avoid passing the data path argument to all of the +scripts: ```bash -python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files +ln -s /path/to/shared/uored_vafcls ./data/uored_vafcls ``` -To share one copy between checkouts, symlink it: +If you already hold the raw dataset, rebuild the cache from it instead. Download `1_CSV_Raw_Data_Files (.csv)` from the +Mendeley record and point at the directory containing the five `1_Healthy` … `5_Cage_Faults` subfolders: ```bash -ln -s /path/to/shared/uored_vafcls ./data/uored_vafcls +python uored_vafcls_data.py --prepare-raw /path/to/1_CSV_Raw_Data_Files ``` + ## Pipeline | Stage | Description | |---|---| | Full-precision training | 30 epochs, Adam, batch 120 (6 steps/epoch), cosine decay with 5% warmup to a peak LR of 2e-4 | | Post-training quantization | `cnn2snn quantize` reduces to 4-bit weights and activations (8-bit input) | -| Quantization-aware tuning | 30 epochs at a peak LR of 2e-4, recovering part of the quantization loss | +| Quantization-aware tuning | 10 epochs at a peak LR of 5e-5, recovering almost all of the quantization loss | | Conversion to Akida | `cnn2snn convert` produces the `.fbz` model that runs on hardware | -Two notes on the recipe, both settled on folds 0–4: - -- **The learning-rate schedule spans the real step count.** The reference implementation hard-coded it and undershot by a sixth, leaving the last few epochs at a floor of zero — effectively training for fewer epochs than it appeared to. Here `total_steps` is derived from the dataset, so it cannot drift if the batch size or window count changes. -- **The QAT budget is larger than this repository's usual 2 epochs.** At 6 steps per epoch, 2 epochs is 12 optimizer steps, which recovers nothing. Even so, 4-bit quantization costs real accuracy on this architecture — compare the float and Akida rows of the Model Card. That cost is a property worth reporting, not a bug to tune away. - ## Reference Models The trained models in `pretrained_models/` are stored with Git LFS. See the [trained models section](../../../README.md#trained-models) of the top-level README if they arrive as text pointer files rather than real weights. +These models are necessarily trained on a specific fold. For that, we've selected fold 42, because performance is close to the 100-fold cross-validation value +(obviously, that in itself doesn't make the single-fold accuracy value any more meaningful; rather we hope to avoid any misunderstandings about performance +if a reader is not following the detail of this example). In any case, the pretrained model is only used for benchmarking on hardware which, since the architecture +is constant, should be more or less constant across folds (will vary only to the extent that learned sparsity within the model varies across training runs). + ## Usage ### Notebook +> ⚠️ **Work in progress — the notebooks are not included in this release yet.** The section below describes what they will +> cover; until they land, use the scripts described under [Script](#script). The links will not resolve. + [`uored_vafcls_notebook_training.ipynb`](uored_vafcls_notebook_training.ipynb) walks through the whole pipeline on a single fold: the dataset and its two leakage traps, how a 1 s waveform becomes a framed uint8 tensor, training, quantization, tuning and conversion. It also loads `docs/cv_results.csv` to show the fold distribution without needing a two-hour run. [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Brainchip-Inc/brainchip_devhub/blob/main/akida1/model_zoo/uored_vafcls/uored_vafcls_notebook_training.ipynb) @@ -249,11 +258,16 @@ bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] python uored_vafcls_cross_validate.py --save-metrics ``` -It runs the whole chain on each of the 100 evaluation folds, appending to `docs/cv_results.csv` after every fold, and takes roughly 30–60 minutes. It resumes by default, so an interrupted run picks up where it stopped. Add `--skip-akida` for a roughly 4× faster float-only sweep when comparing recipes, and `--first-fold`/`--last-fold` to split the work across machines. +It runs the whole chain on each of the 100 evaluation folds, appending to `docs/cv_results.csv` after every fold, and takes roughly 30–60 minutes. +It resumes by default, so an interrupted run picks up where it stopped. Add `--skip-akida` for a roughly 4× faster float-only sweep when comparing +recipes, and `--first-fold`/`--last-fold` to split the work across machines, or to limit to the first 5 folds (0-4) if working on tuning the model +or pipeline (remember, folds 5-104 are for the final evaluation only). ## Contributing and Maintenance -`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags: +`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance +tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags (if updating results following changes to the model or +pipeline, remember to delete the `.csv` files first, or use the `--no-resume` argument on the cross-validation runs): ```bash # Bearing-level split (the protocol) - the Model Card's bottom row. diff --git a/akida1/model_zoo/uored_vafcls/docs/cv_results.csv b/akida1/model_zoo/uored_vafcls/docs/cv_results.csv new file mode 100644 index 0000000..fb095a6 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/docs/cv_results.csv @@ -0,0 +1,101 @@ +fold,seed,float_auroc,qat_auroc,akida_auroc,float_auroc_inner,float_auroc_outer,float_auroc_ball,float_auroc_cage,akida_auroc_inner,akida_auroc_outer,akida_auroc_ball,akida_auroc_cage,params,n_train_windows,n_test_windows,seconds +5,0,0.979125,0.967891,0.966000,0.999625,0.970875,0.957875,0.988125,0.996313,0.933688,0.935250,0.998750,335444,720,240,23.8 +6,0,0.932438,0.926438,0.926406,0.988750,1.000000,0.995750,0.745250,0.986250,0.999875,0.992750,0.726750,335444,720,240,20.9 +7,0,0.850781,0.859094,0.858578,0.988750,0.894500,0.793875,0.726000,0.989375,0.864688,0.831750,0.748500,335444,720,240,20.4 +8,0,0.882875,0.894594,0.897125,0.914250,0.989500,0.984625,0.643125,0.947187,0.895500,0.988750,0.757062,335444,720,240,20.7 +9,0,0.932313,0.959172,0.960812,0.972250,0.960750,0.997375,0.798875,0.984750,0.951875,0.996125,0.910500,335444,720,240,21.0 +10,0,0.862469,0.881625,0.882266,0.943125,0.897750,0.965750,0.643250,0.949250,0.911375,0.952813,0.715625,335444,720,240,20.1 +11,0,0.843313,0.794547,0.793922,0.920625,0.951500,0.986250,0.514875,0.908563,0.914438,0.981875,0.370812,335444,720,240,20.6 +12,0,0.880750,0.918297,0.919672,0.949000,1.000000,0.918875,0.655125,0.955375,0.998125,0.961688,0.763500,335444,720,240,20.2 +13,0,0.885594,0.867422,0.868688,0.945125,0.957250,0.972375,0.667625,0.935125,0.943375,0.960812,0.635437,335444,720,240,20.2 +14,0,0.934594,0.931766,0.935609,0.993250,0.934125,0.951000,0.860000,0.988125,0.925812,0.948875,0.879625,335444,720,240,20.6 +15,0,0.811937,0.774172,0.773297,0.910250,1.000000,0.925875,0.411625,0.904563,1.000000,0.914500,0.274125,335444,720,240,20.2 +16,0,0.841656,0.829406,0.828625,0.926375,0.994625,0.985000,0.460625,0.931812,0.988000,0.982625,0.412062,335444,720,240,20.2 +17,0,0.877969,0.866922,0.865719,0.927625,0.982750,0.969375,0.632125,0.937125,0.944750,0.991875,0.589125,335444,720,240,20.6 +18,0,0.849938,0.813516,0.819438,0.928250,1.000000,0.999250,0.472250,0.937937,0.998500,0.985750,0.355563,335444,720,240,20.2 +19,0,0.913594,0.888219,0.896406,0.990875,0.995375,0.933125,0.735000,0.990438,0.995500,0.889437,0.710250,335444,720,240,20.1 +20,0,0.955844,0.973375,0.976031,0.999375,0.933750,0.958125,0.932125,0.999250,0.947063,0.971625,0.986187,335444,720,240,20.7 +21,0,0.963094,0.951156,0.950563,0.995750,0.995125,0.985500,0.876000,0.994000,0.992563,0.991000,0.824688,335444,720,240,20.3 +22,0,0.887844,0.919125,0.919766,0.990500,0.901250,0.881000,0.778625,0.990250,0.952750,0.871125,0.864938,335444,720,240,20.8 +23,0,0.876187,0.904187,0.899844,0.939625,1.000000,0.978125,0.587000,0.940562,0.998750,0.985313,0.674750,335444,720,240,20.2 +24,0,0.938312,0.936922,0.938719,0.986875,1.000000,0.973625,0.792750,0.986000,0.999875,0.985750,0.783250,335444,720,240,20.7 +25,0,0.792750,0.800828,0.798906,0.954250,0.938500,0.902875,0.375375,0.975000,0.956688,0.932000,0.331937,335444,720,240,20.2 +26,0,0.970656,0.981297,0.984141,0.999875,1.000000,0.994375,0.888375,0.999125,0.989500,0.984500,0.963437,335444,720,240,20.2 +27,0,0.895281,0.910016,0.908906,0.988875,1.000000,0.964375,0.627875,0.989187,0.996875,0.963000,0.686562,335444,720,240,20.1 +28,0,0.954750,0.933781,0.926016,0.994000,0.997375,0.978875,0.848750,0.994000,0.998500,0.933062,0.778500,335444,720,240,20.9 +29,0,0.948406,0.935656,0.939234,1.000000,0.844875,0.951250,0.997500,0.998125,0.816688,0.945750,0.996375,335444,720,240,20.2 +30,0,0.867687,0.850797,0.850141,0.935500,0.989375,0.973500,0.572375,0.931000,0.979812,0.965438,0.524312,335444,720,240,20.2 +31,0,0.924531,0.922141,0.912797,0.988750,0.984875,0.931000,0.793500,0.987875,0.984625,0.902938,0.775750,335444,720,240,20.3 +32,0,0.949437,0.950031,0.949594,0.998750,0.999250,0.893125,0.906625,0.997250,0.965500,0.915937,0.919687,335444,720,240,20.1 +33,0,0.817406,0.797625,0.794562,0.907500,0.992000,0.946375,0.423750,0.929063,0.993125,0.939125,0.316937,335444,720,240,21.0 +34,0,0.826187,0.817078,0.816734,0.925750,0.969875,0.984250,0.424875,0.926500,0.961063,0.977750,0.401625,335444,720,240,20.3 +35,0,0.923812,0.922609,0.914281,0.990625,1.000000,0.905000,0.799625,0.990500,0.977187,0.905875,0.783563,335444,720,240,20.7 +36,0,0.856906,0.864906,0.870109,0.950750,0.986750,0.954500,0.535625,0.952500,0.986000,0.959062,0.582875,335444,720,240,20.2 +37,0,0.736344,0.742844,0.741734,0.898875,0.998750,0.889750,0.158000,0.892375,0.999375,0.898375,0.176812,335444,720,240,20.7 +38,0,0.879063,0.862219,0.863937,0.931750,0.996625,0.979000,0.608875,0.930125,0.995625,0.973375,0.556625,335444,720,240,21.1 +39,0,0.885344,0.909937,0.911594,0.929000,0.996000,0.973500,0.642875,0.945063,0.933437,0.982812,0.785063,335444,720,240,20.3 +40,0,0.882375,0.846641,0.843406,0.947125,0.912625,0.965750,0.704000,0.957125,0.783688,0.958125,0.674687,335444,720,240,20.2 +41,0,0.934656,0.941109,0.940469,0.988750,0.990000,0.911125,0.848750,0.987562,0.980687,0.899812,0.893813,335444,720,240,20.2 +42,0,0.902969,0.893516,0.892766,0.943750,0.994500,0.993375,0.680250,0.942625,0.996000,1.000000,0.632437,335444,720,240,20.2 +43,0,0.936063,0.888469,0.894266,0.996375,0.886750,0.928375,0.932750,0.973875,0.833625,0.800937,0.968625,335444,720,240,20.7 +44,0,0.838187,0.814359,0.808875,0.912750,0.858000,0.906125,0.675875,0.916188,0.835813,0.832000,0.651500,335444,720,240,21.1 +45,0,0.952437,0.951875,0.948641,0.999000,0.905000,0.907875,0.997875,0.996125,0.897625,0.920687,0.980125,335444,720,240,20.3 +46,0,0.929187,0.939875,0.941188,0.928750,1.000000,0.978875,0.809125,0.946937,0.998938,0.987250,0.831625,335444,720,240,20.2 +47,0,0.866625,0.879703,0.877047,0.920500,0.931375,0.969625,0.645000,0.922312,0.932500,0.950562,0.702812,335444,720,240,20.2 +48,0,0.931063,0.934734,0.936266,0.992875,0.987500,0.986500,0.757375,0.994125,0.979375,0.995687,0.775875,335444,720,240,20.1 +49,0,0.940344,0.927766,0.935359,0.992375,0.999125,0.880125,0.889750,0.991000,0.999375,0.846250,0.904812,335444,720,240,20.2 +50,0,0.974938,0.973281,0.974781,0.997750,0.999875,0.908750,0.993375,0.993875,0.992000,0.924750,0.988500,335444,720,240,21.2 +51,0,0.916438,0.907563,0.911000,0.984625,0.989000,0.981625,0.710500,0.983313,0.996437,0.975688,0.688562,335444,720,240,20.2 +52,0,0.860906,0.878031,0.879344,0.922875,1.000000,0.980250,0.540500,0.923500,0.990875,0.988688,0.614313,335444,720,240,20.2 +53,0,0.835906,0.822797,0.827000,0.940375,0.997750,0.975250,0.430250,0.936875,0.987563,0.957375,0.426187,335444,720,240,20.8 +54,0,0.991250,0.988734,0.989219,0.999125,0.990250,0.985500,0.990125,0.998500,0.974875,0.987625,0.995875,335444,720,240,20.8 +55,0,0.734531,0.706812,0.698906,0.974625,0.998625,0.747750,0.217125,0.971063,0.983625,0.726437,0.114500,335444,720,240,20.3 +56,0,0.971906,0.967672,0.969375,0.998625,1.000000,0.922500,0.966500,0.995750,0.998750,0.919188,0.963813,335444,720,240,20.2 +57,0,0.916750,0.912344,0.916203,0.990000,0.940625,0.936250,0.800125,0.987687,0.934312,0.967375,0.775438,335444,720,240,20.2 +58,0,0.939813,0.928781,0.934516,0.996875,0.891375,0.881750,0.989250,0.993250,0.917375,0.845375,0.982062,335444,720,240,21.6 +59,0,0.787063,0.754531,0.753016,0.952750,0.972500,0.906375,0.316625,0.957188,0.971125,0.912438,0.171312,335444,720,240,20.3 +60,0,0.887375,0.946578,0.946125,0.934000,0.994750,0.972500,0.648250,0.970625,0.996750,0.961125,0.856000,335444,720,240,20.8 +61,0,0.953625,0.976094,0.976234,0.997875,0.988875,0.964875,0.862875,0.998625,0.996125,0.958000,0.952187,335444,720,240,20.3 +62,0,0.884062,0.909625,0.903906,0.990125,0.935625,0.864875,0.745625,0.989000,0.942500,0.859062,0.825063,335444,720,240,20.2 +63,0,0.959406,0.948375,0.951734,0.988250,0.957250,0.904375,0.987750,0.971375,0.957250,0.915875,0.962437,335444,720,240,20.2 +64,0,0.863844,0.854703,0.850344,0.944750,0.987250,0.989750,0.533625,0.971000,0.901188,0.988375,0.540812,335444,720,240,20.7 +65,0,0.919437,0.921109,0.916313,0.989500,0.959625,0.997375,0.731250,0.991812,0.952188,0.996500,0.724750,335444,720,240,20.3 +66,0,0.715063,0.698906,0.700969,0.923375,0.951125,0.884625,0.101125,0.927250,0.943812,0.882938,0.049875,335444,720,240,21.6 +67,0,0.974844,0.966859,0.966062,0.998250,0.992125,0.925250,0.983750,0.994062,0.967313,0.922312,0.980563,335444,720,240,20.7 +68,0,0.917719,0.902469,0.900094,0.993000,0.954875,0.964500,0.758500,0.994250,0.933937,0.964875,0.707313,335444,720,240,20.7 +69,0,0.899969,0.894016,0.899422,0.991625,0.983375,0.900125,0.724750,0.987812,0.978313,0.883687,0.747875,335444,720,240,20.7 +70,0,0.921656,0.922984,0.928984,1.000000,0.965375,0.844500,0.876750,0.999500,0.956000,0.860937,0.899500,335444,720,240,20.2 +71,0,0.932594,0.910281,0.910547,0.998625,0.996125,0.899875,0.835750,0.997375,0.970125,0.903375,0.771313,335444,720,240,20.2 +72,0,0.893781,0.883547,0.881062,0.958625,1.000000,0.986625,0.629875,0.956250,0.984688,0.987437,0.595875,335444,720,240,20.2 +73,0,0.844094,0.833828,0.836656,0.902375,0.958250,0.981875,0.533875,0.902375,0.924875,0.979437,0.539938,335444,720,240,20.2 +74,0,0.851656,0.847391,0.851844,0.957000,0.941125,0.963250,0.545250,0.958500,0.918687,0.978000,0.552187,335444,720,240,20.2 +75,0,0.903875,0.882203,0.895359,0.991000,0.994500,0.905875,0.724125,0.989250,0.896875,0.915875,0.779438,335444,720,240,22.3 +76,0,0.914219,0.912469,0.911000,0.991125,0.991375,0.971125,0.703250,0.985313,0.993875,0.971187,0.693625,335444,720,240,20.8 +77,0,0.976406,0.983969,0.983797,0.999750,0.967375,0.997375,0.941125,0.999375,0.967187,0.998500,0.970125,335444,720,240,20.2 +78,0,0.877719,0.856625,0.849391,0.928000,0.903750,0.927125,0.752000,0.929500,0.879938,0.835250,0.752875,335444,720,240,20.3 +79,0,0.940844,0.911687,0.915250,0.977625,1.000000,0.970375,0.815375,0.973875,0.993375,0.968625,0.725125,335444,720,240,20.3 +80,0,0.760531,0.767922,0.765781,0.907375,0.959000,0.919875,0.255875,0.904000,0.940187,0.912500,0.306438,335444,720,240,20.2 +81,0,0.921969,0.922672,0.921375,0.987375,1.000000,0.967000,0.733500,0.987000,0.990125,0.968750,0.739625,335444,720,240,20.2 +82,0,0.866969,0.897500,0.891516,0.942000,0.997000,0.982750,0.546125,0.940625,0.989812,0.988375,0.647250,335444,720,240,20.2 +83,0,0.894688,0.889031,0.884266,0.991625,0.940750,0.956625,0.689750,0.990750,0.891687,0.964812,0.689813,335444,720,240,20.1 +84,0,0.907594,0.911594,0.906266,0.988875,0.931750,0.962625,0.747125,0.980187,0.927188,0.939937,0.777750,335444,720,240,20.2 +85,0,0.900469,0.950688,0.947953,0.936625,1.000000,0.994125,0.671125,0.950187,0.996375,0.998062,0.847187,335444,720,240,22.0 +86,0,0.911438,0.918641,0.920641,0.988125,0.956750,0.932875,0.768000,0.983250,0.962813,0.928000,0.808500,335444,720,240,20.3 +87,0,0.906969,0.926219,0.926625,0.976625,0.994625,0.960375,0.696250,0.969500,0.999375,0.950438,0.787188,335444,720,240,20.3 +88,0,0.861594,0.915984,0.916703,0.902750,0.987125,0.965250,0.591250,0.922813,0.987437,0.981812,0.774750,335444,720,240,20.8 +89,0,0.876250,0.886719,0.887969,0.921125,1.000000,0.970875,0.613000,0.923125,0.997563,0.972375,0.658813,335444,720,240,20.7 +90,0,0.933250,0.933844,0.929688,0.989625,0.987250,0.989000,0.767125,0.988875,0.982000,0.953875,0.794000,335444,720,240,20.3 +91,0,0.944219,0.933094,0.934234,0.999000,1.000000,0.892500,0.885375,0.995500,0.999000,0.907000,0.835438,335444,720,240,20.2 +92,0,0.932094,0.919953,0.928609,0.990500,0.972375,0.982125,0.783375,0.992375,0.969000,0.974187,0.778875,335444,720,240,20.4 +93,0,0.717594,0.704172,0.710453,0.901250,1.000000,0.831625,0.137500,0.898375,0.997500,0.852438,0.093500,335444,720,240,20.3 +94,0,0.969906,0.986656,0.988906,1.000000,0.974000,0.978375,0.927250,1.000000,0.990125,0.978625,0.986875,335444,720,240,20.2 +95,0,0.792875,0.797063,0.797984,0.930875,0.998250,0.955250,0.287125,0.933250,0.998438,0.954437,0.305812,335444,720,240,20.8 +96,0,0.902062,0.916875,0.907047,0.998250,1.000000,0.809750,0.800250,0.997875,0.990250,0.794000,0.846062,335444,720,240,22.2 +97,0,0.924625,0.925484,0.926500,0.999250,1.000000,0.838875,0.860375,0.995750,0.999875,0.842750,0.867625,335444,720,240,20.9 +98,0,0.886656,0.916906,0.909531,0.958250,0.962875,0.920375,0.705125,0.966375,0.944000,0.930375,0.797375,335444,720,240,20.2 +99,0,0.704406,0.713875,0.714391,0.931125,0.949875,0.873500,0.063125,0.923813,0.923437,0.885875,0.124437,335444,720,240,20.3 +100,0,0.979313,0.978125,0.973250,0.999875,0.986000,0.943625,0.987750,0.999000,0.958937,0.937688,0.997375,335444,720,240,20.9 +101,0,0.947562,0.935062,0.937781,0.999250,0.930625,0.985375,0.875000,0.992938,0.871313,0.956250,0.930625,335444,720,240,20.3 +102,0,0.927844,0.941531,0.938031,0.999250,0.999500,0.828500,0.884125,0.997875,0.999500,0.838000,0.916750,335444,720,240,20.4 +103,0,0.974625,0.963188,0.964219,0.998875,0.932500,0.983750,0.983375,0.994750,0.909750,0.960062,0.992312,335444,720,240,20.8 +104,0,0.951750,0.952953,0.953016,0.989875,0.998500,0.995375,0.823250,0.990125,0.999500,0.993375,0.829063,335444,720,240,20.2 diff --git a/akida1/model_zoo/uored_vafcls/docs/cv_seed_std.csv b/akida1/model_zoo/uored_vafcls/docs/cv_seed_std.csv new file mode 100644 index 0000000..5206826 --- /dev/null +++ b/akida1/model_zoo/uored_vafcls/docs/cv_seed_std.csv @@ -0,0 +1,76 @@ +fold,seed,float_auroc,qat_auroc,akida_auroc,float_auroc_inner,float_auroc_outer,float_auroc_ball,float_auroc_cage,akida_auroc_inner,akida_auroc_outer,akida_auroc_ball,akida_auroc_cage,params,n_train_windows,n_test_windows,seconds +5,0,0.979125,0.967891,0.966000,0.999625,0.970875,0.957875,0.988125,0.996313,0.933688,0.935250,0.998750,335444,720,240,23.8 +5,1,0.946406,0.959844,0.964406,0.998500,0.874125,0.927375,0.985625,0.995250,0.912687,0.954812,0.994875,335444,720,240,20.6 +5,2,0.980594,0.974578,0.976813,0.999875,0.956125,0.975250,0.991125,0.998563,0.941125,0.973375,0.994188,335444,720,240,20.8 +6,0,0.932438,0.926438,0.926406,0.988750,1.000000,0.995750,0.745250,0.986250,0.999875,0.992750,0.726750,335444,720,240,20.2 +6,1,0.943250,0.931000,0.932812,0.986625,1.000000,1.000000,0.786375,0.986000,0.987625,0.995750,0.761875,335444,720,240,20.5 +6,2,0.937000,0.929797,0.928156,0.991500,0.997875,0.922750,0.835875,0.991500,0.997375,0.891688,0.832062,335444,720,240,20.1 +7,0,0.850781,0.859094,0.858578,0.988750,0.894500,0.793875,0.726000,0.989375,0.864688,0.831750,0.748500,335444,720,240,20.5 +7,1,0.861219,0.865828,0.866703,0.991625,0.941375,0.770375,0.741500,0.995250,0.930937,0.785062,0.755563,335444,720,240,20.2 +7,2,0.892188,0.881828,0.881984,0.989000,0.971500,0.873250,0.735000,0.991875,0.976000,0.794937,0.765125,335444,720,240,20.2 +8,0,0.882875,0.894594,0.897125,0.914250,0.989500,0.984625,0.643125,0.947187,0.895500,0.988750,0.757062,335444,720,240,21.2 +8,1,0.927125,0.900172,0.901672,0.945750,0.980125,0.998000,0.784625,0.937125,0.967562,0.990563,0.711438,335444,720,240,20.3 +8,2,0.933125,0.920063,0.921094,0.946375,0.916500,0.929250,0.940375,0.938125,0.912375,0.973750,0.860125,335444,720,240,20.7 +9,0,0.932313,0.959172,0.960812,0.972250,0.960750,0.997375,0.798875,0.984750,0.951875,0.996125,0.910500,335444,720,240,20.6 +9,1,0.976125,0.948141,0.946578,0.989750,0.947250,0.999125,0.968375,0.983000,0.913375,0.997437,0.892500,335444,720,240,20.2 +9,2,0.975875,0.971734,0.972766,0.980375,0.926875,0.996875,0.999375,0.986000,0.935125,0.994063,0.975875,335444,720,240,20.7 +10,0,0.862469,0.881625,0.882266,0.943125,0.897750,0.965750,0.643250,0.949250,0.911375,0.952813,0.715625,335444,720,240,21.3 +10,1,0.850281,0.835594,0.833234,0.965500,0.799375,0.759875,0.876375,0.948813,0.868000,0.722437,0.793688,335444,720,240,20.2 +10,2,0.931312,0.920687,0.922469,0.952750,0.974625,0.832750,0.965125,0.967313,0.977125,0.951812,0.793625,335444,720,240,20.2 +11,0,0.843313,0.794547,0.793922,0.920625,0.951500,0.986250,0.514875,0.908563,0.914438,0.981875,0.370812,335444,720,240,20.2 +11,1,0.900719,0.824562,0.827266,0.924875,0.972375,0.992625,0.713000,0.924000,0.945875,0.991625,0.447563,335444,720,240,21.0 +11,2,0.856375,0.840063,0.837984,0.916750,0.941375,0.950500,0.616875,0.916750,0.936312,0.972625,0.526250,335444,720,240,20.2 +12,0,0.880750,0.918297,0.919672,0.949000,1.000000,0.918875,0.655125,0.955375,0.998125,0.961688,0.763500,335444,720,240,20.3 +12,1,0.957219,0.926156,0.929641,0.999500,1.000000,0.922125,0.907250,0.992312,0.984688,0.972750,0.768813,335444,720,240,20.2 +12,2,0.978125,0.961562,0.956906,0.988750,1.000000,0.953875,0.969875,0.989125,0.999312,0.918375,0.920812,335444,720,240,20.9 +13,0,0.885594,0.867422,0.868688,0.945125,0.957250,0.972375,0.667625,0.935125,0.943375,0.960812,0.635437,335444,720,240,20.3 +13,1,0.891469,0.839375,0.842906,0.968875,0.927500,0.827000,0.842500,0.940000,0.953063,0.778188,0.700375,335444,720,240,20.7 +13,2,0.953219,0.942297,0.942109,0.992125,0.958000,0.911250,0.951500,0.990500,0.966625,0.908687,0.902625,335444,720,240,20.8 +14,0,0.934594,0.931766,0.935609,0.993250,0.934125,0.951000,0.860000,0.988125,0.925812,0.948875,0.879625,335444,720,240,20.8 +14,1,0.912562,0.897922,0.906141,0.990875,0.971375,0.857875,0.830125,0.992625,0.959125,0.846000,0.826812,335444,720,240,21.5 +14,2,0.934344,0.929578,0.936813,0.995000,0.993750,0.872375,0.876250,0.997000,0.985125,0.875250,0.889875,335444,720,240,20.3 +15,0,0.811937,0.774172,0.773297,0.910250,1.000000,0.925875,0.411625,0.904563,1.000000,0.914500,0.274125,335444,720,240,20.8 +15,1,0.804438,0.801859,0.800844,0.920625,1.000000,0.930500,0.366625,0.918000,1.000000,0.951375,0.334000,335444,720,240,20.3 +15,2,0.830594,0.770281,0.765828,0.919750,0.993125,0.908500,0.501000,0.918500,0.995250,0.803750,0.345813,335444,720,240,20.2 +16,0,0.841656,0.829406,0.828625,0.926375,0.994625,0.985000,0.460625,0.931812,0.988000,0.982625,0.412062,335444,720,240,21.1 +16,1,0.864562,0.818828,0.815672,0.927875,0.975000,0.996625,0.558750,0.919500,0.975000,0.995000,0.373188,335444,720,240,20.3 +16,2,0.857719,0.852500,0.851453,0.910250,0.988750,0.973875,0.558000,0.907000,0.976750,0.987313,0.534750,335444,720,240,20.8 +17,0,0.877969,0.866922,0.865719,0.927625,0.982750,0.969375,0.632125,0.937125,0.944750,0.991875,0.589125,335444,720,240,20.8 +17,1,0.893437,0.817438,0.818359,0.924500,0.998750,0.996000,0.654500,0.917625,0.977750,0.992500,0.385562,335444,720,240,20.3 +17,2,0.895312,0.863078,0.863328,0.916125,0.954500,0.961375,0.749250,0.917125,0.931688,0.965625,0.638875,335444,720,240,20.2 +18,0,0.849938,0.813516,0.819438,0.928250,1.000000,0.999250,0.472250,0.937937,0.998500,0.985750,0.355563,335444,720,240,21.1 +18,1,0.891937,0.849562,0.850281,0.934375,0.997000,0.970000,0.666375,0.942500,0.999625,0.939625,0.519375,335444,720,240,20.8 +18,2,0.876594,0.837953,0.847953,0.923625,1.000000,0.991000,0.591750,0.923000,0.994812,0.985750,0.488250,335444,720,240,20.2 +19,0,0.913594,0.888219,0.896406,0.990875,0.995375,0.933125,0.735000,0.990438,0.995500,0.889437,0.710250,335444,720,240,20.8 +19,1,0.865406,0.875297,0.875391,0.994500,0.890125,0.875500,0.701500,0.995375,0.959500,0.845813,0.700875,335444,720,240,20.2 +19,2,0.896656,0.909844,0.908078,0.991375,0.959625,0.944000,0.691625,0.993187,0.933625,0.927687,0.777812,335444,720,240,20.8 +20,0,0.955844,0.973375,0.976031,0.999375,0.933750,0.958125,0.932125,0.999250,0.947063,0.971625,0.986187,335444,720,240,21.4 +20,1,0.957781,0.931953,0.936922,0.993125,0.941125,0.994125,0.902750,0.986125,0.944625,0.990125,0.826812,335444,720,240,20.3 +20,2,0.932000,0.921672,0.927625,0.999875,0.910750,0.963375,0.854000,0.999500,0.934500,0.944375,0.832125,335444,720,240,20.8 +21,0,0.963094,0.951156,0.950563,0.995750,0.995125,0.985500,0.876000,0.994000,0.992563,0.991000,0.824688,335444,720,240,20.3 +21,1,0.929063,0.945109,0.940344,0.992875,0.999875,0.968375,0.755125,0.994375,0.994563,0.965938,0.806500,335444,720,240,20.3 +21,2,0.926375,0.960391,0.960969,0.994375,0.976500,0.972125,0.762500,0.995875,0.990875,0.959125,0.898000,335444,720,240,20.7 +22,0,0.887844,0.919125,0.919766,0.990500,0.901250,0.881000,0.778625,0.990250,0.952750,0.871125,0.864938,335444,720,240,20.7 +22,1,0.805250,0.838719,0.836141,0.993750,0.818125,0.575000,0.834125,0.995813,0.864875,0.679375,0.804500,335444,720,240,20.2 +22,2,0.872938,0.855969,0.844891,0.996375,0.946625,0.683875,0.864875,0.994625,0.902062,0.688000,0.794875,335444,720,240,22.1 +23,0,0.876187,0.904187,0.899844,0.939625,1.000000,0.978125,0.587000,0.940562,0.998750,0.985313,0.674750,335444,720,240,20.8 +23,1,0.901625,0.819031,0.813453,0.917875,1.000000,0.997000,0.691625,0.928562,0.976312,0.999625,0.349313,335444,720,240,20.2 +23,2,0.884500,0.867766,0.859688,0.907125,1.000000,0.976875,0.654000,0.909500,1.000000,0.994563,0.534687,335444,720,240,20.2 +24,0,0.938312,0.936922,0.938719,0.986875,1.000000,0.973625,0.792750,0.986000,0.999875,0.985750,0.783250,335444,720,240,20.2 +24,1,0.921125,0.920844,0.916531,0.991750,0.994250,0.953500,0.745000,0.996938,0.993750,0.902688,0.772750,335444,720,240,20.2 +24,2,0.915750,0.904922,0.898531,0.990000,1.000000,0.923000,0.750000,0.993500,0.999750,0.865188,0.735688,335444,720,240,20.8 +25,0,0.792750,0.800828,0.798906,0.954250,0.938500,0.902875,0.375375,0.975000,0.956688,0.932000,0.331937,335444,720,240,20.3 +25,1,0.795125,0.755359,0.755484,0.965375,0.902125,0.865250,0.447750,0.952250,0.918375,0.879375,0.271937,335444,720,240,21.8 +25,2,0.835219,0.744953,0.747734,0.953000,0.946000,0.866250,0.575625,0.950375,0.947437,0.862313,0.230813,335444,720,240,20.3 +26,0,0.970656,0.981297,0.984141,0.999875,1.000000,0.994375,0.888375,0.999125,0.989500,0.984500,0.963437,335444,720,240,20.2 +26,1,0.974656,0.979938,0.981562,0.992750,1.000000,0.996375,0.909500,0.991750,0.998750,0.994750,0.941000,335444,720,240,20.2 +26,2,0.972344,0.971078,0.973281,0.999875,0.995500,0.986000,0.908000,1.000000,0.983313,0.940187,0.969625,335444,720,240,20.2 +27,0,0.895281,0.910016,0.908906,0.988875,1.000000,0.964375,0.627875,0.989187,0.996875,0.963000,0.686562,335444,720,240,20.2 +27,1,0.854687,0.846656,0.857531,0.989625,0.981750,0.842000,0.605375,0.990375,0.965250,0.846438,0.628062,335444,720,240,20.2 +27,2,0.873250,0.850812,0.847875,0.988625,0.991250,0.867500,0.645625,0.987875,0.974875,0.761813,0.666938,335444,720,240,20.1 +28,0,0.954750,0.933781,0.926016,0.994000,0.997375,0.978875,0.848750,0.994000,0.998500,0.933062,0.778500,335444,720,240,20.4 +28,1,0.937281,0.926234,0.922031,0.991375,0.993875,0.942000,0.821875,0.994562,0.997000,0.915813,0.780750,335444,720,240,21.9 +28,2,0.943437,0.952188,0.955469,0.996500,0.964000,0.992875,0.820375,0.995750,0.978563,0.990625,0.856937,335444,720,240,20.4 +29,0,0.948406,0.935656,0.939234,1.000000,0.844875,0.951250,0.997500,0.998125,0.816688,0.945750,0.996375,335444,720,240,20.4 +29,1,0.855062,0.895766,0.893828,1.000000,0.782000,0.643500,0.994750,1.000000,0.834688,0.753000,0.987625,335444,720,240,20.3 +29,2,0.897812,0.862734,0.857828,0.999875,0.882250,0.755875,0.953250,0.999375,0.815125,0.773938,0.842875,335444,720,240,20.2 diff --git a/akida1/model_zoo/uored_vafcls/docs/ref_cv_auroc_distribution.png b/akida1/model_zoo/uored_vafcls/docs/ref_cv_auroc_distribution.png index 259f2cfa2869d6b739d6c2d0c9a9aa1b7a65346a..ecf735c5d9eb26b65c6217fa7f14bee7ca73b8f7 100644 GIT binary patch literal 44870 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 ?* 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 Date: Fri, 18 Sep 2026 15:40:06 +0200 Subject: [PATCH 11/15] Benchmarks on definitive model. HwPr added to plot (not table) --- akida1/model_zoo/uored_vafcls/README.md | 31 +++++++++-------- .../uored_vafcls/docs/README.md.template | 7 ++-- .../model_zoo/uored_vafcls/docs/metrics.json | 32 +++++++++++------- .../docs/ref_benchmark_results_full.png | Bin 263887 -> 390978 bytes .../docs/ref_benchmark_results_layers.png | Bin 102189 -> 102398 bytes .../uored_vafcls/uored_vafcls_benchmark.py | 2 +- 6 files changed, 43 insertions(+), 29 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index 506b0b1..ba65a74 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -64,23 +64,23 @@ This example tries to convey two different points: Minimal 17 1 - 3947210 - 9.868 - 178.5 - 1.784 - 66.6 - 0.666 + 3930879 + 9.827 + 179.2 + 1.782 + 67.5 + 0.671 AllNPs 27 1 - 2932072 - 7.330 - 201.4 - 1.502 - 88.8 - 0.662 + 2932933 + 7.332 + 201.9 + 1.506 + 89.0 + 0.664 @@ -90,8 +90,11 @@ Measured on the model provided in the `pretrained_models/` folder, trained on th Full model benchmark `Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; `AllNPs` spreads it over the available -NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is minimal -difference between these modes. +NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is only +a slight difference between these modes. 'HwPr' mode tries to accelerate the model even further, by splitting the model +over more passes (effectively increasing the number of NPs available per layer). That strategy is effective for a +majority of models, but not in this case: that's because the model is small, and fits in a single pass by default; any +gain per-layer is outweighed by the need to reload model weights on every inference. The model maps entirely to hardware in a single sequence, single pass. diff --git a/akida1/model_zoo/uored_vafcls/docs/README.md.template b/akida1/model_zoo/uored_vafcls/docs/README.md.template index 26a46b4..fa35904 100644 --- a/akida1/model_zoo/uored_vafcls/docs/README.md.template +++ b/akida1/model_zoo/uored_vafcls/docs/README.md.template @@ -90,8 +90,11 @@ Measured on the model provided in the `pretrained_models/` folder, trained on th Full model benchmark `Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; `AllNPs` spreads it over the available -NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is minimal -difference between these modes. +NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is only +a slight difference between these modes. 'HwPr' mode tries to accelerate the model even further, by splitting the model +over more passes (effectively increasing the number of NPs available per layer). That strategy is effective for a +majority of models, but not in this case: that's because the model is small, and fits in a single pass by default; any +gain per-layer is outweighed by the need to reload model weights on every inference. The model maps entirely to hardware in a single sequence, single pass. diff --git a/akida1/model_zoo/uored_vafcls/docs/metrics.json b/akida1/model_zoo/uored_vafcls/docs/metrics.json index c103e27..0b0fc16 100644 --- a/akida1/model_zoo/uored_vafcls/docs/metrics.json +++ b/akida1/model_zoo/uored_vafcls/docs/metrics.json @@ -19,18 +19,26 @@ "fixed_fold": "5", "minimal_nps": "17", "minimal_passes": "1", - "minimal_cycles": "3947210", - "minimal_latency_ms": "9.868", - "minimal_total_P": "178.5", - "minimal_total_E": "1.784", - "minimal_dyn_P": "66.6", - "minimal_dyn_E": "0.666", + "minimal_cycles": "3930879", + "minimal_latency_ms": "9.827", + "minimal_total_P": "179.2", + "minimal_total_E": "1.782", + "minimal_dyn_P": "67.5", + "minimal_dyn_E": "0.671", "allnps_nps": "27", "allnps_passes": "1", - "allnps_cycles": "2932072", - "allnps_latency_ms": "7.330", - "allnps_total_P": "201.4", - "allnps_total_E": "1.502", - "allnps_dyn_P": "88.8", - "allnps_dyn_E": "0.662" + "allnps_cycles": "2932933", + "allnps_latency_ms": "7.332", + "allnps_total_P": "201.9", + "allnps_total_E": "1.506", + "allnps_dyn_P": "89.0", + "allnps_dyn_E": "0.664", + "hwpr_nps": "64", + "hwpr_passes": "3", + "hwpr_cycles": "3063152", + "hwpr_latency_ms": "7.658", + "hwpr_total_P": "216.2", + "hwpr_total_E": "1.791", + "hwpr_dyn_P": "103.1", + "hwpr_dyn_E": "0.854" } diff --git a/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_full.png b/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_full.png index eab05d6a5a0e710d8509198bdb74271f27312809..4717b1bd92377cf08a05dffba5b09b0fae020786 100644 GIT binary patch literal 390978 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 z%0A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%0Ao=#520l4hzIC+wzC0{m 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

      =dVG93v*EIAHJbP|4=&y{p1~)RB73 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 z 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 L>gTe~DWM4fMFHU7 diff --git a/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_layers.png b/akida1/model_zoo/uored_vafcls/docs/ref_benchmark_results_layers.png index b189eb1010b2c07957fc17be3a35a4d370bdf042..5d632ab6765ae5efb3d07a29ab8229403028c3c5 100644 GIT binary patch literal 102398 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 vN9B*MZLlL*3(k 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

      p>&>O@RwGptpX=IV@)_;+aE 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 G^Zx=dI%(+u diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py index e0f0f67..bdefa61 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py @@ -114,7 +114,7 @@ # ------------------------------------------------------------------------- # Full-model benchmark (latency + optional power) # ------------------------------------------------------------------------- - map_modes = ['Minimal', 'AllNps'] + map_modes = ['Minimal', 'AllNps', 'HwPr'] POWER_REPEATS = 10 full_results = dict() for mm in map_modes: From b580f06de3c9b90a093cdc7bd74646161833af7e Mon Sep 17 00:00:00 2001 From: dmclellandbc <68535149+dmclellandbc@users.noreply.github.com> Date: Tue, 22 Sep 2026 12:29:43 +0200 Subject: [PATCH 12/15] Apply batched suggestions from code review Docstring suggestions, except README Co-authored-by: sbruers-brainchip --- .../uored_vafcls/uored_vafcls_benchmark.py | 2 +- akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py | 12 ++++++------ akida1/model_zoo/uored_vafcls/uored_vafcls_model.py | 2 +- .../uored_vafcls/uored_vafcls_naive_split.sh | 13 +++++++------ akida1/model_zoo/uored_vafcls/uored_vafcls_train.py | 5 ++--- akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py index bdefa61..ae30449 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License """ UORED-VAFCLS per-layer hardware benchmark. diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py index 8526018..27e9636 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py @@ -1,13 +1,13 @@ #!/usr/bin/env python -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License """ UORED-VAFCLS evaluation for tf_keras or akida models. -The reported metric is macro AUROC over the four fault labels, not accuracy. -Healthy bearings are encoded as the all-zero label vector rather than a fifth -class, so there is no argmax prediction to be right or wrong about: any accuracy -or F1 figure would depend on a decision threshold nobody has chosen. AUROC is -threshold-free and is what the protocol this example follows reports. +The reported metric is macro AUROC (Area Under the Receiver Operating Characteristic Curve) +over the four fault labels. AUROC is threshold free and measures how well the positive and negative +class can be separated by the model. +Note, healthy bearings are encoded here as the all-zero label vector rather than a fifth +class. Scores from a single fold are of limited use on their own - the spread across folds is far wider than the difference between models worth comparing. Use diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py index 80d80cf..0e6d32c 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License """ UORED-VAFCLS bearing fault model (akdcnn). diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh b/akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh index 1e0e366..5b66251 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_naive_split.sh @@ -1,9 +1,11 @@ #!/usr/bin/env bash -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License # # The naive comparator: the same pipeline as uored_vafcls_train.sh, run under a # deliberately leaky split. Build, train, quantize, tune, convert, and evaluate -# at each stage. +# This builds the same pipeline as uored_vafcls_train.sh (Build, train, quantize, tune, convert, and evaluate +), run under a +# deliberately leaky data split (see uored_vafcls_data.py docstring for more info). # # Usage: bash uored_vafcls_naive_split.sh [DATADIR] [SEED] # @@ -11,10 +13,9 @@ # exists only to be compared against uored_vafcls_train.sh, which runs the same # model and the same recipe under the bearing-disjoint protocol. # -# The naive split divides each recording by time - the first 60% trains, the -# last 40% tests - so all 20 bearings appear on both sides, and windows seconds -# apart from the same bearing, the same fault and the same run are split across -# train and test. Both splits draw the same total number of training and test windows, +# This naive split approach divides each recording by time: the first 60% is used for training and the +# last 40% is used for testing. This means that all 20 bearings appear in both train and test, leading to data leakage. +# Both splits draw the same total number of training and test windows, # so the difference in score is attributable to the leakage and nothing else. # See the DATA SPLIT PROTOCOL notes in uored_vafcls_data.py. # diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py index 0a51e5b..df9f5e5 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.py @@ -1,10 +1,9 @@ #!/usr/bin/env python -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License """ UORED-VAFCLS bearing fault training. -The loss is binary cross-entropy over four independent fault labels, not a -softmax over classes: a machine can in principle show more than one fault, and +The loss is binary cross-entropy over four independent fault labels, as a machine can in principle show more than one fault (although it is not the case with the present dataset). Thus a healthy bearing is the all-zero label vector rather than a fifth class. The model emits raw logits, so `from_logits=True` throughout. diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh index 1f750d2..0153ee4 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_train.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License # # Full UORED-VAFCLS pipeline on ONE bearing-disjoint fold: build, train, # quantize, tune, convert, evaluate at each stage, and benchmark on hardware. From 10c3a1a0c5dc28b7ce982200fee998296438c8eb Mon Sep 17 00:00:00 2001 From: dmclelland Date: Tue, 22 Sep 2026 13:56:26 +0200 Subject: [PATCH 13/15] Remaining review comments, except benchmark table --- akida1/model_zoo/uored_vafcls/README.md | 87 +++++++++++-------- .../uored_vafcls/docs/README.md.template | 83 +++++++++++------- .../model_zoo/uored_vafcls/docs/metrics.json | 2 +- .../uored_vafcls/uored_vafcls_benchmark.py | 8 +- .../uored_vafcls_cross_validate.py | 17 ++-- .../uored_vafcls/uored_vafcls_data.py | 74 ++++++---------- .../uored_vafcls/uored_vafcls_eval.py | 2 +- .../uored_vafcls/uored_vafcls_model.py | 8 +- 8 files changed, 145 insertions(+), 136 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index ba65a74..eda729e 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -10,7 +10,7 @@ This example tries to convey two different points: ## Model Card -**The table reports results for a single model architecture with only the method used to split the training and evaluation data changed.** See below for full details. +The table reports results for a **single model architecture**. Only the method used to **split the training and evaluation data** is changed. See below for full details. @@ -85,20 +85,17 @@ This example tries to convey two different points:
      -Measured on the model provided in the `pretrained_models/` folder, trained on the bearing-level split at fold 5. +Measured on the model provided in the `pretrained_models/` folder, trained on the bearing-level split at fold 42. -Full model benchmark +Full model benchmark -`Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; `AllNPs` spreads it over the available -NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is only -a slight difference between these modes. 'HwPr' mode tries to accelerate the model even further, by splitting the model -over more passes (effectively increasing the number of NPs available per layer). That strategy is effective for a -majority of models, but not in this case: that's because the model is small, and fits in a single pass by default; any -gain per-layer is outweighed by the need to reload model weights on every inference. - -The model maps entirely to hardware in a single sequence, single pass. - -Per-layer benchmark +The model is small enough to map entirely to hardware in a single sequence, single pass. The actual mapping depends on the +requested mapping mode, as follows. `Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; +`AllNPs` spreads it over the available NPs without increasing the number of passes: in this case, because the model almost +fills the device anyway, there is only a slight difference between these modes. `HwPr` mode tries to accelerate the model +even further, by splitting the model over more passes (effectively increasing the number of NPs available per layer). That +strategy is effective for a majority of models, but not in this case: that's because the model is small, and fits in a single +pass by default; any gain per-layer is outweighed by the need to reload model weights on every inference. ## Requirements @@ -138,13 +135,14 @@ from vibration data (UORED-VAFCLS used here, but even more strikingly in the key > J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) -The abstract from that article sets the context clearly: *"While recent advances in machine learning (ML), particularly -deep learning, have shown strong performance in controlled settings, many studies fail to -generalize to real-world applications due to methodological flaws, most notably data leakage. -This paper investigates the issue of data leakage in vibration-based bearing fault diagnosis and -its impact on model evaluation. We demonstrate that common dataset partitioning strategies, -such as segment-wise and condition-wise splits, introduce spurious correlations that inflate -performance metrics."* +The abstract from that article sets the context clearly: +> *"While recent advances in machine learning (ML), particularly + deep learning, have shown strong performance in controlled settings, many studies fail to + generalize to real-world applications due to methodological flaws, most notably data leakage. + This paper investigates the issue of data leakage in vibration-based bearing fault diagnosis and + its impact on model evaluation. We demonstrate that common dataset partitioning strategies, + such as segment-wise and condition-wise splits, introduce spurious correlations that inflate + performance metrics."* The risk is specific and easy to walk into. These datasets are built from a small number of physical bearings, each recorded over a short, uninterrupted run under a single load and speed, and the fault mode is a property of the bearing rather than of @@ -165,26 +163,43 @@ is disallowed, e.g. if the 'healthy' recording for bearing 0 is put in the train must not be in the test split). You can consult the details of the data split preparation in the relevant script, `uored_vafcls_data.py`. That rigorous data split has knock-on consequences: the data splits are small enough that the choice of which bearings are held out -matters more than almost anything about the model: +matters more than almost anything about the model, as can be seen from the plot of the distribution of performance across folds +below: - The **across-fold** standard deviation is 0.0666, and folds range from 0.6989 to 0.9892 - with the architecture, the recipe and the seed all held fixed. See the plot of below showing performance across folds. + with the architecture, the recipe and the seed all held fixed. - The **within-fold** standard deviation across random seeds is 0.0186 (measured over 25 folds at 3 seeds each). Distribution of per-fold AUROC +*(Note: Fold 42 is flagged because the model trained on this fold is the one set aside in the `pretrained_models` folder.)* + So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. It is absolutely necessary to run multi-fold cross-validation to have anything approaching an accurate evaluation. For the bearing-wise split, this example follows the protocol set out by the reference paper above: 1. **The reported number is the mean over all 100 evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. -2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. +2. **Folds 0–4** are used for tuning hyperparameters, such as the number of epochs, learning rate, the QAT schedule and the input encoding constants. The remaining **folds (5–104)** are reserved as the test split, and should never be used for tuning. + +### Results for the Segment-level Split -### The Comparison: Segment-level Split -To demonstrate the importance of this rigorous leakage-free split (and, admittedly, to show that the model developed here for -Akida is just as good as other published models, that the issue is on the data side, not the model) we present results for -a segment-level split (i.e. every 10 second recording split to 6 seconds training, 4 seconds test data). Sure enough, the -model achieves **>99.5% AUROC**, and that without any further tuning for that version of the task. +Read on its own, results for the bearing-disjoint score invite the wrong conclusion: that +the model is weak. It is not - the evaluation is honest, and honest numbers on +this dataset are lower than the ones usually published. To make that visible, +we also show results for a segment-level data split (each recording contributes different +time segments to both the train and test splits). Published results very commonly use +this kind of data splitting. + +Both modes yield identical budgets - 720 training windows (6 steps per epoch) +and 240 test windows - so a score difference between them is attributable to the +split and nothing else. Sure enough, the model achieves **>99.5% AUROC**, and without +any further tuning for this version of the task. + +Unlike the bearing-level split, the segment-level split needs no cross-validation. It has no folds +to average over (there is one time cut, the same for every run) and its score +is stable to about 0.001 where the bearing-disjoint folds span 0.04-0.05. One run +is sufficient. You can re-run uored_vafcls_naive_split.sh with a different seed to +confirm that for yourself. ## Dataset setup @@ -251,11 +266,11 @@ Run the full pipeline on one fold — build, train, quantize, tune, convert, eva bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] ``` -`FOLD` defaults to 5 and `SEED` to 0. It takes about a minute on a single GPU, plus benchmarking. The nine steps are the standard Akida 1 sequence; see the script for the exact commands. +`FOLD` defaults to 42 and `SEED` to 0. It takes about a minute on a single GPU, plus benchmarking. The nine steps are the standard Akida 1 sequence; see the script for the exact commands. ### Cross-validation -**This is the command that produces the headline number.** +**Use this command to reproduce the reported cross-validation performance reported above.** ```bash python uored_vafcls_cross_validate.py --save-metrics @@ -268,12 +283,14 @@ or pipeline (remember, folds 5-104 are for the final evaluation only). ## Contributing and Maintenance -`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance -tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags (if updating results following changes to the model or -pipeline, remember to delete the `.csv` files first, or use the `--no-resume` argument on the cross-validation runs): +`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. + +The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags (if updating results +following changes to the model or pipeline, remember to delete the `.csv` files first, or use the `--no-resume` argument on the +cross-validation runs): ```bash -# Bearing-level split (the protocol) - the Model Card's bottom row. +# Bearing-level split (Model Card's bottom row). # Its AUROCs come from the sweep, never from a single model. python uored_vafcls_cross_validate.py --save-metrics # 30-60 min python uored_vafcls_cross_validate.py --first-fold 5 --last-fold 29 --seeds 3 \ @@ -282,7 +299,7 @@ python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-m python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics # sparsity python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics -# Naive segment-level split (the comparator) - the Model Card's top row. +# Naive segment-level split (Model Card's top row). # One model, one run: the split is singular and its score is stable to ~0.001. bash uored_vafcls_naive_split.sh python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment.h5 --split-mode segment --save-metrics diff --git a/akida1/model_zoo/uored_vafcls/docs/README.md.template b/akida1/model_zoo/uored_vafcls/docs/README.md.template index fa35904..135b6fd 100644 --- a/akida1/model_zoo/uored_vafcls/docs/README.md.template +++ b/akida1/model_zoo/uored_vafcls/docs/README.md.template @@ -10,7 +10,7 @@ This example tries to convey two different points: ## Model Card -**The table reports results for a single model architecture with only the method used to split the training and evaluation data changed.** See below for full details. +The table reports results for a **single model architecture**. Only the method used to **split the training and evaluation data** is changed. See below for full details. @@ -87,18 +87,15 @@ This example tries to convey two different points: Measured on the model provided in the `pretrained_models/` folder, trained on the bearing-level split at fold {fixed_fold}. -Full model benchmark +Full model benchmark -`Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; `AllNPs` spreads it over the available -NPs without increasing the number of passes: in this case, because the model almost fills the device anyway, there is only -a slight difference between these modes. 'HwPr' mode tries to accelerate the model even further, by splitting the model -over more passes (effectively increasing the number of NPs available per layer). That strategy is effective for a -majority of models, but not in this case: that's because the model is small, and fits in a single pass by default; any -gain per-layer is outweighed by the need to reload model weights on every inference. - -The model maps entirely to hardware in a single sequence, single pass. - -Per-layer benchmark +The model is small enough to map entirely to hardware in a single sequence, single pass. The actual mapping depends on the +requested mapping mode, as follows. `Minimal` mapping uses the fewest neural processors (NPs) that will hold the model; +`AllNPs` spreads it over the available NPs without increasing the number of passes: in this case, because the model almost +fills the device anyway, there is only a slight difference between these modes. `HwPr` mode tries to accelerate the model +even further, by splitting the model over more passes (effectively increasing the number of NPs available per layer). That +strategy is effective for a majority of models, but not in this case: that's because the model is small, and fits in a single +pass by default; any gain per-layer is outweighed by the need to reload model weights on every inference. ## Requirements @@ -138,13 +135,14 @@ from vibration data (UORED-VAFCLS used here, but even more strikingly in the key > J. P. Vieira, V. A. Bauler, R. K. Rosa, D. Silva, *"Towards a more realistic evaluation of machine learning models for bearing fault diagnosis"*, Mechanical Systems and Signal Processing 258:114640, 2026. doi:10.1016/j.ymssp.2026.114640 ([arXiv:2509.22267](https://arxiv.org/abs/2509.22267), [code](https://github.com/gama-ufsc/bearing-data-leakage)) -The abstract from that article sets the context clearly: *"While recent advances in machine learning (ML), particularly -deep learning, have shown strong performance in controlled settings, many studies fail to -generalize to real-world applications due to methodological flaws, most notably data leakage. -This paper investigates the issue of data leakage in vibration-based bearing fault diagnosis and -its impact on model evaluation. We demonstrate that common dataset partitioning strategies, -such as segment-wise and condition-wise splits, introduce spurious correlations that inflate -performance metrics."* +The abstract from that article sets the context clearly: +> *"While recent advances in machine learning (ML), particularly + deep learning, have shown strong performance in controlled settings, many studies fail to + generalize to real-world applications due to methodological flaws, most notably data leakage. + This paper investigates the issue of data leakage in vibration-based bearing fault diagnosis and + its impact on model evaluation. We demonstrate that common dataset partitioning strategies, + such as segment-wise and condition-wise splits, introduce spurious correlations that inflate + performance metrics."* The risk is specific and easy to walk into. These datasets are built from a small number of physical bearings, each recorded over a short, uninterrupted run under a single load and speed, and the fault mode is a property of the bearing rather than of @@ -165,26 +163,43 @@ is disallowed, e.g. if the 'healthy' recording for bearing 0 is put in the train must not be in the test split). You can consult the details of the data split preparation in the relevant script, `uored_vafcls_data.py`. That rigorous data split has knock-on consequences: the data splits are small enough that the choice of which bearings are held out -matters more than almost anything about the model: +matters more than almost anything about the model, as can be seen from the plot of the distribution of performance across folds +below: - The **across-fold** standard deviation is {cv_akida_auroc_std}, and folds range from {cv_akida_auroc_min} to {cv_akida_auroc_max} - with the architecture, the recipe and the seed all held fixed. See the plot of below showing performance across folds. + with the architecture, the recipe and the seed all held fixed. - The **within-fold** standard deviation across random seeds is {cv_seed_std} (measured over {cv_seed_std_folds} folds at 3 seeds each). Distribution of per-fold AUROC +*(Note: Fold 42 is flagged because the model trained on this fold is the one set aside in the `pretrained_models` folder.)* + So a single-fold, single-seed AUROC cannot distinguish two architectures on this dataset. It is absolutely necessary to run multi-fold cross-validation to have anything approaching an accurate evaluation. For the bearing-wise split, this example follows the protocol set out by the reference paper above: 1. **The reported number is the mean over all {cv_folds} evaluation folds**, produced by `uored_vafcls_cross_validate.py`. The per-fold results are committed in [`docs/cv_results.csv`](docs/cv_results.csv) so the mean is auditable without re-running anything. -2. **Folds 0–4 are the tuning budget.** Every hyperparameter — epochs, learning rate, the QAT schedule, the input encoding constants — was chosen there. Folds 5–104 are never tuned on. +2. **Folds 0–4** are used for tuning hyperparameters, such as the number of epochs, learning rate, the QAT schedule and the input encoding constants. The remaining **folds (5–104)** are reserved as the test split, and should never be used for tuning. + +### Results for the Segment-level Split -### The Comparison: Segment-level Split -To demonstrate the importance of this rigorous leakage-free split (and, admittedly, to show that the model developed here for -Akida is just as good as other published models, that the issue is on the data side, not the model) we present results for -a segment-level split (i.e. every 10 second recording split to 6 seconds training, 4 seconds test data). Sure enough, the -model achieves **>99.5% AUROC**, and that without any further tuning for that version of the task. +Read on its own, results for the bearing-disjoint score invite the wrong conclusion: that +the model is weak. It is not - the evaluation is honest, and honest numbers on +this dataset are lower than the ones usually published. To make that visible, +we also show results for a segment-level data split (each recording contributes different +time segments to both the train and test splits). Published results very commonly use +this kind of data splitting. + +Both modes yield identical budgets - 720 training windows (6 steps per epoch) +and 240 test windows - so a score difference between them is attributable to the +split and nothing else. Sure enough, the model achieves **>99.5% AUROC**, and without +any further tuning for this version of the task. + +Unlike the bearing-level split, the segment-level split needs no cross-validation. It has no folds +to average over (there is one time cut, the same for every run) and its score +is stable to about 0.001 where the bearing-disjoint folds span 0.04-0.05. One run +is sufficient. You can re-run uored_vafcls_naive_split.sh with a different seed to +confirm that for yourself. ## Dataset setup @@ -255,7 +270,7 @@ bash uored_vafcls_train.sh [DATADIR] [FOLD] [SEED] ### Cross-validation -**This is the command that produces the headline number.** +**Use this command to reproduce the reported cross-validation performance reported above.** ```bash python uored_vafcls_cross_validate.py --save-metrics @@ -268,12 +283,14 @@ or pipeline (remember, folds 5-104 are for the final evaluation only). ## Contributing and Maintenance -`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. The performance -tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags (if updating results following changes to the model or -pipeline, remember to delete the `.csv` files first, or use the `--no-resume` argument on the cross-validation runs): +`README.md` in this folder is **generated** — edit [`docs/README.md.template`](docs/README.md.template), never `README.md` directly. + +The performance tables are filled from `docs/metrics.json`, which is written by the `--save-metrics` flags (if updating results +following changes to the model or pipeline, remember to delete the `.csv` files first, or use the `--no-resume` argument on the +cross-validation runs): ```bash -# Bearing-level split (the protocol) - the Model Card's bottom row. +# Bearing-level split (Model Card's bottom row). # Its AUROCs come from the sweep, never from a single model. python uored_vafcls_cross_validate.py --save-metrics # 30-60 min python uored_vafcls_cross_validate.py --first-fold 5 --last-fold 29 --seeds 3 \ @@ -282,7 +299,7 @@ python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls.h5 --save-m python uored_vafcls_eval.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics # sparsity python uored_vafcls_benchmark.py -l pretrained_models/akdcnn_uored_vafcls_qat.fbz --save-metrics -# Naive segment-level split (the comparator) - the Model Card's top row. +# Naive segment-level split (Model Card's top row). # One model, one run: the split is singular and its score is stable to ~0.001. bash uored_vafcls_naive_split.sh python uored_vafcls_eval.py -l models/akdcnn_uored_vafcls_segment.h5 --split-mode segment --save-metrics diff --git a/akida1/model_zoo/uored_vafcls/docs/metrics.json b/akida1/model_zoo/uored_vafcls/docs/metrics.json index 0b0fc16..25b7e04 100644 --- a/akida1/model_zoo/uored_vafcls/docs/metrics.json +++ b/akida1/model_zoo/uored_vafcls/docs/metrics.json @@ -16,7 +16,7 @@ "cv_seed_std_folds": "25", "params": "335,444", "sparsity": "37.81%", - "fixed_fold": "5", + "fixed_fold": "42", "minimal_nps": "17", "minimal_passes": "1", "minimal_cycles": "3930879", diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py index ae30449..a5b36ce 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_benchmark.py @@ -172,14 +172,14 @@ if args.save_metrics: - # The is used to update the stored metrics that are used to generate the + # The save-metrics argument used to update the stored metrics that are used to generate the # performance tables in the README of this folder. # This should only be used for code maintenance, when the model or training # pipeline is updated and a new trained model integrated. # - # Note: 'sparsity' is deliberately NOT written here - uored_vafcls_eval.py - # owns that key, so that the accuracy table can be regenerated without - # hardware and the two scripts never race to set it. + # Note: 'sparsity' is deliberately NOT written here, but is created by + # uored_vafcls_eval.py. This is so that the accuracy table can be regenerated without + # hardware. metrics_path = pathlib.Path(__file__).parent / 'docs' / 'metrics.json' metrics = json.loads(metrics_path.read_text()) if metrics_path.exists() else {} for mm, res in full_results.items(): diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py index a65d5ac..6fc94c8 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_cross_validate.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License """ UORED-VAFCLS cross-validation sweep. @@ -10,13 +10,13 @@ This is the script that produces the headline number for this example, and the reason it exists is that a single fold does not support a conclusion. There are only 20 bearings; a fold trains on 12 of them and is tested on 8. The AUROC -spread across folds is 0.04-0.05, and individual folds range from about 0.70 to +spread across folds is 0.04-0.07, and individual folds range from about 0.70 to about 0.99 with the model and the seed held fixed. Two architectures differing by a couple of AUROC points cannot be distinguished by one fold, and reporting one fold's score as a model's performance is reporting noise. -Folds 0-4 are the tuning budget - the only folds a hyperparameter may be chosen -on. Folds 5-104 are the 100 evaluation folds, and the mean over them is the +Folds 0-4 are the tuning budget, used to do hyperparameter tuning. +Folds 5-104 are the 100 evaluation folds, and the mean over them is the number to quote. Results accumulate in docs/cv_results.csv, one row per (fold, seed), flushed @@ -25,7 +25,7 @@ Runtime is roughly 30-60 s per fold, so about 1-2 hours for the default 100-fold full chain. --skip-akida drops the quantize/convert/Akida stages and is -about four times faster; use it for recipe sweeps. +about four times faster; use it for recipe sweeps on the first 5 folds. Example ------- @@ -99,7 +99,6 @@ def run_fold(fold, seed=0, data_path='./data/uored_vafcls', epochs=30, started = time.time() model = build_uored_vafcls_model(seed=seed) - # model.summary() train_ds, test_ds = get_data(data_path, model.input_shape[1:], batch_size, fold=fold, seed=seed) @@ -391,7 +390,11 @@ def plot_distribution(rows, fixed_fold, savepath): if args.save_metrics: import json - + # The save-metrics argument used to update the stored metrics that are used to generate the + # performance tables in the README of this folder. + # This should only be used for code maintenance, when the model or training + # pipeline is updated and a new trained model integrated. + # # The published aggregate must describe the whole evaluation range, or # the README would quote a mean over whichever folds happened to run. have = {int(row['fold']) for row in rows} diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py index 6b4c2e0..fc80032 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright 2025 Brainchip Holdings Ltd. Apache 2.0 License +# Copyright 2026 Brainchip Holdings Ltd. Apache 2.0 License """ UORED-VAFCLS bearing fault data pipeline. @@ -10,9 +10,9 @@ -> random gain (training only) -> rescale to uint8-range using a single per-dataset scale factor - -> reshape to (1200, 35, 1) + -> reshape to (300, 140, 1) -DATA SPLIT PROTOCOL +BEARING LEVEL DATA SPLIT PROTOCOL The dataset split implemented here is derived from the method proposed by Vieira et al (2026), "Towards a more realistic evaluation of machine learning @@ -27,42 +27,27 @@ plus two severities of a single fault mode - and holding a bearing out removes all three. -Folds are enumerated, not tabulated: every way of holding out 2 bearings from +Folds are enumerated: every way of holding out 2 bearings from each of the 4 fault modes gives C(5,2)^4 = 10,000 folds, shuffled once with a fixed seed and indexed by fold number. Folds 0-4 are the tuning budget; folds -5-104 are the 100 evaluation folds. FIXED_FOLD (5) is the one the pretrained +5-104 are the 100 evaluation folds. FIXED_FOLD (42) is the one the pretrained models and the hardware benchmark use. -A NAIVE COMPARATOR - -Read on its own, the bearing-disjoint score invites the wrong conclusion: that -the model is weak. It is not - the evaluation is honest, and honest numbers on -this dataset are lower than the ones usually published. To make that visible, -`split_mode='segment'` implements the naive split the protocol exists to rule -out, so the two can be run side by side and the *gap* reported. +SEGMENT LEVEL DATA SPLIT The segment split divides each recording by time - the first 60% of every 10 s recording trains, the last 40% tests - and keeps all 60 recordings on both sides. Windows minutes apart from the same bearing, the same fault and the same -run therefore land on both sides. It is the most severe form of leakage in -Vieira et al's taxonomy, and the most commonly committed. - -Both modes yield identical budgets - 720 training windows (6 steps per epoch) -and 240 test windows - so a score difference between them is attributable to the -split and nothing else. 'segment' is for comparison only: it must never be the -source of a published metric, and uored_vafcls_eval.py --save-metrics refuses it. - -Unlike the protocol, the naive split needs no cross-validation. It has no folds -to average over - there is one time cut, the same for every run - and its score -is stable to about 0.001 where the bearing-disjoint folds span 0.04-0.05. One run -is the whole story; re-run uored_vafcls_naive_split.sh with a different seed to -confirm that for yourself. uored_vafcls_cross_validate.py is therefore reserved -for the protocol and has no notion of split mode. - -Labels are multi-label, not one-of-N: [inner, outer, ball, cage], with healthy -encoded as the all-zero vector rather than a fifth class. The reported metric is -macro AUROC (see uored_vafcls_eval.py) - there is no argmax prediction here, so -an accuracy figure would depend on an arbitrary threshold. +run therefore land on both sides of the train/test split. It is the most severe +form of leakage in Vieira et al's taxonomy, and the most commonly committed. + +CLASS LABELS + +Labels are potentially multi-label, [inner, outer, ball, cage], not one-of-N: +a bearing could in principal suffer from multiple faults (although that case +is not represented in any of the relevant datasets). Note that 'healthy' is +not labelled as a separate class, but is encoded as the all-zero vector. The +reported metric is macro AUROC (see uored_vafcls_eval.py). DATA PREPARATION @@ -91,12 +76,14 @@ """ import functools +import glob import os import random from collections import namedtuple from itertools import combinations, product import numpy as np +import pandas as pd import tensorflow as tf # --------------------------------------------------------------------------- @@ -151,12 +138,12 @@ # Windowing # --------------------------------------------------------------------------- WINDOW_LENGTH = 42_000 # 1.0 s -FRAME_WIDTH = 140 # samples per frame; 42000 / 35 = 1200 frames -INPUT_SHAPE = (WINDOW_LENGTH // FRAME_WIDTH, FRAME_WIDTH, 1) # (1200, 35, 1) +FRAME_WIDTH = 140 # samples per frame; 42000 / 140 = 300 frames +INPUT_SHAPE = (WINDOW_LENGTH // FRAME_WIDTH, FRAME_WIDTH, 1) # (300, 140, 1) TRAIN_WINDOWS_PER_RECORDING = 20 # 36 recordings x 20 = 720 windows per epoch EVAL_WINDOWS_PER_RECORDING = 10 # 24 recordings x 10 = 240 windows, tiled -GAIN_STD = 0.7 # random scalar gain, N(1, GAIN_STD) +GAIN_STD = 0.7 # Random augmentation, a scalar gain applied to the signal, N(1, GAIN_STD) BATCH_SIZE = 120 # exact divisor of 720 -> 6 steps per epoch # The segment split trains on all 60 recordings rather than 36, so it needs its @@ -240,11 +227,11 @@ def fold_rows(bearing_id, fold, n_per_mode=N_BEARINGS_PER_FAULT_MODE, # --------------------------------------------------------------------------- -# The naive comparator +# The Segment-Level Split Comparator # --------------------------------------------------------------------------- # A time region is a half-open (start, stop) in samples. Every window drawn for # a split comes from one of these, which is the whole of what separates the two -# modes: 'bearing' draws from the full recording on both sides and separates the +# modes: 'bearing' draws from the full recording and separates the # rows instead, 'segment' shares every row and separates the time. FULL_REGION = (0, SIGNAL_LENGTH) SEGMENT_TRAIN_REGION = (0, SEGMENT_BOUNDARY) @@ -273,9 +260,6 @@ def check_split_mode(split_mode): def split_plan(bearing_id, fold, split_mode=DEFAULT_SPLIT_MODE): """Resolve one split into rows, time regions and a training window budget. - Both modes are described in the module docstring. This is the only place - that branches on the mode; everything downstream consumes the plan. - Args: bearing_id (np.ndarray): per-recording bearing id, shape (N_RECORDINGS,). fold (int): fold index. Ignored by 'segment', which has one split. @@ -420,8 +404,6 @@ def _describe_split(cache, plan, fold): _describe('Train', cache, plan.train_rows, plan.train_region) _describe('Held out', cache, plan.test_rows, plan.test_region) - # The diagnostic that distinguishes the two modes at a glance. A protocol - # split shares nothing; the naive one shares everything. train_bearings = set(cache['bearing_id'][plan.train_rows].tolist()) test_bearings = set(cache['bearing_id'][plan.test_rows].tolist()) shared = train_bearings & test_bearings @@ -457,9 +439,8 @@ def generator(): start = rng.integers(region_start, region_stop - WINDOW_LENGTH) window = np.array(signals[row, start:start + WINDOW_LENGTH], dtype=np.float32) - # Gain is applied to the float waveform + # Random Augmentation: Gain is applied to the float waveform window *= np.float32(rng.normal(1.0, GAIN_STD)) - # window = encode_uint8(window, center[row], scale[row]) window = encode_uint8(window) yield frame_window(window), labels[i] @@ -467,7 +448,7 @@ def generator(): tf.TensorSpec(shape=(NUM_LABELS,), dtype=tf.float32)) return ( tf.data.Dataset.from_generator(generator, output_signature=signature) - # Declared so that len(train_ds) works, which is how the training script + # Cardinality is declared so that len(train_ds) works, which is how the training script # derives steps_per_epoch for the LR schedule. .apply(tf.data.experimental.assert_cardinality(n_items)) .shuffle(n_items, seed=seed, reshuffle_each_iteration=True) @@ -483,7 +464,7 @@ def _eval_arrays(cache, rows, region=FULL_REGION): That is EVAL_WINDOWS_PER_RECORDING (10) over a full recording, or 4 over the segment split's test region and 6 over its training region. - Small enough to materialise (240 x 1200 x 35 uint8 is about 10 MB). + Small enough to materialise (240 x 300 x 140 uint8 is about 10 MB). """ signals = cache['signals'] labels = _labels(cache, rows) @@ -650,9 +631,6 @@ def prepare_raw(raw_dir, data_path=DEFAULT_DATA_PATH): Returns: str: path to the written cache. """ - import glob - - import pandas as pd signals = np.zeros((N_RECORDINGS, SIGNAL_LENGTH), dtype=np.float32) records = [] diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py index 27e9636..d197edf 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_eval.py @@ -190,7 +190,7 @@ def evaluate_akida_model(akida_model, dataset): # Persist metrics # --------------------------------------------------------------------------- if args.save_metrics: - # The is used to update the stored metrics that are used to generate the + # The save-metrics argument is used to update the stored metrics that are used to generate the # performance tables in the README of this folder. # This should only be used for code maintenance, when the model or training # pipeline is updated and a new trained model integrated. diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py index 0e6d32c..65e2df4 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_model.py @@ -105,13 +105,7 @@ def _conv_block(x, filters, name, kernel=(3, 3), padding='same', pool=True, x = Rescaling(1.0 / 128.0, -1.0, name='rescaling')(inputs) # Stem: a dense convolution with no padding - x = Conv2D(STEM_FILTERS, STEM_KERNEL_SIZE, padding='valid', use_bias=False, - name='stem_conv')(x) - x = BatchNormalization(momentum=BN_MOMENTUM, epsilon=BN_EPSILON, - name='stem_bn')(x) - x = ReLU(max_value=6.0, name='stem_relu')(x) - x = MaxPooling2D((2, 2), strides=(2, 2), padding='valid', - name='stem_pool')(x) + x = _conv_block(x, STEM_FILTERS, name='stem', kernel=STEM_KERNEL_SIZE, padding='valid', pool=True, pool_padding='valid') # Blocks for i, (filters, pool) in enumerate(zip(BLOCK_FILTERS[:-1], BLOCK_POOLING[:-1]), From d5285fc469d8180935eacb0e5656980fe7a26bd6 Mon Sep 17 00:00:00 2001 From: dmclelland Date: Tue, 22 Sep 2026 14:27:43 +0200 Subject: [PATCH 14/15] HwPr row added to Model Card table --- akida1/model_zoo/uored_vafcls/README.md | 11 +++++++++++ akida1/model_zoo/uored_vafcls/docs/README.md.template | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index eda729e..bba36d0 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -82,6 +82,17 @@ The table reports results for a **single model architecture**. Only the method u + + + + + + + + + + +
      89.0 0.664
      HwPr64330631527.658216.21.791103.10.854
      diff --git a/akida1/model_zoo/uored_vafcls/docs/README.md.template b/akida1/model_zoo/uored_vafcls/docs/README.md.template index 135b6fd..cc9c625 100644 --- a/akida1/model_zoo/uored_vafcls/docs/README.md.template +++ b/akida1/model_zoo/uored_vafcls/docs/README.md.template @@ -82,6 +82,17 @@ The table reports results for a **single model architecture**. Only the method u {allnps_dyn_P} {allnps_dyn_E} + + HwPr + {hwpr_nps} + {hwpr_passes} + {hwpr_cycles} + {hwpr_latency_ms} + {hwpr_total_P} + {hwpr_total_E} + {hwpr_dyn_P} + {hwpr_dyn_E} + From ae8c91e45763bac7693005f8c3b4fcf906c41dd4 Mon Sep 17 00:00:00 2001 From: dmclelland Date: Tue, 22 Sep 2026 16:00:20 +0200 Subject: [PATCH 15/15] Data file uploaded, sha256 check added --- akida1/model_zoo/uored_vafcls/README.md | 6 ++++-- akida1/model_zoo/uored_vafcls/docs/README.md.template | 6 ++++-- akida1/model_zoo/uored_vafcls/uored_vafcls_data.py | 6 ++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/akida1/model_zoo/uored_vafcls/README.md b/akida1/model_zoo/uored_vafcls/README.md index bba36d0..421bd50 100644 --- a/akida1/model_zoo/uored_vafcls/README.md +++ b/akida1/model_zoo/uored_vafcls/README.md @@ -135,8 +135,10 @@ Downloaded from [Mendeley Data, doi:10.17632/y2px5tg92h.5](https://data.mendeley > Sehri, Maryam; Dumond, Patrick (2023), *"University of Ottawa Rolling-element Dataset – Vibration and Acoustic Faults under Constant Load and Speed conditions (UORED-VAFCLS)"*, Mendeley Data, V5, doi: 10.17632/y2px5tg92h.5 *Changes made, as the licence requires us to state:* for convenience, we make the data required in this example available -as a single file for download from the BrainChip servers, that is, the `Accelerometer` column of the raw CSVs repacked -unmodified into a single float32 `.npz`. +as a single file for download from the BrainChip servers. No sample values are altered: the `Accelerometer` column of each +raw CSV is repacked verbatim as float32 into a single `.npz`, along with the first row of the `Speed` column as a +per-recording nominal RPM, and per-recording metadata (bearing id, fault type, severity, waveform id and the multi-label +targets) derived from the original filenames and folder structure. ## The Problem of Realistic Evaluation of Bearing Fault Diagnosis Models diff --git a/akida1/model_zoo/uored_vafcls/docs/README.md.template b/akida1/model_zoo/uored_vafcls/docs/README.md.template index cc9c625..be226d4 100644 --- a/akida1/model_zoo/uored_vafcls/docs/README.md.template +++ b/akida1/model_zoo/uored_vafcls/docs/README.md.template @@ -135,8 +135,10 @@ Downloaded from [Mendeley Data, doi:10.17632/y2px5tg92h.5](https://data.mendeley > Sehri, Maryam; Dumond, Patrick (2023), *"University of Ottawa Rolling-element Dataset – Vibration and Acoustic Faults under Constant Load and Speed conditions (UORED-VAFCLS)"*, Mendeley Data, V5, doi: 10.17632/y2px5tg92h.5 *Changes made, as the licence requires us to state:* for convenience, we make the data required in this example available -as a single file for download from the BrainChip servers, that is, the `Accelerometer` column of the raw CSVs repacked -unmodified into a single float32 `.npz`. +as a single file for download from the BrainChip servers. No sample values are altered: the `Accelerometer` column of each +raw CSV is repacked verbatim as float32 into a single `.npz`, along with the first row of the `Speed` column as a +per-recording nominal RPM, and per-recording metadata (bearing id, fault type, severity, waveform id and the multi-label +targets) derived from the original filenames and folder structure. ## The Problem of Realistic Evaluation of Bearing Fault Diagnosis Models diff --git a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py index fc80032..9546a3e 100644 --- a/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py +++ b/akida1/model_zoo/uored_vafcls/uored_vafcls_data.py @@ -97,7 +97,8 @@ # not fetchable as a single file; --prepare-raw rebuilds this .npz from them. MIRROR_URL = ('https://data.brainchip.com/dataset-mirror/uored_vafcls/' + CACHE_NAME) -MIRROR_HASH = None # TODO: sha256 once the mirror is uploaded +MIRROR_HASH = ('sha256:4ba82c0c36a38fb2afc1428c46a84264093da8c6084d4e471db' + 'f00c9679c9c98') SAMPLE_RATE = 42_000 # Hz SIGNAL_LENGTH = 420_000 # 10 s per recording @@ -354,9 +355,6 @@ def _download_cache(data_path): """Fetch the prepared .npz from the BrainChip dataset mirror.""" import pooch - if MIRROR_HASH is None: - print('Note: MIRROR_HASH is not set yet, so the download cannot be ' - 'checksum-verified.') os.makedirs(data_path, exist_ok=True) print(f'Downloading the prepared UORED-VAFCLS cache to {data_path} ...') pooch.retrieve(url=MIRROR_URL, known_hash=MIRROR_HASH, path=data_path,