“Unlock the Future of Motion Prediction with Scalable, Model-Agnostic, Dataset-Agnostic Innovation!”
This repository contains the official implementation of SmartPretrain: Model-Agnostic and Dataset-Agnostic Representation Learning for Motion Prediction published in ICLR 2025.
[Mar., 2025]We released our code based on QCNet for Argoverse 2. Give it a try![Jan., 2025]Our SmartPretrain was accepted by ICLR 2025.[Oct., 2024]We released our SmartPretrain paper on arXiv.
- The project focuses on utilizing SSL strategies and large-scale driving datasets to develop robust and generalizable motion prediction models. The proposed framework, integrating contrastive and reconstructive SSL techniques, is both model-agnostic and dataset-agnostic.
- We aim to invest in an early exploration of the scaling laws in the motion prediction domain, an area that has been significantly underexplored.
- Extensive experiments on multiple datasets demonstrate that our method consistently improves the performance of state-of-the-art prediction models across datasets, data splits and main metrics.
We present visualization results to demonstrate the effectiveness of our method. The blue arrows are the model's multi-modal trajectory predictions for the target agent, and the pink arrow is the ground truth future trajectory.
- Pre-training facilitates the generation of smoother and safer trajectories.
- New behavior (e.g., lane changing) is learned through pre-training.
- The prediction error of the target agent's trajectories is consistently reduced after pre-training.
We first need to prepare the environment for evaluation and training. You can simply follow QCNet's official repository to install necessary dependencies as this code is based on QCNet.
You can directly run evaluations with our fine-tuned models. First, download our fine-tuned models. We offer two different models: one with three datasets as pre-training data and the other one with a single dataset. Both of the two models are fine-tuned on Argo2.
| Pre-trained Dataset(s) | Fine-tuned Dataset | Checkpoint |
|---|---|---|
| Argo2 | Argo2 | model |
| Argo, Argo2 and WOMD | Argo2 | model |
After finishing downloading, replace ckpt_path in val.sh or test.sh with your downloaded model path and run the following script to evaluate on the Argo2 validation and test set:
# validation set
bash val.sh
# test set
bash test.shYou can also do fine-tuning with our pre-trained model. First, download our pre-trained models. We also offer two different models: one with three datasets as pre-training data and the other one with a single dataset.
| Pre-trained Dataset(s) | Checkpoint |
|---|---|
| Argo2 | model |
| Argo, Argo2 and WOMD | model |
After finishing downloading, replace pretrained_ckpt in train.sh with your downloaded model path and run the following script to fine-tune on the Argo2 training set:
bash train.shWe pre-train the model on Argo2 by default. You can change load_av1 and load_waymo to 1 in train_ssl.sh to pre-train with other datasets. For single dataset pre-training, you can train the model on 8 GPUs. We recommend more GPUs (e.g., 32 GPUs) for pre-training with all three datasets due to the large amount of data. To do pre-training, run the following script:
bash train_ssl.shThe loss in the pre-training phase decays from around 20 to 1 in a normal setting.
- Support Argo pre-training
- support Waymo pre-training
In our paper, we conducted experiments over four open-sourced motion prediction models and the code is based on QCNet. If you are interested in the code of other models, feel free to contact with kmzy99 at gmail dot com.
If you find our repo or paper useful, please cite us as:
@inproceedings{
zhou2025smartpretrain,
title={SmartPretrain: Model-Agnostic and Dataset-Agnostic Representation Learning for Motion Prediction},
author={Yang Zhou and Hao Shao and Letian Wang and Steven L. Waslander and Hongsheng Li and Yu Liu},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=Bmzv2Gch9v}
}We sincerely thank Zikang Zhou for providing the wonderful QCNet codebase.
All code within this repository is under Apache License 2.0.



