FCOS: Fully Convolutional One-Stage Object Detection 论文源代码复现

FCOS源代码github地址为:
FCOS

这篇论文主要是关于目标检测的,今天跑一下它的实验,我是在autodl租的RTX 2080 Ti,因为这个代码比较久,所以Pytoch版本可能不可以装太高,我的镜像CUDA版本为10.1,具体规格如下:
在这里插入图片描述
创建好服务器好,打开终端创建一个虚拟环境,也可以参考源文件的INSTALL.md步骤,这个文件里有依赖的要求以及步骤:
在这里插入图片描述

1.创建虚拟环境:

conda create -n FCOS python=3.8

2.激活虚拟环境,并下载依赖:

conda activate FCOS
conda install ipython
pip install ninja yacs cython matplotlib tqdm 

3.安装Pytorch:

这里Pytorch的版本要注意,因为我有尝试过跟着源文件的命令安装,但是后面发现版本太低了会报错,但是你也不能安装太高版本,所以我下载的是V1.6.0, linux命令如下:

conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch

安装好了还可以再验证一下是否安装成功

4.安装pycocotools:

git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
python setup.py build_ext install

这一步我还是比较顺利的,按照代码输入就可以了

5.克隆项目:

git clone https://github.com/tianzhi0549/FCOS.git
cd FCOS

6.编译文件:

python setup.py build develop --no-deps

这一步是最艰难的,报了好多错误

报错一:/root/autodl-tmp/FCOS/fcos_core/csrc/cpu/ROIAlign_cpu.cpp:2:10: fatal error: cpu/vision.h: No such file or directory

在这里插入图片描述
在这里插入图片描述
这里提到了两个代码文件:cpu/ROIAlign_cpu.cpp和nms_cpu.cpp,找到这两个文件,把头文件的#include "cpu/vision.h"变成#include “vision.h”,记住两个文件都要改,这个在FCOS项目文件夹下的fcos_core/csrc/cpu/ 下可以找到,改好之后,这个错误就不报了

错误二:报错AK_CHECK没有定义在这里插入图片描述

报错AK_CHECK没有定义,这是因为在 PyTorch 的新版本中,AT_CHECK 可能已被替换为 TORCH_CHECK。所以要把报错的那个文件里的AT_CHECK替换为TORCH_CHECK,找到/FCOS/fcos_core/csrc/cuda/deform_conv_cuda.cu文件和/FCOS/fcos_core/csrc/cuda/deform_pool_cuda.cu 把里面的AT_CHECK替换为TORCH_CHECK,即可。

再次运行

python setup.py build develop --no-deps

最后成功安装编译了FCOS

在这里插入图片描述
加下来就可以下载作者提供的权重文件进行测试了

python tools/test_net.py \
    --config-file configs/fcos/fcos_imprv_R_50_FPN_1x.yaml \
    MODEL.WEIGHT FCOS_imprv_R_50_FPN_1x.pth \
    TEST.IMS_PER_BATCH 4 

要下载COCO_2014数据集

猜你喜欢

转载自blog.csdn.net/qq_45257495/article/details/134525792