DriveDNA-models: trained checkpoints behind the DriveDNA benchmark
These are the 47 PyTorch checkpoints that produced the tables of DriveDNA: A Large-Scale Multimodal Naturalistic Driving Dataset and Benchmark for Driving Style Identification (arXiv:2607.23822). Code, evaluation harness and result files: github.com/WangYuHang-cmd/DriveDNA (tag v1.1-kdd2027). Data: HenryYHW/DriveDNA.
Every file is a plain torch.save dictionary with the model state dict (model), the per-channel input normalisation statistics (mu, sd, 17 channels), and for some models an arch string. No data, identifiers or paths are stored inside. Total size 162 MB; sha256 of every file in CHECKSUMS.sha256.
Loading
import torch, sys
sys.path.insert(0, "code/model"); sys.path.insert(0, "code/eval") # from the GitHub repository
from s1_supcon import Encoder
ck = torch.load("s1_supcon.pt", map_location="cpu", weights_only=False)
enc = Encoder(c_in=17).eval(); enc.load_state_dict(ck["model"])
x = (windows_x - ck["mu"]) / ck["sd"] # windows_x: [N, 600, 17] float32 (features/windows_x.npy in the dataset)
To evaluate with the paper's protocol, download the dataset, run scripts/prepare_release_layout.py --models <this folder> in the GitHub repository and use the commands in its README (for example python code/eval/t4_eval.py --ckpt experiments/checkpoints/s1_supcon_s10.pt --tag _s10).
Checkpoints
Seeds: default is the seed used for the headline row; 10 / 11 are the two additional training seeds of the three-seed protocol; fe* checkpoints were trained for the fixed-evaluation-split control (App. I).
| File | MB | Training command | Paper | Seed | Status | sha256 |
|---|---|---|---|---|---|---|
m2_mcpp6_dinov2.pt |
1.82 | code/model/m2_mcpp6.py --video dinov2 |
Sec. 6.5 / App. K (MCPP modality ablation) | default | superseded by m2_mcpp6_dinov2_v2.pt |
01bc2555a33f… |
m2_mcpp6_dinov2_v2.pt |
1.82 | code/model/m2_mcpp6.py --video dinov2 --tag _v2 |
Sec. 6.5 / App. K (MCPP modality ablation) | default | used | 77e4276c8610… |
m2_mcpp6_dinov3.pt |
1.82 | code/model/m2_mcpp6.py --video dinov3 |
Sec. 6.5 / App. K (MCPP modality ablation) | default | used | 84b49188ed58… |
m2_mcpp6_vjepa2.pt |
1.95 | code/model/m2_mcpp6.py --video vjepa2 |
Sec. 6.5 / App. K (MCPP modality ablation) | default | used | ede08e4f74b4… |
m2_mcpp6_vjepa2_s10.pt |
1.95 | code/model/m2_mcpp6.py --video vjepa2 --seed 10 |
Sec. 6.5 / App. K (MCPP modality ablation) | 10 | used | 36b101496423… |
m2_mcpp6_vjepa2_s11.pt |
1.95 | code/model/m2_mcpp6.py --video vjepa2 --seed 11 |
Sec. 6.5 / App. K (MCPP modality ablation) | 11 | used | 1e03cee9be3e… |
m3_t5_video.pt |
0.58 | code/model/m3_t5_video.py (earlier version) |
App. L (event forecasting with video) | default | superseded by the --video variants |
867780951371… |
m3_t5_video_dinov2.pt |
0.58 | code/model/m3_t5_video.py --video dinov2 |
App. L (event forecasting with video) | default | used | 9b612b5d1fce… |
m3_t5_video_dinov3.pt |
0.58 | code/model/m3_t5_video.py --video dinov3 |
App. L (event forecasting with video) | default | used | ed7024234b3f… |
m3_t5_video_siglip2.pt |
0.58 | code/model/m3_t5_video.py --video siglip2 |
App. L (event forecasting with video) | default | used | c2ff2bff0f42… |
m3_t5_video_vjepa2.pt |
0.68 | code/model/m3_t5_video.py --video vjepa2 |
App. L (event forecasting with video) | default | used | 28139de138e8… |
m4_clip.pt |
8.85 | code/model/m4_clip_align.py |
Table 3 (CLIP-aligned CAN) | default | used | 4dae862689a2… |
m6_transfuser_lite.pt |
4.57 | code/model/m6_transfuser_lite.py |
Sec. 6.5 / App. K | default | used | cbb148b1bab8… |
m7_vidpool.pt |
1.06 | code/model/m7_video_probe.py |
Sec. 6.5 (video-only probe) | default | used | fe8b5c4e4f1a… |
s1_dann.pt |
7.79 | code/model/s1_dann.py |
Sec. 6.6 (adversarial vehicle invariance) | default | used | 06a42de118b9… |
s1_supcon.pt |
7.79 | code/model/s1_supcon.py |
Table 3 (PatchTST + SupCon); Table 4 via t4_eval.py |
default | used | 03d9e2215e6d… |
s1_supcon_s10.pt |
7.79 | code/model/s1_supcon.py --seed 10 |
Table 3 (PatchTST + SupCon); Table 4 via t4_eval.py |
10 | used | b3fcc3e32478… |
s1_supcon_s11.pt |
7.79 | code/model/s1_supcon.py --seed 11 |
Table 3 (PatchTST + SupCon); Table 4 via t4_eval.py |
11 | used | 0d609eaa04a8… |
s3_pred.pt |
2.89 | code/model/s3_personalized.py |
Sec. 6.4 (FiLM-conditioned GRU) | default | used | 440fac342405… |
s3_pred_fe10.pt |
1.09 | code/model/s3_personalized.py --seed 10 |
Sec. 6.4 / App. H, I | 10 (fixed evaluation split, App. I) | used | 03cf4eb2a854… |
s3_pred_fe11.pt |
1.09 | code/model/s3_personalized.py --seed 11 |
Sec. 6.4 / App. H, I | 11 (fixed evaluation split, App. I) | used | f7debc6e54bc… |
s3_pred_s10.pt |
1.09 | code/model/s3_personalized.py --seed 10 |
Sec. 6.4 / App. H, I | 10 | used | 7042e2a1a5db… |
s3_pred_s11.pt |
1.09 | code/model/s3_personalized.py --seed 11 |
Sec. 6.4 / App. H, I | 11 | used | 6bb7516327e2… |
s3_pred_s1z.pt |
0.99 | code/model/s3_personalized.py --use_s1 |
Sec. 6.4 (re-ID embedding as conditioning signal) | default | used | a66eb3e0c01e… |
s3_pred_tf.pt |
2.89 | code/model/s3_personalized.py --arch transformer |
App. M (Transformer predictor) | default | used | 7379b7f23360… |
s4_mcpp.pt |
1.77 | code/model/s4_mcpp.py |
Sec. 6.5 (MCPP multimodal predictor) | default | used | 6d5e05ede878… |
s5_mdn.pt |
2.02 | code/model/s5_mdn.py |
Sec. 6.4 (MDN distributional head) | default | used | b74ebe689f1b… |
s5_mdn_fe10.pt |
2.02 | code/model/s5_mdn.py --seed 10 |
Sec. 6.4 (MDN distributional head) | 10 (fixed evaluation split, App. I) | used | 3002cc8938a4… |
s5_mdn_fe11.pt |
2.02 | code/model/s5_mdn.py --seed 11 |
Sec. 6.4 (MDN distributional head) | 11 (fixed evaluation split, App. I) | used | 211d8b28b748… |
s5_mdn_fe9.pt |
2.02 | code/model/s5_mdn.py --seed 9 |
Sec. 6.4 (MDN distributional head) | 9 (fixed evaluation split, App. I) | used | 56acc7bcdca7… |
s5_mdn_s10.pt |
2.02 | code/model/s5_mdn.py --seed 10 |
Sec. 6.4 (MDN distributional head) | 10 | used | 042727eca1de… |
s5_mdn_s11.pt |
2.02 | code/model/s5_mdn.py --seed 11 |
Sec. 6.4 (MDN distributional head) | 11 | used | b2f84122f3e3… |
w1_arcface.pt |
7.79 | code/model/w1_backbones.py --arch arcface |
Table 3 | default | used | 42a93a5a2f65… |
w1_arcface_s10.pt |
7.79 | code/model/w1_backbones.py --arch arcface --seed 10 |
Table 3 | 10 | used | fdfb4cd0b963… |
w1_arcface_s11.pt |
7.79 | code/model/w1_backbones.py --arch arcface --seed 11 |
Table 3 | 11 | used | ec272e2e0d0a… |
w1_ci.pt |
2.66 | code/model/w1_backbones.py --arch ci |
Table 3 | default | used | b23b10be6c45… |
w1_ci_s10.pt |
2.66 | code/model/w1_backbones.py --arch ci --seed 10 |
Table 3 | 10 | used | d4d642c8f031… |
w1_ci_s11.pt |
2.66 | code/model/w1_backbones.py --arch ci --seed 11 |
Table 3 | 11 | used | 9901325c3889… |
w1_itr.pt |
8.08 | code/model/w1_backbones.py --arch itr |
Table 3 | default | used | d138da649e50… |
w1_itr_s10.pt |
8.08 | code/model/w1_backbones.py --arch itr --seed 10 |
Table 3 | 10 | used | ded6da7f38e2… |
w1_itr_s11.pt |
8.08 | code/model/w1_backbones.py --arch itr --seed 11 |
Table 3 | 11 | used | a7af0a20554a… |
w2_jepa.pt |
7.79 | code/model/w2_ssl.py --mode jepa |
Table 3 (self-supervised rows) | default | used | b176373bcad9… |
w2_masked.pt |
7.79 | code/model/w2_ssl.py --mode masked |
Table 3 (self-supervised rows) | default | used | f85d6d1fb991… |
w5_cvae.pt |
1.43 | code/model/w5_cvae.py |
Sec. 6.4 / App. H (CVAE distributional head) | default | used | 024a587db2d8… |
w5_cvae_fe10.pt |
1.43 | code/model/w5_cvae.py --seed 10 |
Sec. 6.4 / App. H (CVAE distributional head) | 10 (fixed evaluation split, App. I) | used | a55bfe000ddf… |
w5_cvae_fe11.pt |
1.43 | code/model/w5_cvae.py --seed 11 |
Sec. 6.4 / App. H (CVAE distributional head) | 11 (fixed evaluation split, App. I) | used | 03254a56dc8f… |
w5_cvae_fe9.pt |
1.43 | code/model/w5_cvae.py --seed 9 |
Sec. 6.4 / App. H (CVAE distributional head) | 9 (fixed evaluation split, App. I) | unused (not referenced by any result) | 80a1cec2cf2b… |
License and permitted use
Released under the DriveDNA research license: non-commercial academic and research use only. These models were trained on driver identities and must not be used to identify or re-identify individual drivers, nor for insurance, employment, credit or law-enforcement scoring of individuals. Publications using them must cite the paper.
@article{drivedna2026,
title = {DriveDNA: A Large-Scale Multimodal Naturalistic Driving Dataset and
Benchmark for Driving Style Identification},
author = {Wang, Yuhang and Li, Lingyao and Zhou, Hao},
journal = {arXiv preprint arXiv:2607.23822},
year = {2026}
}