CenterNet代码运行
一、配置环境——pyenv下的python 3.7(与Frustum Convnet为同一环境)
#使用pyenv创建python3.7.4环境
pyenv install 3.7.4
#设置该目录下Python版本
cd CenterNet
pyenv local 3.7.4
由于和Frustum Convnet为同一环境,故torch版本过高,遇到下述问题:
- 在
CenterNet/src/lib/models/networks/DCNv2
下运行sh ./make.sh
,出现ImportError: torch.utils.ffi is deprecated.
:
找到原语句from torch.utils.ffi import create_extension
并改为from torch.utils.cpp_extension import BuildExtension
,然后将下面的调用ffi = create_extension(...)
改为ffi = BuildExtension(...)
。 - 使用上述’1‘的方法后,仍然无法使用,找到方法CenterNet works ok on Pytorch 1.1,具体步骤如下:
# 一、
cd CenterNet/src/lib/external
#然后打开CenterNet/src/lib/external/setup.py
#注释掉语句:
# extra_compile_args=["-Wno-cpp", "-Wno-unused-function"]
python setup.py build_ext --inplace
# 二、
cd CenterNet/src/lib/models/networks
rm -rf DCNv2
git clone https://github.com/CharlesShang/DCNv2
cd DCNv2
#然后打开该路径下的src/cuda/dcn_v2_cuda.cu
#将语句:
# extern THCState *state;
#注释掉并改为:
# THCState *state = at::globalContext().lazyInitCUDA();
python setup.py build develop
即实现了CenterNet works ok on Pytorch 1.1
二、安装一些包并组织data目录
#requirements
pip install progress
三、下载模型
在ModelZoo里下载了ctdet_coco_dla_2x模型,并保存在了CenterNet/models/ctdet_coco_dla_2x.pth
。
未完待续…