TraDes代码复现
2022/3/31 23:19:49
本文主要是介绍TraDes代码复现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
TraDes代码复现
2022/3/31 19:54:39 by zcb 仅以此记录
环境
- 显卡:RTX3090
- pytorch:1.7.1
- CUDA 11.0
代码下载
我直接去作者github上下载源码,直接上链接: https://github.com/JialianW/TraDeS
当然我也弄了一个百度网盘分享:
链接:https://pan.baidu.com/s/1dpTfJbAy8jNnZDPcpUUdKQ 提取码:ustb --来自百度网盘超级会员V2的分享
环境搭建
1、新建TraDes环境并激活,我的python版本是3.7:
- conda create --name TraDes python=3.7
- conda activate trades
2、Install PyTorch
论文的环境是pytorch1.3 cuda10.0,然后如果按照这个pytorch安装,接下来可能会出现DCNv2的编译问题。踩完这个坑后,我根据我的显卡是3090,能支持cuda11,以及配套的DCNv2 pytorch1.7版本比较容易找到,我选择安装pytorch1.7.1。
官网命令如下:
- conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
3、Install COCOAPI
论文需要cocoapi数据集接口,命令如下:
这个命令的问题之一是,可能会出现联网失败,所以可能多试验几次就会好吧。
- pip install cython; pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
4、Install the requirements
requirements.txt的内容如下:
- opencv-python
- Cython
- numba
- progress
- matplotlib
- easydict
- scipy
- pyquaternion
- pyyaml
- motmetrics==1.2.0
- nuscenes-devkit==1.1.2
- scikit-learn==0.21.0
如果直接pip install -r requirements.txt,应该是会安装失败的,我是没成功过。在此我贴上我各个包的版本:
- opencv-python 4.5.5.62
- cython 0.29.26
- progress 1.6
- matplotlib 3.5.1
- easydict 1.9
- scipy 1.7.3
- pyquaternion 0.9.9
- pyyaml 6.0
- motmetrics 1.2.0
- nuscenes-devkit 1.1.2
- scikit-learn 1.0.2
我在使用cv2包时出现过一个错误,libharfbuzz.so.0报错,博客上说可能是freetype too old 的问题,我没有root权限,因此我并没有解决这个问题,但是我重新装包为以上版本时,这个错误消失了。装包的过程中应该是不会出现什么问题的,极有可能还是版本问题。
5、DCNv2的编译
首先下载DCNv2,由于我们pytorch1.7.1,所以对应下载DCNv2 support pytorch1.7的版本。
直接上链接:https://github.com/lbin/DCNv2/tree/pytorch_1.7
当然也有百度网盘分享:
链接:https://pan.baidu.com/s/1DyJIt0J0J_6qLg99FcVZmw 提取码:ustb --来自百度网盘超级会员V2的分享
步骤:
- 根据代码要求,解压并将DCNv2文件夹放入TraDes/src/lib/model/networks/文件夹下。
- 执行sh make.sh 编译DCNv2
直接编译一般会报错compute86什么的,原因是3090显卡算力太高,解决方法如下:
在.bashrc文件配置一下环境变量:
#声明一下cuda_arch: export TORCH_CUDA_ARCH_LIST="3.5;5.0;5.2;6.0;6.1;7.0;7.5;8.0;8.0+PTX" #声明一下cuda环境变量: export PATH="/usr/local/cuda-11.0/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH" export CUDA_HOME="/usr/local/cuda-11.0"
cuda_arch这个很重要,即使编译通过了,没设置对,也会导致DCNv2代码的后续执行错误。我觉得我这个应该没毛病,可以参考一下,对应cuda11.0.
6、到此算是完成环境配置了。
在训练过程中,如果出现cuda out of memory等,可以稍加修改batch_size等,或者是其他的解决方法,这里不赘述了。
7、训练以及跑demo可以参考TraDes作者github。
写在最后
如有疑问或者文中出错,可以交流一下。
这篇关于TraDes代码复现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!