Downloads · 30 days
0
LuckyBirdy123/tartanimu-early-conditioning
tartanimu-early-conditioning is a robotics model from LuckyBirdy123. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for pytorch. The card lists the license as apache-2.0.
One shared, raw-IMU-only network for the IROS 2026 IMU Odometry Challenge. It predicts mean body-frame velocity from five one-second windows, with two seconds of future context. All platforms use the same weights and…
Downloads · 30 days
0
Access
Public
Updated Sep 18, 2026
Repo size
7 MB
Likes
0
Public
Click a slice to open those files.
.pt7 MB · 82%
From the Hugging Face model README
One shared, raw-IMU-only network for the IROS 2026 IMU Odometry Challenge. It predicts mean body-frame velocity from five one-second windows, with two seconds of future context. All platforms use the same weights and velocity head. This is a research artifact, not a validated safety-critical navigation system.
The 1,742,920-parameter temporal residual network jointly encodes five windows and uses a bounded early feature conditioner derived from the same IMU input. Acceleration and angular-rate samples are the only inference inputs; there is no platform ID, pose, ground-truth velocity, external teacher or model routing.
Development used 395 training and 80 validation recordings. Epoch 23 was selected from a fixed 25-epoch schedule. The released model was trained afresh on all 475 released recordings, recomputing normalization on that population, for the selected 23-epoch prefix of the original 25-epoch schedule. No external pretrained weights or external training data were used.
| Result | Scope |
|---|---|
| 0.25197275 | Selected development model on reused VAL80, not the all475 model's held-out score |
| 0.42554 | Submitted all475 model, public leaderboard subset, observed 17 September 2026 |
Scores are not interchangeable. The early-versus-late development comparison did not meet its predeclared 2% mechanism-attribution criterion. No causal placement, architectural novelty, final ranking or live robotics claim is made. Full80 replay of the all475 model is implementation verification, not held-out evaluation.
The weight file is byte-identical to the qualified submitted model:
model/model.pt SHA256
96a8e782faaac3bba43d618a7b7550282337895785c93d89a1e6b4a96ba447fa
model/manifest.json SHA256 (this publication copy)
d8baf1798eadb4cd35b95b85171112ef2ec8a80829fa862ebb8cf897678679df
This is a separately bound publication copy. Attribution comments were added to the source files; numerical model statements, weights and tensor payload are unchanged. release_contract.py separately pins the notice-bearing source bytes and the original training-source identities retained in the payload. See PUBLICATION.md for the transformation and validation scope. Do not substitute the original private-package manifest digest when using this copy.
Use model/predict_archives.py or inference.Predictor with the external manifest digest above. The supported loader checks restricted tensor-state deserialization, exact source/placement/normalization bindings and FP32. Hashes are integrity checks, not independent proof of training provenance. Generated fixtures are rejected by default; do not pass --generated-fixture for these weights.
The inherited base_model.load_checkpoint helper is not the supported loader and uses unrestricted pickle deserialization. Never use it with untrusted checkpoints.
The original offline qualification used Linux, Python 3.11.10, PyTorch 2.5.1+cu124, NumPy 1.26.4 and a GTX 1080 Ti. Native/standalone full80 replay was also checked on an RTX 1000 Ada Generation Laptop GPU. Cross-device comparisons used a numerical tolerance, not bitwise equality. The publication-only successor was checked on generated CPU inputs; its GPU path was not rerun.
Use native FP32, disabled TF32/autocast, batch size 32, one CPU thread and deterministic cuBLAS configuration. The runtime enforces these precision controls and does not silently fall back to CPU when CUDA is unavailable. model/requirements.txt is not a complete environment lock or a guarantee for other devices. CPU loading is supported; full89 CPU throughput and Windows-native operation were not qualified.
Provide authorized NPZ archives and challenge-format index/template CSVs. Datasets are not distributed here. Only imu, ts and fs are read from each NPZ. IMU samples have shape (T, 6), acceleration x/y/z followed by angular rate x/y/z, SI units, gravity retained, on a 200 Hz timestamp grid. Do not introduce unvalidated axis rotations, gravity removal or unit conversion.
The index requires window_id,traj_id,win_idx: unique integer window IDs, recording IDs matching unique NPZ filename stems, and zero-based one-second window indices. Windows must contain 200 complete samples. The template must have exactly window_id,vx,vy,vz, with unique IDs matching the index. Its row order determines output order. Missing window indices split contiguous runs; context repeats boundary windows within each run, never across recordings.
Example for a matching environment; replace DATA/... with your authorized paths and choose new output filenames:
env CUBLAS_WORKSPACE_CONFIG=:4096:8 OMP_NUM_THREADS=1 MKL_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1 \
python model/predict_archives.py \
--bundle model \
--trajectory-root DATA/trajectories \
--index DATA/index/test_windows.csv \
--template DATA/sample_submission.csv \
--output predictions.csv \
--audit inference-audit.json \
--device cuda --precision fp32 --batch-size 32 \
--manifest-sha256 d8baf1798eadb4cd35b95b85171112ef2ec8a80829fa862ebb8cf897678679df
Output is window_id,vx,vy,vz, with velocity in m/s. The audit records hashes, accessed array names, settings and counts. Both outputs must be new and distinct. CSV is written before its audit; interrupted attempts can leave partial files. Preserve them for diagnosis rather than silently overwriting them.
Original older-GPU offline replay covered 30,644 windows from 89 recordings in 47.86 seconds including unpacking/verification, with 117,440,512 bytes peak reserved GPU memory. Maximum absolute difference from the submitted CSV was about 4.77e-6 under absolute/relative tolerance 1e-5. These are historical qualification observations, not a new benchmark of this publication copy. Inference throughput is not the two-second lookahead latency.
submission.csv is the exact already-scored file: 30,644 prediction rows, public score 0.42554, uploaded to Kaggle on 17 September 2026 at 07:26:05 UTC. It was not regenerated for publication. MD5: 7b5f7c9e66f8229af917fd188bd4b39a; SHA256: 5f02900c9787d50e343248a0ff0a4b4c03923ccc46c70086e0dcbbf74726f4cf. It contains window IDs and predicted velocities, not sensor measurements or ground-truth labels.
Code and trained weights are released under Apache-2.0, as approved by the release owner. NOTICE credits Nomannic's temporal encoder/pooling and NEWSKEN's five-window context implementation, including exact source versions. Project changes are explicitly marked. No upstream endorsement or exact reproduction is claimed. Competition datasets and separately installed PyTorch/NumPy remain subject to their own terms.
The exact scored prediction CSV is included with separate release-owner approval for organizer reproducibility. The technical report, full89 reporting table and private coordination records are not included here. Public availability does not imply organizer acceptance, final submission designation or safety validation.