CenterNet:Objects as points 环境配置(Ubuntu18.04+RTX3090+CUDA11+Pytorch1.7)

论文:CenterNet : Objects as Points
论文地址:https://arxiv.org/abs/1904.07850
代码地址:https://github.com/xingyizhou/CenterNet

1 Install

按照readme文件夹的install.md操作,本文在实验环境为Ubuntu18.04 RTX3090 CUDA11,Anaconda Python3.6 Pytorch1.7。

1.1 创建虚拟环境

# 创建虚拟环境
conda create -n CenterNet python=3.6
# 激活虚拟环境
conda activate CenterNet

1.2 安装pytorch1.7

为了快速安装可先对conda换源(自行百度),换源后在官网pytorch选择对应版本的pytorch安装。
注意:换源后install链接末尾不用-c pytorch,否则会在官网下载pytorch。

conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=11.0

1.3 Clone CenterNet

git clone https://github.com/xingyizhou/CenterNet
cd CenterNet
pip install -r requirements.txt #安装所依赖的包

注意:未安装git或者网速较慢时,可以直接在github中CenterNet代码库下载代码后,执行后面的操作。

1.4 安装pycocotools

可直接使用pip命令安装,没必要git cocoapi,这样比较方便。

pip install pycocotools

1.5 编译DCNv2

由于官方代码的环境为pytorch0.4,本文实验环境为pytorch1.7,这里直接按照install.md中操作会报错(由于DCNv2对应的pytorch0.4和pytorch1.X不兼容)。需先下载最新的DCNv2:https://github.com/jinfagang/DCNv2_latest替换CenterNet/src/lib/models/networks/文件下的DCNv2文件。然后执行如下命令:

cd CenterNet/src/lib/models/networks/DCNv2
python setup.py build develop 

1.6 编译NMS

编译NMS以便多尺度测试或测试ExtremeNet:

cd CenterNet/src/lib/external
make

COCO数据集准备

COCO数据集按如下格式:

CenterNet/data/
└── coco
    ├── annotations
        ├── instances_val2017.json
        └── instances_train2017.json
    ├── train2017
    └── val2017

demo测试

需要提前在代码库中下载模型ctdet_coco_dla_2x.pth,放置在models文件夹下。首次运行肯需要加载模型,同时当测试的图片出现后,按键盘上除Esc外的任意键继续运行。

python demo.py ctdet --demo ../images/ --load_model ../models/ctdet_coco_dla_2x.pth

COCO数据集上训练

可参考Getting Started:

python main.py ctdet --exp_id coco_dla --batch_size 32 --master_batch 15 --lr 1.25e-4  --gpus 0

你可能感兴趣的:(计算机视觉,pytorch,深度学习,python)