ParseNet源码训练和分析

Posted 明天去哪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ParseNet源码训练和分析相关的知识,希望对你有一定的参考价值。

ParseNet

编译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源码训练和分析的主要内容,如果未能解决你的问题,请参考以下文章

RTOS训练营定时器的机制源码分析和晚课提问

RTOS训练营定时器的机制源码分析和晚课提问

RTOS训练营定时器的机制源码分析和晚课提问

.NET 云原生架构师训练营(KestrelServer源码分析)--学习笔记

Pytorch网络训练流程的作用原理:源码分析optimizer.zero_grad()loss.backward()optimizer.step()

Pytorch网络训练流程的作用原理:源码分析optimizer.zero_grad()loss.backward()optimizer.step()