SparseDrive的开源代码
https://github.com/swc-17/SparseDrive
环境主要沿用的sparse4dv3的环境,在我的另一篇博客里有说明:
Sparse4Dv3 代码复现_sparse4d复现-CSDN博客
因此想要跑SparseDrive只需要再多安装flash-attention这个包就可以了
直接pip安装会报错:
但是只需要把flash-attn的安装whl文件抽取出来就可以了:
Guessing wheel URL: https://github.com/Dao-AILab/flash-attention/releases/download/v2.3.2/flash_attn-2.3.2+cu116torch1.13cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
下载后上传到服务器:
然后再pip install /data/zhz/flash_attn-2.3.2+cu116torch1.13cxx11abiFALSE-cp38-cp38-linux_x86_64.whl就好了:
pip install prettytable==3.7.0
准备数据集
ln -s /data/zhz/code/Sparse4D-v3/data/nuscenes /data/zhz/projects/SparseDrive-20241015/data/nuscenes
打包数据集的元信息和标签,并将所需的pkl文件生成到data/infos。请注意,我们还在data_converter中生成map_annos,默认roi_size为(30,60),如果你想要一个不同的范围,你可以在tools/data_converter/nuscenes_converter.py中修改roi_sze。
sh scripts/create_data.sh
这里报错了,那还是重新开一个环境吧:
配置环境
检查路径指向11.7:
conda create -n sparsedrive python=3.8 -y
conda activate sparsedrive
sparsedrive_path="path/to/sparsedrive"
cd ${sparsedrive_path}
pip3 install --upgrade pip
pip3 install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116
pip install mmcv_full-1.7.1-cp38-cp38-manylinux1_x86_64.whl(特别注意,要去下载cu116的mmcv-full!!!)
https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
pip install pyquaternion==0.9.9
pip install nuscenes-devkit==1.1.10 motmetrics==1.1.3 prettytable==3.7.0
pip install mmdet==2.28.2
pip install /data/zhz/flash_attn-2.3.2+cu116torch1.13cxx11abiFALSE-cp38-cp38-linux_x86_64.whl
还要在nuscenes上下载数据:(map里面的expansion)
上传,解压:
sh scripts/create_data.sh
然后多出来:
通过K-means生成锚点
生成的锚点保存到data/kmeans中,可以在vis/kmeans中将其可视化。
修改路径:
sh scripts/kmeans.sh
除了最后一个plan的npy无法生成,其他都生成好了:
因为是调试,所以其实可以随便生成一个kmeans_plan_6.npy
各个模块的维度大小:
准备权重:
注释掉‘trainval’:
如果遇到了路径导入的问题:
手动添加路径:
pip install future tensorboard
stage1调试
vscode的调试launch.json代码:
{
"name": "train_stage1",
"type": "debugpy",
"request": "launch",
"program": "/data/zhz/projects/SparseDrive-20241015/tools/train.py",
"args": ["projects/configs/sparsedrive_small_stage1.py","--gpus","1","--deterministic"],
"console": "integratedTerminal"
},
如果要单卡调试记得要把num_gpus改成1,batch_size也要调小一点(我设的是4)
开始运行:
打印出的信息:
这样就是跑通了
stage2调试
stage2训练之前得要有一个stage1的权重
可以在这里下载:
下载好上传后记得修改配置文件中权重文件的路径:
同样的,stage2的配置文件也得把gpus改成1,total_batch_size改小(我改成了 4)
stage2的调试代码:
{
"name": "train_stage2",
"type": "debugpy",
"request": "launch",
"program": "/data/zhz/projects/SparseDrive-20241015/tools/train.py",
"args": ["projects/configs/sparsedrive_small_stage2.py","--gpus","1","--deterministic"],
"console": "integratedTerminal"
},
显存占用:
stage2现在也跑通了:
pip install pandas==1.5.3
最后生成的文件:
标签:跑通,SparseDrive,cp38,install,pip,stage2,data,调试 From: https://blog.csdn.net/m0_60857098/article/details/142994811