Downloads · 30 days
0
salaheiyo/MAC2026-track1-salaheiyo1
MAC2026-track1-salaheiyo1 is a machine learning model from salaheiyo. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Companion artifacts for the code package, released as submission0.72581checkpoints.zip at https://huggingface.co/salaheiyo/MAC2026-track1-salaheiyo1.
Downloads · 30 days
0
Access
Public
Updated Jun 20, 2026
Repo size
2.4 GB
Likes
0
Public
Click a slice to open those files.
.zip2.4 GB · 100%
From the Hugging Face model README
Companion artifacts for the code package, released as
submission_0.72581_checkpoints.zip at
https://huggingface.co/salaheiyo/MAC2026-track1-salaheiyo1.
git lfs install
git clone https://huggingface.co/salaheiyo/MAC2026-track1-salaheiyo1
unzip MAC2026-track1-salaheiyo1/submission_0.72581_checkpoints.zip
Two reproduction paths:
| Path | Needs | Time | Exactness |
|---|---|---|---|
| A. Instant (from cached scores) | CPU + numpy only | seconds | byte-identical to submitted prediction.csv (md5 self-checked) |
| B. Full (from model weights) | GPU env + test videos | ~minutes | identical up to sub-0.1% GPU nondeterminism |
reproduce_from_scores.py # Path A: scores/ -> prediction.csv, self-checks md5 vs reference
test_order.txt # the 1138 test vids, in the row order of the scores/pickles
prediction_reference.csv # the actually-submitted file (target of the md5 check)
scores/ # per-model TEST softmax scores (the ensemble inputs)
│ test_base_tv.pkl test_vL_tv.pkl test_crop_tv.pkl test_tsf.pkl test_v1.pkl
checkpoints/ # the 5 trained model weights (weights-only state_dicts)
│ vmae_base_trainval.pth (VideoMAEv2-Base, train+val)
│ vmae_large_trainval.pth (VideoMAEv2-Large, train+val)
│ vmae_base_crop_trainval.pth (VideoMAEv2-Base + person-crop, train+val)
│ timesformer_ssv2.pt (TimeSformer-SSv2, HF state_dict)
│ videoswin_small.pth (VideoSwin-small)
SHA256SUMS # integrity
python reproduce_from_scores.py
# -> prediction.csv ; prints "MATCHES SUBMITTED FILE: True"
The 5 weighted (1/1/1/0.7/0.5) softmax tensors are averaged; top-5 = action labels, body = fine->coarse bucketing. This regenerates the submitted file exactly.
Use these checkpoints with the code package to re-dump the score pickles, then run
Path A. The checkpoints are weights-only {"state_dict": ...} (mmaction loads them via
--checkpoint; no config/optimizer state is needed for inference).
# (in the code package, after set_root.sh + data prep) e.g. for the base model:
sbatch scripts/dump_scores.sbatch scripts/cfg_vmae_base_ma52_trainval.py \
/path/to/checkpoints/vmae_base_trainval.pth /path/to/scores/test_base_tv.pkl
# ... likewise for large / crop / videoswin. TimeSformer:
python scripts/hf_video_finetune.py --model facebook/timesformer-base-finetuned-ssv2 \
--tag tsf --infer --ckpt /path/to/checkpoints/timesformer_ssv2.pt \
--infer_split test --out /path/to/scores/test_tsf.pkl --person_crop --clips 2
The provided checkpoints' weights are byte-identical to those that produced scores/,
so Path B reproduces the same scores (hence the same prediction.csv).
scores/ pickles contain only pred_score (+ a basename frame_dir for TimeSformer);
no absolute paths or personal data.