win10配置CenterNet环境

最近在复现CenterNet时,碰到很多问题,花费了两天多的时间,但最后都一一解决了

一、准备

1.环境

Window10+VS2019+CUDA11.1+Python3.8+Pytorch1.8.0+Anaconda3+Pycharm

显卡:GTX2060;

2.论文

论文原文:https://arxiv.org/pdf/1904.07850.pdf(Objects as Points)

代码:https://github.com/xingyizhou/CenterNet

二、配置环境

下面所有的命令行都是在Pcharm中的Terminal中进行,主要执行的文件的环境就好

1.配置anaconda3+python3.8

anaconda安装

conda create -n CenterNet python=3.6  # 
activate CenterNet  # 切换环境至CenterNet

这里安装好anaconda3+python3.8后,主要查看是否配置好环境变量。

2.安装CUDA和CUDANN

在选择CUDA时一定要考虑好Pytorch、CUDA、驱动和显卡之间的版本关系,

CUDA安装及配置

3.安装Pytorch

在CenterNet环境中

conda install pytorch==1.8.0 torchvision==0.9.0

安装好后,运行下列代码,查看安装是否完成

import torch
print(torch.version.cuda)
print(torch.__version__)

print(torch.cuda.is_available()) #查看cuda是否可用

print(torch.cuda.device_count()) #查看可行的cuda数目

win10配置CenterNet环境_第1张图片

4.安装CenterNet必备库

在CenterNet环境中

pip install -r requirements.txt

5.安装Visual Studio 2019

VS2019安装及配置

这个教程只看安装部分就好,安装好要查看是否配置好环境变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dt7bb1RI-1660014880100)(C:/Users/13611/AppData/Roaming/Typora/typora-user-images/image-20220809110343916.png)]

三、编译NMS

cd CenterNet\src\lib\external
python setup.py build_ext --inplace

这里有问题出现:在编译NMS时,**cl: 命令行error D8021 :无效的数值参数“/Wno-cpp”请看踩坑2

四、编译DCNv2

先在文件夹中删除自带的DCNv2,在下面这个文件夹下,直接删除就好,然后在github上下载,不能克隆,否则会出现版本错误。不能使用一下命令行,切记,要下载替换!!!
在这个网址中找到pytoch匹配的版本:

https://github.com/lbin/DCNv2.git

下载在下面文件中,替换DCNv2

CenterNet\src\lib\models\network

cd CenterNet\src\lib\models\networks
git clone https://github.com/lbin/DCNv2.git
cd DCNv2

然后编译:

python setup.py build develop

win10配置CenterNet环境_第2张图片

五、运行dome.py

ctdet_coco_dla_2x.pth下载

cd CenterNet/src
python demo.py ctdet --demo ../images/17790319373_bd19b24cfc_k.jpg --load_model ../models/ctdet_coco_dla_2x.pth --debug 2
python demo.py multi_pose --demo ../images/17790319373_bd19b24cfc_k.jpg --load_model ../models/multi_pose_dla_3x.pth --debug 2

运行过程中会在线下载ctdet_coco_dla_2x.pth,multi_pose_dla_3x.pth文件,可能会出现HTTP request请求超时报错。这里的两个文件,第一个是物体检测的,第二个是人体姿态检测的。

解决办法:事先下载好以上两个文件,放入项目models文件夹下.

若已经将文件下载至本地后,运行demo.py还是会在线下载模型,注释pose_dla_dcn文件中的第313,314行代码:

win10配置CenterNet环境_第3张图片

到这里就运行成功了。

六、踩坑

1.在编译DCNv2时,RuntimeError: Error compiling objects for extension

python setup.py build develop

出现:RuntimeError: Error compiling objects for extension

把DCNv2文件换为:

https://github.com/lbin/DCNv2/tree/pytorch_1.9

里面的pytorch可以在master中更改版本,我用的是pytorch1.8,这里pytorch1.9也可以用。

2.在编译NMS时,cl: 命令行error D8021 :无效的数值参数“/Wno-cpp”

win10配置CenterNet环境_第4张图片

这一行代码注释掉

3.在编译DCNv2时,出现lc.exe有关问题

这里请查看VS2019的环境变量是否配置好,重启一下。

4.在编译DCV2, DCNv2编译过程报错:error: identifier “THCudaBlas_SgemmBatched” is undefined

在这里插入图片描述

pytorch和DCNv2的版本不对应,下载和pytorch对应的版本,查看第四步是否是下载替换的,如果是clone的网址,版本会不对

你可能感兴趣的:(深度学习,python,pytorch,目标检测)