其他分享
首页 > 其他分享> > TraDes代码复现

TraDes代码复现

作者:互联网

TraDes代码复现

2022/3/31 19:54:39 by zcb 仅以此记录

环境

代码下载

我直接去作者github上下载源码,直接上链接: https://github.com/JialianW/TraDeS

当然我也弄了一个百度网盘分享:

链接:https://pan.baidu.com/s/1dpTfJbAy8jNnZDPcpUUdKQ 提取码:ustb --来自百度网盘超级会员V2的分享

环境搭建

1、新建TraDes环境并激活,我的python版本是3.7:

2、Install PyTorch

论文的环境是pytorch1.3 cuda10.0,然后如果按照这个pytorch安装,接下来可能会出现DCNv2的编译问题。踩完这个坑后,我根据我的显卡是3090,能支持cuda11,以及配套的DCNv2 pytorch1.7版本比较容易找到,我选择安装pytorch1.7.1。

官网命令如下:

3、Install COCOAPI

论文需要cocoapi数据集接口,命令如下:

这个命令的问题之一是,可能会出现联网失败,所以可能多试验几次就会好吧。

4、Install the requirements

requirements.txt的内容如下:

如果直接pip install -r requirements.txt,应该是会安装失败的,我是没成功过。在此我贴上我各个包的版本:

我在使用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的分享

步骤:

直接编译一般会报错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。

写在最后

如有疑问或者文中出错,可以交流一下。

标签:DCNv2,TraDes,11.0,复现,https,com,代码,cuda
来源: https://www.cnblogs.com/zcbustb/p/16084161.html