运行FPN

代码链接:https://github.com/jwyang/fpn.pytorch
1.环境配置:
ubuntu16.04 + cuda9.0 + cudnn7.3.1
python 2.7
pytorch 0.4.0(其他版本./make.sh可能出现问题,待试)
其他安装包,用pip直接安装即可
cython
torchvision
easydict
scipy
matplotlib
opencv-python
pyyaml
2.下载预训练模型:resnet101_caffe.pth
https://filebox.ece.vt.edu/~jw2yang/faster-rcnn/pretrained-base-models/resnet101_caffe.pth
位于./data/pretrained_model/
3.准备自己的数据集,这里采用的是VOC2007数据集
位于./data/VOCdevkit2007/V0C2007/…
4.修改make.sh中的-arch:
运行FPN_第1张图片
然后进行编译库

cd lib
sh make.sh

5.修改pascal.py:
运行FPN_第2张图片
6.按照自己需要修改./lib/model/utils/config.py
7.修改trainval_net.py
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新建文件夹models,将模型保存路径修正为你自己的路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行FPN_第3张图片
将下列代码修改为:
运行FPN_第4张图片
8.新建一个文件夹,命名为logs,存放训练日志
9.运行trainval_net.py文件,从这里开始会遇到许多错误,下面将遇到的错误贴出来
question 1:
RuntimeError: reciprocal is not implemented for type torch.cuda.LongTensor
运行FPN_第5张图片解决方法:修改./lib/model/rpn/anchor_target_layer_fpn.py,如图
运行FPN_第6张图片question 2:
TypeError: index(): argument ‘indices’ (position 1) must be tuple of Tensors, not Tensor
运行FPN_第7张图片
解决方法:修改./lib/model/rpn/proposal_target_layer.py,如图
在这里插入图片描述
question 3:
torch.FatalError: invalid argument 2: out of range at /pytorch/aten/src/THC/generic/THCTensor.c:23
运行FPN_第8张图片
解决方法:修改./lib/model/roi_align/functions/roi_align.py
运行FPN_第9张图片
question 4:
RuntimeError: zero-dimensional tensor(at position 3) cannot be concatenated
运行FPN_第10张图片
解决方法:修改./lib/model/fpn/fpn.py
运行FPN_第11张图片
10.模型评估:修改test_net.py
修改以下三处地方,其他路径问题以及模型加载问题按照提示即可解决
在这里插入图片描述
在这里插入图片描述
运行FPN_第12张图片
参考链接:
https://blog.csdn.net/nodototao/article/details/87967443
https://blog.csdn.net/tiatiatiatia/article/details/89043013
https://blog.csdn.net/ALANRUOMENG/article/details/88824104

你可能感兴趣的:(深度学习)