ParseNet源码训练和分析
Posted 明天去哪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ParseNet源码训练和分析相关的知识,希望对你有一定的参考价值。
ParseNet
- 官方源代码位置:
Caffe: https://github.com/weiliu89/caffe/tree/fcn
model: https://gist.github.com/weiliu89/45e9e8de2c13af6476ca#file-readme-md
编译Caffe
直接从github上clone下来代码
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout fcn
注意:记得切换到fcn分支,不然会出现eval_type未定义
的问题
存在的问题:cudnn6.0无法使用,于是在编译的时候关掉了cudnn.
训练
先制作数据集——训练集增强的VOC2012,得到完整的数据集后,不需要进行resize,因为parsenet的batch-size设置的是1, iter_size设置为8.
训练集数目为10582,验证集为1449,手动转化为lmdb,进行训练即可.
其中训练集的收集在我的deeplab中有介绍.
训练过程中显存占用为2.0g
结果
原论文给出的结果是在VOC val上为69.55 mIoU.
迭代20000次,结果如下:
I0305 01:53:47.707645 10625 solver.cpp:356] Iteration 10000, Testing net (#0)
I0305 01:55:48.532131 10625 solver.cpp:428] Test net output #0 evaluation: per_pixel_acc = 0.927039
I0305 01:55:48.532177 10625 solver.cpp:430] Test net output #0 evaluation: per_label_acc = 0.803155
I0305 01:55:48.532181 10625 solver.cpp:432] Test net output #0 evaluation: iou_acc = 0.694358
I0305 01:55:48.532186 10625 solver.cpp:434] Test net output #0 evaluation: weighted_iou_acc = 0.871142
源代码解读
源代码在caffe的基础上引入了filter_stride(atrous), L2-norm Layer, evaluation layer.
主要是Evaluation Layer,简单看了一下,后续有时间再详细分析
以上是关于ParseNet源码训练和分析的主要内容,如果未能解决你的问题,请参考以下文章
.NET 云原生架构师训练营(KestrelServer源码分析)--学习笔记
Pytorch网络训练流程的作用原理:源码分析optimizer.zero_grad()loss.backward()optimizer.step()
Pytorch网络训练流程的作用原理:源码分析optimizer.zero_grad()loss.backward()optimizer.step()