我的环境是Ubuntu16.04+Python3,6+Pytorch1.0.1+cuda10.0.130
文中使用的源码是jwyang
的faster-rcnn.pytorch
一、加载源码,使用git获得
(1)输入指令
- git clone -b pytorch-1.0 --single-branch --depth=1 --recursive https://github.com/jwyang/faster-rcnn.pytorch.git
由于源码是运行在pytorch0.4版本,指令中需加入转换到pytorc1.0分支的的命令
(2)创建数据文件夹data
在faster-rcnn.pytoch中创建data数据文件夹
- cd faster-rcnn.pytorch
- mkdir data
在data文件夹下创建预训练模型的文件pretrained_model
VGG16: Dropbox, VT Server
ResNet101: Dropbox, VT Server
(3)在data文件夹下载voc数据集并解压到同一文件VOCdevkit:
- 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
- tar xvf VOCtrainval_06-Nov-2007.tar
- tar xvf VOCtest_06-Nov-2007.tar
- tar xvf VOCdevkit_08-Jun-2007.tar
为VOC创建软连接 ln -s VOCdevkit的绝对路径 VOCdevkit2007 (注:也可以直接将VOCdevkit重命名为VOCdevlit2007)
(4)在运行是遇到错误ImportError: cannot import name '_mask',需下载cocokit并make
- cd faster-rcnn.pytorch/data
- git clone https://github.com/pdollar/coco.git
- cd coco/PythonAPI
- make
- cd ..//..//..
二、搭建必要环境
一切准备就绪,开始进行模型训练的前提条件。
使用pip安装相应的Python依赖包,在faster-rcnn.pytorch文件下运行:
- pip install -r requirements.txt
编辑所需的cuda环境,回到主目录:
- cd lib
- python setup.py build develop
- cd ..
三、开始训练
使用vgg-16作为主干网络:
CUDA_VISIBLE_DEVICES=0 python trainval_net.py --dataset pascal_voc --net res101 --epochs 1 --bs 1 --nw 4 --lr 1e-3 --lr_decay_step 5 --cuda
测试:
test_net.py --dataset pascal_voc --net res101--checksession 1 --checkepoch 6 --checkpoint 416 --cuda
运行demo
python demo.py --net res101 --checksession $SESSION --checkepoch $EPOCH --checkpoint $CHECKPOINT \ --cuda --load_dir path/to/model/directoy
由于本人是第一次写博客,实在是经验不足,还望各位海涵,希望对你们有所帮助!