caffe 参数的详解solver文件<一>

来源:互联网 发布:php bbs论坛源码 编辑:程序博客网 时间:2024/05/17 05:02
test_iter
在测试的时候,需要迭代的次数,即test_iter* batchsize(测试集的)=测试集的大小,测试集的 batchsize可以在prototx文件里设置。
test_interval
训练的时候,每迭代test_interval次就进行一次测试。
momentum

灵感来自于牛顿第一定律,基本思路是为寻优加入了“惯性”的影响,这样一来,当误差曲面中存在平坦区的时候,SGD可以更快的速度学习。

lr_mult
学习率,但是最终的学习率需要乘以 solver.prototxt 配置文件中的 base_lr .如果有两个 lr_mult, 则第一个表示 weight 的学习率,第二个表示 bias 的学习率
一般 bias 的学习率是 weight 学习率的2倍

decay_mult 
权值衰减,为了避免模型的over-fitting,需要对cost function加入规范项。

decay_mult:权值衰减,需要乘以weight_decay,wi = wi -(base_lr * lr_mult) *dwi - (weight_dacay * decay_mult) * wi (dwi是误差关于wi的偏导数)

weight_filler 
权值初始化。 默认为“constant”,值全为0. 
很多时候我们用”xavier”算法来进行初始化,也可以设置为”gaussian”

bias_filler
偏置项的初始化。一般设置为”constant”, 值全为0。

bias_term
是否开启偏置项,默认为true, 开启

group 
分组,默认为1组。如果大于1,我们限制卷积的连接操作在一个子集内。 
卷积分组可以减少网络的参数,至于是否还有其他的作用就不清楚了。

param {      lr_mult: 1       //weight的学习率,需要乘以base_lr    }    param {      lr_mult: 2       //bias的学习率,需要乘以base_lr,一般bias的学习率是weight学习率的2倍    }  

 transform_param {      scale: 0.00390625   //对数据进行均一化,幅度归一化到同样的范围[0, 255]    }