caffe的solver的参数的含义和设置
2017-07-13 21:58
453 查看
caffe的solver的参数的含义和设置:batchsize:每迭代一次,网络训练图片的数量,例如:如果你的batchsize=256,则你的网络每迭代一次,训练256张图片;则,如果你的总图片张数为1280000张,则要想将你所有的图片通过网络训练一次,则需要1280000/256=5000次迭代。epoch:表示将所有图片在你的网络中训练一次所需要的迭代次数,如上面的例子:5000次;我们称之为 一代。所以如果你想要你的网络训练100代时,则你的总的迭代次数为max_iteration=5000*100=500000次;max_iteration:网络的最大迭代次数如上面的500000次;同理,如果max_iteration=450000,则该网络被训练450000/5000=90代。
test_iter:表示测试的次数;比如,你的test阶段的batchsize=100,而你的测试数据为10000张图片,则你的测试次数为10000/100=100次;即,你的test_iter=100;
test_interval:表示你的网络迭代多少次才进行一次测试,你可以设置为网络训练完一代,就进行一次测试,比如前面的一代为5000次迭代时,你就可以设置test_interval=5000;
base_lr:表示基础学习率,在参数梯度下降优化的过程中,学习率会有所调整,而调整的策略就可通过lr_policy这个参数进行设置;
影响着数据的收敛,step的变化不能超过三次,0.01是起始的值,否则后面的训练都没有意义的,要不断的调节这个base_lr,来看看结果!
lr_policy:学习率的调整策略:- fixed: 保持base_lr不变.- step: 如果设置为step,则还需要设置一个stepsize, 返回 base_lr * gamma ^ (floor(iter / stepsize)),其中iter 表示当前的迭代次数- exp: 返回base_lr * gamma ^ iter, iter为当前迭代次数- inv: 如果设置为inv,还需要设置一个power, 返回base_lr * (1 + gamma * iter) ^ (- power)- multistep: 如果设置为multistep,则还需要设置一个stepvalue。这个参数和step很相似,step是均匀等间隔变化,而mult-step则是根据stepvalue值变化- poly: 学习率进行多项式误差, 返回 base_lr (1 - iter/max_iter) ^ (power)- sigmoid: 学习率进行sigmod衰减,返回 base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))
momentum:表示上一次梯度更新的权重;
weight_decay:表示权重衰减,用于防止过拟合;
相关文章推荐
- Caffe--solver.prototxt配置文件 参数设置及含义
- Caffe--solver.prototxt配置文件 参数设置及含义
- caffe solver参数意义与设置
- caffe之solver.prototxt文件参数设置
- Caffe的Solver参数设置
- caffe之solver.prototxt文件参数设置
- Caffe中文件参数设置(七):solver优化方法
- caffe中解析器solver中各参数的含义
- caffe 实战系列:proto文件格式以及含义解析:如何定义网络,如何设置网络参数(以AlexNet为例) 2016.3.30
- 实用:使用caffe训练模型时solver.prototxt中的参数设置解析
- Caffe之solver.prototxt文件参数设置
- caffe中参数含义solver文件<二>
- solver.prototxt文件里面参数含义及其设置
- caffe 实战系列:proto文件格式以及含义解析:如何定义网络,如何设置网络参数(以AlexNet为例)
- Caffe的Solver参数设置
- caffe之solver.prototxt文件参数设置
- 安装ORACLE时在Linux上设置内核参数的含义
- 安装ORACLE时在Linux上设置内核参数的含义
- java配置文件web.xml中参数设置及含义
- JM、H.264中一些参数的设置和含义