Evaluation¶
Running cells¶
imu-bench eval --encoder my_encoder.yaml # registers the card, then all 20 cells, here
imu-bench eval --encoder my_encoder --tasks har_hhar pd_pads --protocols probe # a subset while developing
imu-bench eval --encoder my_encoder --slurm # one SLURM train -> score chain per cell
imu-bench eval --encoder my_encoder --force # rerun cells that already have a result
imu-bench eval --encoder my_encoder --dry-run # list what would run
Each cell trains with the task card's recipe and scores the selected checkpoint once:
| Artefact | Path |
|---|---|
| run directory (checkpoints, logs) | runs/bench_<task>__<encoder>__<protocol>__s42/ |
| generated config | bench/generated/configs/bench_<task>__<encoder>__<protocol>__s42.yaml |
| result file | bench/results/<task>/<encoder>__<protocol>__s42.json |
Model selection uses the validation split only; the evaluation split is scored once, by the task's scorer in
bench/score/. The primary seed is 42 for every row of the leaderboard.
Protocols¶
| Protocol | Encoder | Decoder | Enters the ranking |
|---|---|---|---|
probe |
frozen | the card's light decoder, trained | yes |
finetune |
trainable, from the pretrained weights | the same decoder | yes |
scratch |
trainable, random init | the same decoder | reference row |
The decoders are deliberately light: a linear head for classification, width-192 attention decoders with one to four layers for the kinematic tasks, a projection for retrieval. The paper shows that a deeper decoder narrows or reverses the measured advantage of pretraining, which is why decoder capacity is part of the card and not of the submission.
Checking a submission¶
imu-bench check my_encoder
reports whether all twenty cells exist, whether every trained config is identical to its task card (decoder,
learning rate, budget, split, selection rule), whether the card is complete (name, params_m, pretrain_data,
normalize_method) and which track the submission qualifies for. A cell that changed the recipe is listed outside
the ranking.
Reading results¶
imu-bench leaderboard # bench/leaderboard_tracks.json + the two track tables
A row is shown only when all ten tasks are scored under both protocols. Rows are ordered by mean rank over the seven
columns (arm pose, full-body pose, odometry, gesture, IMU–text, Parkinson's, mean activity F1 over the four sets);
ties share a rank, the best value per column is marked at the printed precision, and reference rows
(control_random, control_raw, scratch, released external models) are printed but never ranked.
The format of a result file is in Result files.