All Projects → uber-research → Lanegcn

uber-research / Lanegcn

Licence: other
[ECCV2020 Oral] Learning Lane Graph Representations for Motion Forecasting

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lanegcn

Conformer
Implementation of the convolutional module from the Conformer paper, for use in Transformers
Stars: ✭ 103 (-6.36%)
Mutual labels:  artificial-intelligence
Awesome Ai Residency
List of AI Residency Programs
Stars: ✭ 1,653 (+1402.73%)
Mutual labels:  artificial-intelligence
Enterprise
🦄 The Enterprise™ programming language
Stars: ✭ 1,493 (+1257.27%)
Mutual labels:  artificial-intelligence
Pose Interpreter Networks
Real-Time Object Pose Estimation with Pose Interpreter Networks (IROS 2018)
Stars: ✭ 104 (-5.45%)
Mutual labels:  artificial-intelligence
Convolutional Network
A convolutional neural network from scratch
Stars: ✭ 105 (-4.55%)
Mutual labels:  artificial-intelligence
Unet Stylegan2
A Pytorch implementation of Stylegan2 with UNet Discriminator
Stars: ✭ 106 (-3.64%)
Mutual labels:  artificial-intelligence
Milestones
The Automagic Project Planner
Stars: ✭ 102 (-7.27%)
Mutual labels:  artificial-intelligence
Xlnet extension tf
XLNet Extension in TensorFlow
Stars: ✭ 109 (-0.91%)
Mutual labels:  artificial-intelligence
Reformer Pytorch
Reformer, the efficient Transformer, in Pytorch
Stars: ✭ 1,644 (+1394.55%)
Mutual labels:  artificial-intelligence
Ml Ai Experiments
All my experiments with AI and ML
Stars: ✭ 107 (-2.73%)
Mutual labels:  artificial-intelligence
Reinforcement Learning Cheat Sheet
Reinforcement Learning Cheat Sheet
Stars: ✭ 104 (-5.45%)
Mutual labels:  artificial-intelligence
Ios ml
List of Machine Learning, AI, NLP solutions for iOS. The most recent version of this article can be found on my blog.
Stars: ✭ 1,409 (+1180.91%)
Mutual labels:  artificial-intelligence
Susi linux
Hardware for SUSI AI https://susi.ai
Stars: ✭ 1,527 (+1288.18%)
Mutual labels:  artificial-intelligence
3d Medical Segmentation Gan
3D Liver Segmentation with GAN
Stars: ✭ 103 (-6.36%)
Mutual labels:  artificial-intelligence
Lambda Networks
Implementation of LambdaNetworks, a new approach to image recognition that reaches SOTA with less compute
Stars: ✭ 1,497 (+1260.91%)
Mutual labels:  artificial-intelligence
Talos
Hyperparameter Optimization for TensorFlow, Keras and PyTorch
Stars: ✭ 1,382 (+1156.36%)
Mutual labels:  artificial-intelligence
Cnn Yelp Challenge 2016 Sentiment Classification
IPython Notebook for training a word-level Convolutional Neural Network model for sentiment classification task on Yelp-Challenge-2016 review dataset.
Stars: ✭ 106 (-3.64%)
Mutual labels:  artificial-intelligence
Reflexityai
Provide a basic framework to build an Utility IA in Unity using the xNode editor of Siccity
Stars: ✭ 109 (-0.91%)
Mutual labels:  artificial-intelligence
Ai Expert Roadmap
Roadmap to becoming an Artificial Intelligence Expert in 2021
Stars: ✭ 15,441 (+13937.27%)
Mutual labels:  artificial-intelligence
Texas Hold Em Ai
Research on Texas Hold'em AI
Stars: ✭ 107 (-2.73%)
Mutual labels:  artificial-intelligence

LaneGCN: Learning Lane Graph Representations for Motion Forecasting

Paper | Slides | Project Page | ECCV 2020 Oral Video

Ming Liang, Bin Yang, Rui Hu, Yun Chen, Renjie Liao, Song Feng, Raquel Urtasun

Rank 1st in Argoverse Motion Forecasting Competition

img

Table of Contents

Install Dependancy

You need to install following packages in order to run the code:

  1. Following is an example of create environment from scratch with anaconda, you can use pip as well:
conda create --name lanegcn python=3.7
conda activate lanegcn
conda install pytorch==1.5.1 torchvision cudatoolkit=10.2 -c pytorch # pytorch=1.5.1 when the code is release

# install argoverse api
pip install  git+https://github.com/argoai/argoverse-api.git

# install others dependancy
pip install scikit-image IPython tqdm ipdb
  1. [Optional but Recommended] Install Horovod and mpi4py for distributed training. Horovod is more efficient than nn.DataParallel for mulit-gpu training and easier to use than nn.DistributedDataParallel. Before install horovod, make sure you have openmpi installed (sudo apt-get install -y openmpi-bin).
pip install mpi4py

# install horovod with GPU support, this may take a while
HOROVOD_GPU_OPERATIONS=NCCL pip install horovod==0.19.4

# if you have only SINGLE GPU, install for code-compatibility
pip install horovod

if you have any issues regarding horovod, please refer to horovod github

Prepare Data: Argoverse Motion Forecasting

You could check the scripts, and download the processed data instead of running it for hours.

bash get_data.sh

Training

[Recommended] Training with Horovod-multigpus

# single node with 4 gpus
horovodrun -np 4 -H localhost:4 python /path/to/train.py -m lanegcn

# 2 nodes, each with 4 gpus
horovodrun -np 8 -H serverA:4,serverB:4 python /path/to/train.py -m lanegcn

It takes 8 hours to train the model in 4 GPUS (RTX 5000) with horovod.

We also supply training log for you to debug.

[Recommended] Training/Debug with Horovod in single gpu

python train.py -m lanegcn

Testing

You can download pretrained model from here

Inference test set for submission

python test.py -m lanegcn --weight=/absolute/path/to/36.000.ckpt --split=test

Inference validation set for metrics

python test.py -m lanegcn --weight=36.000.ckpt --split=val

Qualitative results

Labels(Red) Prediction (Green) Other agents(Blue)


Quantitative results img

Licence

check LICENSE

Citation

If you use our source code, please consider citing the following:

@InProceedings{liang2020learning,
  title={Learning lane graph representations for motion forecasting},
  author={Liang, Ming and Yang, Bin and Hu, Rui and Chen, Yun and Liao, Renjie and Feng, Song and Urtasun, Raquel},
  booktitle = {ECCV},
  year={2020}
}

If you have any questions regarding the code, please open an issue and @chenyuntc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].