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

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中的讨论

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值