Cuidado
O bucket Amazon AWS S3 argoai-argoverse
que contém muitos dos arquivos de demonstração foi comprometido. Os arquivos podem estar corrompidos.
Os arquivos que fazem referência a esse bucket do S3 foram modificados e todas as recuperações desse bucket são comentadas. Por favor, proceda com cautela.
Papel | Apresentações | Página do Projeto | Vídeo Oral ECCV 2020
Ming Liang, Bin Yang, Rui Hu, Yun Chen, Renjie Liao, Song Feng, Raquel Urtasun
Classifique-se em 1º lugar na competição de previsão de movimento Argoverse
Você precisa instalar os seguintes pacotes para executar o código:
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
mpi4py
para treinamento distribuído. Horovod é mais eficiente que nn.DataParallel
para treinamento multi-gpu e mais fácil de usar que nn.DistributedDataParallel
. Antes de instalar o horovod, certifique-se de ter o openmpi instalado ( 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
se você tiver algum problema em relação ao horovod, consulte o horovod github
Você pode verificar os scripts e baixar os dados processados em vez de executá-los por horas.
bash get_data.sh
# 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
São necessárias 8 horas para treinar o modelo em 4 GPUS (RTX 5000) com horovod.
Também fornecemos log de treinamento para você depurar.
python train.py -m lanegcn
Você pode baixar o modelo pré-treinado aqui
python test.py -m lanegcn --weight=/absolute/path/to/36.000.ckpt --split=test
python test.py -m lanegcn --weight=36.000.ckpt --split=val
Resultados qualitativos
Rótulos (Vermelho) Previsão (Verde) Outros agentes (Azul)
Resultados quantitativos
verifique LICENÇA
Se você usar nosso código-fonte, considere citar o seguinte:
@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 }
}
Se você tiver alguma dúvida sobre o código, abra um problema e @chenyuntc.