Bootstrap

复现Fully Convolutional One-Stage Object Detection 论文

这篇论文主要是关于目标检测的,因为这个代码比较久,所以Pytoch版本可能不可以装太高,我的环境配置的镜像CUDA版本为10.1,具体规格如下:

打开终端创建一个虚拟环境,也可以参考源文件的INSTALL.md步骤,这个文件里有依赖的要求以及步骤:

1. 创建环境并激活

conda create --name FCOS
conda activate FCOS

 2.下载依赖项

conda install ipython
pip install ninja yacs cython matplotlib tqdm
3.安装Pytorch:

这里Pytorch的版本要注意,因为我有尝试过跟着源文件的命令安装,但是后面发现版本太低了会报错,但是你也不能安装太高版本,太高的话例如:你的代码在尝试访问 PyTorch 的 _six 属性,但这个属性在你当前的 PyTorch版本中似乎不存在。这种情况通常在 PyTorch1.8及以后的版本中发生,因为此版本很多内部实现和模块进行了更改。,所以我下载的是1.6.0, linux命令如下:

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

要使用清华大学的镜像源安装指定版本的 PyTorch,可以使用以下命令:

这个命令中,我们添加了清华源的链接。注意,这里使用了 -c 来指定要使用的通道。 

如果你希望配置 conda 使用清华源作为默认源,可以执行以下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
##设置 Conda 配置,使得在使用 conda 命令时,显示所有软件包的源(channel)URL。
##这样,在你使用 conda install 或其他相关命令时,Conda 会在输出中显示每个软件包的来源 URL,方便你查看和确认软件包是从哪个源获取的。
配置完之后,你就可以直接运行以下命令来安装 PyTorch:  

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

这样就会使用清华源来进行安装。

4.安装pycocotools:

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

git clone 时可能会出现拒绝连接或者无法连接等报错,多尝试几次即可。

5.克隆项目:
git clone https://github.com/tianzhi0549/FCOS.git
cd FCOS

6.编译文件:

python setup.py build develop --no-deps

这一步报错较多

报错1

例如:fatal error: cpu/vision.h: No such file or directory

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

报错2

例如:报错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

编译成功!

7.下载coco_2014数据集链接如下:

2014 Train images: http://images.cocodataset.org/zips/train2014.zip
2014 Val images: http://images.cocodataset.org/zips/val2014.zip
2014 Test images: http://images.cocodataset.org/zips/test2014.zip

官方和镜像百度网盘都比较慢

软件商店下载迅雷

复制上述链接到迅雷下载速度8mb/s!!!

;