首页 > 其他分享 >SparseDrive 代码环境配置和调试跑通

SparseDrive 代码环境配置和调试跑通

时间:2024-10-17 16:20:38浏览次数:9  
标签:跑通 SparseDrive cp38 install pip stage2 data 调试

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

相关文章

  • jsp东哈驾校管理系统的设计与实现dy35m(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学员,教练,报名登记,退学登记,练车预约,考试预约,报考信息,报考反馈,成绩信息开题报告内容一、项目背景随着汽车保有量的不断增加,驾驶培训行业迎来了巨大的发......
  • jsp订餐管理系统的设计与实现3v4h1--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,厢房信息,厢房预约,菜品分类,特色美食,员工信息,营业统计开题报告内容一、项目背景随着餐饮行业的数字化转型,订餐管理系统成为提升餐厅运营效率、优化顾......
  • jsp动物园管理系统的设计与实现zoejc程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表饲养员,后勤人员,动物类型,动物信息,食谱定制,物资信息,物资入库,排班申请,排班申请2,工资信息开题报告内容一、研究背景与意义随着城市化进程的加快和公众对......
  • Android15音频进阶之4种调试线程死锁利器(八十九)
    简介:CSDN博客专家、《Android系统多媒体进阶实战》一书作者新书发布:《Android系统多媒体进阶实战》......
  • 在调试网页 JavaScript 脚本时,遇到 Error: Incorrect contents fetched, please reloa
    在调试网页JavaScript脚本时,遇到Error:Incorrectcontentsfetched,pleasereload这样的错误,通常表明网页内容的获取过程出现了问题。这种错误一般与页面加载、缓存管理、网络请求、脚本执行顺序等因素密切相关。为了更详细地分析问题,处理并解决这一错误,下面将从多个......
  • C语言【调试】(个人笔记版)
    调试前言一、Bug二、调试工具1.DeBug2.Release三、调试快捷键1、断点四、调试时查看程序的当前信息1、查看临时变量2、查看内存3、查看调用堆栈、汇编、寄存器总结前言这篇文章大都是我的个人笔记:调试在日常程序设计中是很重要的。调试说白了就是为了解决代码的......
  • 探索 Python 的测试与调试技巧
    测试和调试是开发软件时至关重要的步骤,它们可以确保代码的正确性、稳定性和性能。Python提供了强大的工具来简化测试和调试流程。在本篇博客中,我们将讨论Python中的单元测试、pytest 测试框架、调试与日志记录,以及性能优化与剖析工具的使用。10.1单元测试与 unittest单......
  • AOT漫谈专题(第五篇): 如何劫持.NET AOT编译器 进行源码级调试
    一:背景1.讲故事上篇聊到了C#程序编译成Native代码的宏观过程,有粉丝朋友提了一个问题,能不能在dotnetpublish发布的过程中对AOT编译器拦截进行源码级调试,这是一个好问题,也是深度研究的必经之路,这篇我们就来分享下吧。二:托管和非托管调试器1.调试器介绍相信大家现在都知......
  • QT学习第一战串口调试助手(3)实现收发数据以及显示
    前情概述在之前的文章中我们以及完成了串口调试助手页面的制作,同时在打开串口按键的槽函数中实现串口的打开功能本章节将注重于实现在串口打开后数据的收发问题以及一系列优化本章流程准备工作 1.在头文件中定义以下变量privateslots:voidon_btnCloseorOpenSer......
  • jsp电子商务平台设计与实现4x766程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着互联网技术的不断进步,电子商务平台已成为现代商业活动的重要组成部分。它不仅打破了地域限制,为消费者提供了丰富的商品选择和便捷......