CenterNet有两个,本文的CenterNet对应的论文是:Objects as Points
对应Github地址:xingyizhou/CenterNet
其实Win10安装过程和Ubuntu方法差不多的,本文主要说说本人在Win10上安装过程中需要注意的地方。
Ubuntu版本点击这里:【目标检测】Ubuntu16.04+RTX2070+CUDA10+pytorch1.1搭建CenterNet环境
本电脑环境为:
Win10
GPU TITAN RTX
GPU驱动 430.86
CUDA 10.0.130
CUDNN 7.5.0
python 3.6.9
pytorch 1.1.0
torchvision 0.3.0
CUDA下载网址:CUDA Toolkit 10.0 Archive
CUDANN下载网址:cuDNN Archive
其实CUDNN只要和CUDA是对应的、不要太旧就可以了,本人选择的是Download cuDNN v7.5.0 (Feb 21, 2019), for CUDA 10.0
版本
安装CUDA和CUDNN过程网上很多,在这里就不赘述了。需要注意的是,安装完毕后,记得验证下是不是真的安装成功了。
验证CUDA
ctrl+r
,输出cmd
进入命令行,输入:
nvcc -V
正常情况下是会显示CUDA版本为10.0.130
验证CUDNN
进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
,打开cudnn.h
文件,搜索CUDNN_MAJOR
。
正常情况下文件会包含下列内容,也就是版本号7.5.0:
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 0
参考CenterNet环境配置(Win10+Pytorch1.2.0+Cuda10+VS2017)
可以在命令末尾加上-i 国内下载源地址
,例如:
pip install -r requirements.txt -i https://pypi.douban.com/simple/
(1)阿里云:http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣:https://pypi.douban.com/simple/
(3)清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple/
采用whl安装方法:whl下载地址
下载torch-1.1.0-cp36-cp36m-win_amd64.whl
和torchvision-0.3.0-cp36-cp36m-win_amd64.whl
然后进入到下载地址,在cmd命令行窗口中输入
pip install torch-1.1.0-cp36-cp36m-win_amd64.whl
pip install torchvision-0.3.0-cp36-cp36m-win_amd64.whl
然后输入pip list
,查看是否有torch和torchvision
此问题对应issue:Train error in voc-style dataset #178
修改main.py
第48行,num_workers=1
改为num_workers=0
val_loader = torch.utils.data.DataLoader(
Dataset(opt, 'val'),
batch_size=1,
shuffle=False,
num_workers=0, # 改这一行
pin_memory=True
)
原因在于你忘了安装cocoapi,运行下面的指令安装
git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
python setup.py install --user
注意文件地址要改成你自己的!
p.s. 如果编译出错的话,将setup.py
中的extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]
注释掉,即:
# extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99']
这个编译错误在编译NMS的时候也会遇到,请看下面的第八。
因为你之前编译NMS失败了,在CenterNet\src\lib\external
中注释setup.py
文件中下面的代码(就是在前面加个#)
# extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]
再重新编译
python setup.py build_ext --inplace
p.s. 在Ubuntu上能够跑通的代码放在Win10是跑不通,因为有一些文件或者库需要在Win10上重新安装
p.s. 一般在Windows上编译python setup.py
报错时,大多数情况下注释extra_compile_args
可以解决问题
git clone https://github.com/CharlesShang/DCNv2
CenterNet\src\lib\models\networks\DCNv2
文件夹CenterNet\src\lib\models\networks\DCNv2\src\cuda\dcn_v2_cuda.cu
,改成如下形式// extern THCState *state; // 注释该行
THCState *state = at::globalContext().lazyInitCUDA(); // 添加该行
cd CenterNet\src\lib\models\networks\DCNv2
make.sh