Faster R-CNN: https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0
我的环境:ubuntu16.04 + GPU-1080Ti + cuda10.0 + python3.7 + pytorch1.0.0
1. 下载Faster R-CNN
打开Faster R-CNN的github网址,Branches选择pytorch-1.0下载程序。
如果使用终端,下载pytorch-1.0分支:
git clone -b pytorch-1.0 https://github.com/jwyang/faster-rcnn.pytorch.git
cd faster-rcnn.pytorch && mkdir data
2. 安装依赖项
cython
cffi
opencv-python
scipy
msgpack
easydict
matplotlib
pyyaml
tensorboardX
其中,程序中使用 from scipy.misc import imread,imread在scipy1.2.0之后版本中被弃用;建议scipy安装1.2.0及以下版本,我安装的是scipy 1.2.0:
conda install scipy==1.2.0
另外,pillow安装6.1.0版本:
conda install pillow==6.1.0
3. 下载使用PASCAL VOC2007
参考我的博客:https://blog.youkuaiyun.com/m0_37030242/article/details/104864806
4. 编译Faster R-CNN
cd faster-rcnn.pytorch/lib
python setup.py build develop
5. 在PASCAL VOC2007跑Faster R-CNN
5.1 特征提取如果用pretrained model,则下载对应的预训练模型:
在终端中输入:
python trainval_net.py --dataset pascal_voc --net vgg16 --bs 1 --nw 4 --use_tfb --cuda
上述命令表示:dataset为pascal_voc,net为vgg16,batch size为1,worker number为4,use_tfb为使用tensorboardX;这些参数均可选。
5.2 如果不用预训练模型,则网络重头开始训练。以vgg16网络为例(resnet50,resnet101,resnet152作相同处理),将pretrained设置为False:
fasterRCNN = vgg16(imdb.classes, pretrained=False, class_agnostic=args.class_agnostic)
在终端中输入:
python trainval_net.py --dataset pascal_voc --net vgg16 --bs 1 --nw 4 --use_tfb --cuda
成功运行程序: