在solver解决下面的四个问题: 
a.训练的记录(bookkeeping),创建用于training以及test的网络结构; 
b.使用前向以及反向过程对training网络参数学习的过程; 
c.对testing网络进行评价; 
d.优化过程中模型中间结果的快照及求解的状态; 
下面从这个四个方面介绍solver.prototxt文件中常见参数的含义: 
1.net,type;base_lr,lr_polilcy 
net: 用于声明training 以及test的网络结构定义在哪个文件中,所以它是一个文件名,一般用caffe的相对路径。这个还可以分开用train_net以及test_net,相当于在两个文件中分别给出了训练以及测试网络的结构定义。 
type:solver的类型。深度网络的目标函数一般是非凸的,一般用基于梯度下降的方法来解。caffe中支持的基于梯度的方法包括: SGD(default),AdaDelt,AdaGrad,Adam,NAG.每个方法需要设定不同的参数,这里首先分析SGD的参数: 
base_lr:学习率(learning rate),也就是梯度算法中的步长,这个是最初的步长。 
lr_policy: 按照某种方式对梯度算法中的步长进行更新;包含下面的方式:fixed,step,exp,inv,multistep,poly,sigmoid对这些的详细描述可以参考这个很赞的blog. 这里描述常用的基于迭代次数的方式:step。她根据iter对步长进行更新,这种方式还对应一个stepsize参数,它的值是一个整数,表示stepsize次迭代对步长进行一次更新;公式为base_lr*gamma^(iter/stepsize) 
gamma:这个参数就是在上面的公式中更新学习率的公式中用到的参数,要注意的是不同的方式有不同参数,有些方法中可能不存在这个参数。 
momentum(mu):它表示的是本次更新权重用的梯度对上一次梯度的保留的比例。 
2.max_iter,display,weight_decay 
max_iter:这个表示网络前向以及后向学习算法的次数。 
display: 参数是一个整数,表明多少次对结果进行一此展示。如果设为0就不会打印。 
weight_decay:权重正则项的参数,它是为了防止模型的过拟。通常而言,一般样本越多,值越小;模型越大(更深,滤波器尺寸越大等),值越大。 
3.test_iter, test_interval: 
test_iter:测试网络中测试的时候所用的batch数,一般保证test_iter*batch>测试样本数; 
test_interval:每隔多少个iter对测试网络进行一个评价。 
4.snapshot,snapshot_prefix. 
snapshot:多少个iter保存一次网络的快照,这个有利于resume; 
snapshot_prefix:快照存储的位置以及名称。 
还可以设置snapshot_diff,snapshot_format.是否保存梯度值以及保存的类型。

Reference 
[1]http://www.cnblogs.com/denny402/p/5074049.html 
[2]http://stackoverflow.com/questions/32177764/what-is-weight-decay-meta-parameter-in-caffe?noredirect=1&lq=1 
[3]http://caffe.berkeleyvision.org/tutorial/solver.html

Caffe solver.prototxt学习的更多相关文章

  1. caffe solver.prototxt 生成

    from caffe.proto import caffe_pb2 s = caffe_pb2.SolverParameter() path='/home/xxx/data/' solver_file ...

  2. 4.caffe:train_val.prototxt、 solver.prototxt 、 deploy.prototxt( 创建模型与编写配置文件)

    一,train_val.prototxt name: "CIFAR10_quick" layer { name: "cifar" type: "Dat ...

  3. caffe之solver.prototxt文件参数设置

    caffe solver参数意义与设置 batchsize:每迭代一次,网络训练图片的数量,例如:如果你的batchsize=256,则你的网络每迭代一次,训练256张图片:则,如果你的总图片张数为1 ...

  4. caffe 参数介绍 solver.prototxt

    转载自 http://blog.csdn.net/cyh_24/article/details/51537709 solver.prototxt net: "models/bvlc_alex ...

  5. caffe源码学习之Proto数据格式【1】

    前言: 由于业务需要,接触caffe已经有接近半年,一直忙着阅读各种论文,重现大大小小的模型. 期间也总结过一些caffe源码学习笔记,断断续续,这次打算系统的记录一下caffe源码学习笔记,巩固一下 ...

  6. caffe solver 配置详解

    caffe solver通过协调网络前向推理和反向梯度传播来进行模型优化,并通过权重参数更新来改善网络损失求解最优算法,而solver学习的任务被划分为:监督优化和参数更新,生成损失并计算梯度.caf ...

  7. caffe源码学习

    本文转载自:https://buptldy.github.io/2016/10/09/2016-10-09-Caffe_Code/ Caffe简介 Caffe作为一个优秀的深度学习框架网上已经有很多内 ...

  8. caffe solver configuration

    (用到一个加一个, 并非完整的介绍) lr_policy 基本的learning rate 在solver.prototxt中由参数base_lr配置. 配合lr_policy和其余的一些参数制定le ...

  9. 【转】贾扬清:希望Caffe成为深度学习领域的Hadoop

    [转:http://www.csdn.net/article/2015-07-07/2825150] 在深度学习(Deep Learning)的热潮下,Caffe作为一个高效.实用的深度学习框架受到了 ...

随机推荐

  1. Java基础4一数组

    数组 数组是用来存储一组相同类型数据的数据结构 数组变量属于引用数据类型 数组中的元素可以是任何数据类型(基本类型和引用类型) 备注:数组中存放的都是相同数据类型的数据. 1.一维数组的声明 语法:数 ...

  2. 错误:Camera录制视频(6.0错误),5.1正常,7.1正常 (java.lang.RuntimeException: start failed.at android.media.MediaRecorder.native_start(Native Method))

    Process: com.example.mycamera2, PID: 24086 java.lang.RuntimeException: start failed. at android.medi ...

  3. (转)Bootstrap 之 Metronic 模板的学习之路 - (7)GULP 前端自动化工具

    https://segmentfault.com/a/1190000006738327 初步了解 Metronic 的结构和应用后,我们就可以在项目中应用起来了.考虑到实际项目应用时,会有很多文件需要 ...

  4. React重点概要

    JSX语法: 1.ReactDOM.render:用于将模板转换为HTML语言,并插入指定的DOM节点: 语法规则:遇到 HTML 标签(以 < 开头),就用 HTML 规则解析,HTML 语言 ...

  5. Javascript继承(原始写法,非es6 class)

    知识点: Object.create的内部原理: Object.create =  function (o) {     var F = function () {};     F.prototype ...

  6. Django模型Model的定义

    概述 Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API,可以根据不同的业务需求选择不同的数据库. 模型.属性.表.字段间的关系 一个模型类在数据库中对应一张表, ...

  7. ArcGIS中标格乱码??

    安装好ArcGIS之后导入地图层之后,显示 label 时中文乱码,但是导出数据显示正常 这是 ArcGIS 安装环境编码的问题,只需要修改一下配置文件即可 打开 cmd 命令窗口 reg add H ...

  8. NYIST 119 士兵杀敌(三)

    士兵杀敌(三)时间限制:2000 ms | 内存限制:65535 KB难度:5 描述南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出 ...

  9. 关系数据库标准语言SQL

    篇幅过长,恐惧者慎入!!!基础知识,大神请绕道!!! 本节要点: l  SQL概述 l  学生-课程关系 l  数据定义 基本表的定义.删除与修改 索引的建立与删除 l  查询 单表查询 连接查询 嵌 ...

  10. 洛谷 P1124 文件压缩

    P1124 文件压缩 题目背景 提高文件的压缩率一直是人们追求的目标.近几年有人提出了这样一种算法,它虽然只是单纯地对文件进行重排,本身并不压缩文件,但是经这种算法调整后的文件在大多数情况下都能获得比 ...