深度学习环境安装与FastBEV/CRN模型验证
最近做雷达视觉前融合算法,在笔记本/服务器搭建深度学习环境,并运行模型验证,这里记录下过程和经验教训。
1、windows下环境配置
笔记本是联想拯救者Y7000P,有一颗4060的GPU,8G显存,可以用来做基础验证。
第1步,下载安装visual studio 2017专业版,可以某宝上购买密钥,购买后会给一个下载地址,安装完软件以后,打开软件,在帮助菜单找到,注册产品,输入密钥即可激活。
第3步,安装显卡驱动,在命令提示符中输入nvidia-smi可以看到gpu信息,这里系统自带,不需要安装:

第4步,下载cuda11.8并安装,安装成功后nvcc -V有显示

安装过程可参考下面的博文:超详细win安装深度学习环境
https://blog.csdn.net/imok1234567/article/details/140251769?ops_request_misc=%257B%2522request%255Fid%2522%253A%25221a782fed2be5bbb3ef01aa4ea12aceca%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=1a782fed2be5bbb3ef01aa4ea12aceca&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-140251769-null-null.142^v102^pc_search_result_base2&utm_term=windows%E5%AE%89%E8%A3%85cuda11.8&spm=1018.2226.3001.4187 第5步,打开anaconda,使用命令行创建深度学习环境rcbev,配置完成后进入工程目录,运行conda activate rcbev进行激活,最后使用命令得到推理结果:
python bevdepth\exps\nuscenes\mv\bev_depth_lss_r50_256x704_128x128_24e_2key.py --ckpt_path outputs\bev_depth_lss_r50_256x704_128x128_24e_2key\lightning_logs\version_0\checkpoints\epoch=23-step=10560.ckpt -e -b 1 --gpus 1
结果生成在viz文件夹,需要删除才会生成新的。
第6步,配置环境验证FastBEV进行配置,出现版本不兼容问题,无法解决,因此放弃。
2、ubuntu20.04下环境配置
第1步,重装系统,参考如下博客:
超详细安装Ubuntu系统
https://blog.csdn.net/qq_42108414/article/details/139417686
安装完成后,可以正常运行系统,但开机弹出ACPI错误,主要影响电源使用,电脑不能睡眠,否则无法启动,只能开机、关机。
尝试多次重装系统,包括使用Ultra ISO制作引导盘、使用RUFUS制作引导盘,更新ubuntu系统,修改系统命令等,均无法解决ACPI问题,最终放弃。
电脑只能处于开机、锁定和关机状态,不能合上屏幕,也不能挂起,否则不能正常使用。
然后安装cuda11.8,因为4060的最低版本是这个,安装可参考如下:
安装cuda11.8
https://blog.csdn.net/2201_75663877/article/details/145207222?ops_request_misc=elastic_search_misc&request_id=c14981a808c7727afa483409f44c4115&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-145207222-null-null.142^v102^pc_search_result_base9&utm_term=cuda%E5%AE%89%E8%A3%8511.8&spm=1018.2226.3001.4187 cuda下载链接为:https://developer.nvidia.com/cuda-toolkit-archive
第3步,安装anaconda,配置虚拟环境,这个比较简单,需要注意添加环境变量,如果有多个版本也可用如下方式进行切换:

3、FastBEV复现
代码复现可以参考这篇博文,写得很详细。
FastBEV代码复现
https://blog.csdn.net/qq_41920323/article/details/144486606?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-144486606-blog-129190315.235^v43^control&spm=1001.2101.3001.4242.1&utm_relevant_index=4 本人实践时安装的是cuda11.8,但创建cuda虚拟环境后安装的是一样的cuda11.3,一样能正常使用。
有几处不一样的点,列举如下:
第1点,复现生成数据时,运行
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes --workers 10 --version v1.0-mini
出现错误,这里需要安装ipdb库
第2点,训练时缺少timm库,需要安装
第3点,会报错,TypeError: FormatCode() got an unexpected keyword argument 'verify',解决方法参考下面第一个,成功运行训练
4、LSS复现
环境安装参考第3节FastBEV复现的内容,conda、python、torch可以一样,只是因为FastBEV中安装了额外的库,会与LSS冲突,所以需要重新建一个,并不需要下载新的cuda和torch。 但需要安装依赖包,下载源代码和数据,按照github的操作执行训练、推理等任务即可
LSS代码仓
https://github.com/nv-tlabs/lift-splat-shoot
安装好环境后,主要是两个命令,评估性能用:
python main.py eval_model_iou mini --modelf=./model525000.pt --dataroot=./data/nuscenes --gpuid=0
显示结果用:
python main.py viz_model_preds mini --modelf=./model525000.pt --dataroot=./data/nuscenes --map_folder=./data/nuscenes/mini --gpuid=0
5、升级驱动和cuda版本
由于服务器H20的cuda版本为12.6,因此将cuda11.8升级,同时驱动不支持也要卸载重装,参考如下博文:
Ubuntu上卸载旧驱动重新安装NVIDIA驱动
https://blog.csdn.net/ou1531037815/article/details/143563986?ops_request_misc=&request_id=&biz_id=102&utm_term=ubuntu%E4%B8%8A%E5%8D%B8%E8%BD%BD%E6%97%A7%E9%A9%B1%E5%8A%A8&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-143563986.nonecase&spm=1018.2226.3001.4187 测试发现LSS可以直接运行,FastBEV出现版本兼容问题,python3.8和cuda12.6不兼容。
然后从MMCV官网找到,mmcv目前只支持python3.10,cuda到11.8,实际测试也是有问题,因此最终决定放弃,使用cuda11.8。

6、CRN复现
CRN模型目前没有相关博文,可参考原始代码库: CRN代码仓
https://github.com/youngskkim/CRN
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
这里尝试把torch和cuda版本修改为FastBEV一样,可以正常安装,后续没有问题,也即
pip install torch==1.10.0+cu113 -f https://download.pytorch.org/whl/torch_stable.html
pip install torchvision==0.11.0+cu113 -f https://download.pytorch.org/whl/torch_stable.html
后续注意几点:
第1点,使用mini数据集,将mini改为trainval,如下面所示:
CRN
├── data
│ ├── nuScenes
│ │ ├── nuscenes_infos_train.pkl
│ │ ├── nuscenes_infos_val.pkl
│ │ ├── maps
│ │ ├── samples
│ │ ├── sweeps
| | ├── depth_gt
| | ├── radar_bev_filter # temporary folder, safe to delete
| | ├── radar_pv_filter
| | ├── v1.0-trainval
第2点,注意第4步下载雷达数据,否则会报错
第3点,训练和评估时,-b表示batch_size,--gpus表示gpu数量,这里都设置为1,4060显存8G,如果有其他应用占用可以先关掉,否则可能会因为显存不够运行失败
python [EXP_PATH] --amp_backend native -b 4 --gpus 4
最后调用显示命令,可以看到效果不行,需要大量训练

更多推荐
所有评论(0)