目录
一、准备
1. 论文
2. 环境
- 系统:Win10
- 显卡:GTX 1080ti
- CUDA 10.1
- cuDNN 7.6.5
- Visual Studio 2017
- Pytorch 1.4.0
- Anaconda3
二、配置环境
1. clone项目
CenterNet:
git clone https://github.com/xingyizhou/CenterNet.git
2. 配置虚拟环境
- 创建虚拟环境
conda create -n centernet python=3.6
conda activate centernet
- 安装项目依赖包
cd ./CenterNet
pip install -r requirements.txt
- 安装Pytorch 1.4.0
conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch
3. 编译DCNv2
- clone项目
git clone https://github.com/CharlesShang/DCNv2
- 原项目里的DCNv2是Pytorch 0.4.0的,所以需要将这个新下载的DCNv2替换原来的
C:\CenterNet\src\lib\models\networks\DCNv2
文件夹 - 编译DCNv2
cd C:\CenterNet\src\lib\models\networks\DCNv2
python setup.py build develop
编译成功:
4. 编译NMS
- 进入到
cd C:\CenterNet\src\lib\external
- 执行以下代码,编译NMS
python setup.py build_ext --inplace
-
注意:
若出现错误:cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
注释掉C:\CenterNet\src\lib\external
中setup.py
line10
# extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]
- 再次编译,成功!
三、运行demo
1. 下载模型
这里一共需要下载两个模型,都需要*:
ctdet_coco_dla_2x.pth放到C:\CenterNet\models\
dla34-ba72cf86.pth是运行demo.py时自动下载的,可以手动下载后放到C:\Users\<USER_NAME>\.cache\torch\checkpoints\
中
百度云链接:
https://pan.baidu.com/s/1gAyIVHL6U–IrIZolwst6A
提取码:lqo1
2. 运行demo.py
- 进入到
cd C:\CenterNet\src\
- 运行
python demo.py ctdet --demo ../images/ --load_model ../models/ctdet_coco_dla_2x.pth
出现小可爱!
- 使用
--debug 2
显示heat map
python demo.py ctdet --demo ../images/ --load_model ../models/ctdet_coco_dla_2x.pth --debug 2
完结撒花!!!
四、坑
1. 编译DCNv2出错
UserWarning: Error checking compiler version for cl: [WinError 2]
- 更改
C:\Anaconda\Install\envs\centernet_pt15\Lib\site-packages\torch\utils\
中cpp_extension.py
第233行,加’ gbk’(gbk前有空格)
- 若依然报错,建议用Pytorch 1.4.0,我用Pytorch 1.5.0 和 1.5.1编译都会出错
Error checking compiler version for cl
2. 编译NMS出错
cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
注释掉C:\CenterNet\src\lib\external
中setup.py
line10
# extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]