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中的讨论
来源:CSDN
作者:cc__cc__
链接:https://blog.csdn.net/cc__cc__/article/details/103896815