(B1)CenterNet复现(成功!!!)环境配置2080-pytorch0.4.1-cuda9.2(xingyizhou)

说明文档

这个代码有点邪门,使用的torch、cuda、显卡版本都有限制。配环境有毒,怼着torch低版本去找合适的cuda、显卡,离谱= =

最终成功版本:torch0.4.1 + cuda9.2.148 + 显卡2080ti

  • 第一次知道显卡版本过高也不行= =。开始在3090上试图复现,整了一天到demo运行后报错:CUDA kernel failed : no kernel image is available for execution on the device。检索到的原因大意是:显卡3090算力8.6,而cuda9.2不支持这么高的算力

  • 试图改torch+cuda版本又会报另一个错(忘记内容,反正不好解决,如果你只有3090显卡,bro加油,期待你解决这部分问题),最终没办法换到2080ti,整了一天搞定!

复现过程遇到的要点问题本文都有记录。对于没有提到的内容,那就积极使用检索工具吧。如有问题欢迎留言/私信。

进展

11.16:发现一个版本更高的博客,暂时不去尝试,链接
12.06:尝试后发现这个小哥的方法真能解决问题,大概率可以工作,配置难度 ⬇
12.09:最终还是回到3090上实验,(B2)CenterNet环境配置-3090-pytorch1.9-cuda11.1(xingyizhou)

配置过程参考资料
github代码链接 (官方代码)
安装步骤的install.md

0、创建虚拟环境

conda create --name CenterNet python=3.6
conda activate CenterNet
conda install pytorch=0.4.1 cuda92 -c pytorch

说明

1、安装torch的代码从原链接的 conda install pytorch=0.4.1 torchvision -c pytorch 改为此处的 conda install pytorch=0.4.1 cuda92 -c pytorch

2、配置好torch包之后,打开 ~/anaconda3/envs/CenterNet/lib/python3.6/site-packages/torch/nn/functional.py 文件,将py文件的第 1254行的torch.backends.cudnn.enabled 改成 False ,没看有什么影响,但反正安装步骤文档这么写就做了。
——[review]上述代码功能是关闭 cudnn 加速模块,一般来说关闭后深度学习计算速度会变慢,但我没有实验验证过。


1、安装COCOAPI

# COCOAPI=/path/to/clone/cocoapi  我是直接放在代码下的 data/目录中
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
make
python setup.py install --user

2、代码下载&编译

git clone https://github.com/xingyizhou/CenterNet
cd CenterNet
pip install -r requirements.txt
cd src/lib/models/networks/DCNv2
./make.sh

2.1 代码编译出错

如下图所示,原因是环境中cuda没有配置好
在这里插入图片描述

1、查看linux中的cuda安装位置及版本

ls -l /usr/local | grep cuda

2、因为我用的 shell 是 zsh 所以配置 zsh,反之配置 bash

vim ~/.zshrc

3、zsh中添加路径

export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH

4、重新加载zsh

source ~/.zshrc

再次编译,成功!!


3、运行代码

下载pth文件

说明
3.1的问题如果前面环境配置配好了就不会遇到
3.2就属于数据加载的问题

3.1 出错:xxx.so: undefined symbol: __cudaRegisterFatB inaryEnd

1、cuda和torch版本不匹配,一开始试图避免配置 torch 0.4.1 的环境,但发现不可避免,配置torch0.4.1+cuda9.2

conda install pytorch=0.4.1 cuda92 -c pytorch

2、验证是否配置成功torch和cuda版本

python -c "import torch;print(torch.__version__)"  # 查看torch版本
python -c "import torch;print(torch.version.cuda)"  # 查看cuda版本

超赞!成功!!

3.2 FileNotFoundError: [Errno 2] No such file or directory: ‘/home/workspace/wenqianli/CenterNet-master/src/lib/…/…/data/coco/annotations/instances_val2017.json’

找不到数据集,下载数据+创建软链接

1、COCO数据集下载代码

2、创建数据集软链接

ln -s source_path goal_path

3、验证demo是不是可以跑通

cd CenterNet-master/src
python main.py ctdet --exp_id coco_resdcn18 --arch resdcn_18 --batch_size 114 --master_batch 18 --lr 5e-4 --gpus 0,1,2,3 --num_workers 16

跑通~~~

文末说明

接下来就要去改用自己数据集&理解代码啦,也许这会是个系列,记录下学习过程

11.11-11.12:糟心的3090测试,失败

11.13:2080ti 测试成功,开始整理自己的数据集用于测试

如有问题欢迎留言/私信。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值