Faster RCNN(Pytorch) 配置过程记录及问题解决

心已入冬 提交于 2020-01-25 19:55:22
github地址:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0

一、配置过程记录

1.安装torch

https://pytorch.org/get-started/locally/查看相应的安装命令
我使用的是conda,python3.6,CUDA10.0,安装torch1.0

conda install pytorch==1.0.0 torchvision==0.2.1 cuda100 -c pytorch
2.git clone 到本地
git clone -b pytorch-1.0 --single-branch --depth=1 --recursive https://github.com/jwyang/faster-rcnn.pytorch.git

其中:-b是分支名,--single-branch是clone指定分支的命令,--depth==1是只克隆最近一次更改,--recursive用于循环递归克隆子项目。

3.创建数据文件夹
1. cd 进入project根目录
2. mkdir data
4.下载数据
  • cd 进入data文件夹
  • 下载压缩文件
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
  • 执行下方命令解压数据到data/VOCdevkit
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
  • cd 进入data文件夹下,创建软链接
ln -s VOCdevkit的绝对路径 VOCdevkit2007
5.根据下载预训练模型到/data/pretrained_model

如VGG16,ResNet101等

6.编译
  • 使用pip安装所有python依赖包
pip install -r requirements.txt
  • 编译CUDA依赖环境
cd lib
python setup.py build develop
7.训练

在训练之前需要根据自己的环境将trainval_net.py和test_net.py中的save_dir和load_dir参数进行更改。
使用VGG16在pascal_voc上训练faster R-CNN使用如下命令:

CUDA_VISIBLE_DEVICES=$GPU_ID python trainval_net.py \
                   --dataset pascal_voc --net vgg16 \
                   --bs $BATCH_SIZE --nw $WORKER_NUMBER \
                   --lr $LEARNING_RATE --lr_decay_step $DECAY_STEP \
                   --cuda
8.测试

如果想评估VGG16预训练模型在pascal_voc测试集上的表现,使用如下命令:

python test_net.py --dataset pascal_voc --net vgg16 \
                   --checksession $SESSION --checkepoch $EPOCH --checkpoint $CHECKPOINT \
                   --cuda
  • 可以根据生成训练得到模型的名称给checksession、checkepoch、checkpoint赋值。
9.运行demo

将待检测的图片放到/images文件夹中,使用如下命令:

python demo.py --net vgg16 \
               --checksession $SESSION --checkepoch $EPOCH --checkpoint $CHECKPOINT \
               --cuda --load_dir + 模型存放文件夹

得到如下图所示的结果:
在这里插入图片描述


二、遇到的问题及解决

1.在上述步骤6 编译后出现can't import imread

  • 可能是由于scipy的版本超过了1.0,解决:
pip uninstall scipy
pip install scipy==1.0

2.出现can not import _mask
参考https://github.com/cocodataset/cocoapi/issues/59#issuecomment-469859646中的讨论

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!