DEFRCN代码复现记录
步骤
- 环境配置
按照参考博客里的步骤配置就好了 - 数据集准备(以voc数据集为例)
分别下载:voc2007 voc2012 以及vocsplit
并且数据集按照如下位置摆放:
datasets
| – VOC2007
| – VOC2012
| – vocsplit - 下载预训练权重
下载官方提供的预训练权重 下载地址
下载后放入项目文件夹中,记得修改run_voc.sh
里面的预训练权重文件的地址 - 开始运行
修改run_voc.sh
里关于GPU 个数的设置以及configs/Base-RCNN.yaml
里面的IMS_PER_BATCH
(也就是batch_size)终端输入bash run_voc voc1 1
即可运行
出现的问题
大部分问题就像参考博客里大佬写的那样能够解决,下面写一些遇到的其他问题
- FloatingPointError: Predicted boxes or scores contain Inf/Nan.Training has diverged.
这个问题是因为detection2版本问题,默认安装的0.5,安装0.3就不会有这问题,于是我按照DEFRCN github上的环境安装
pip3 install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
python3 -m pip install detectron2==0.3 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.6/index.html
- The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70 sm_75.
If you want to use the NVIDIA GeForce RTX 4090 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
接着就出现了这个报错,这个报错的原因就是CUDA和pytorch不匹配,换一个pytorch版本就好
pip3 install torch==1.7.0+cu110 torchvision==0.8.1+cu110 -f https://download.pytorch.org/whl/torch_stable.html
python3 -m pip install detectron2==0.3 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu110/torch1.7/index.html
解决完以上问题就能够成功运行训练了
Tips
简单记录以下运行开源项目的过程