Caffe的solver参数介绍

匿名 (未验证) 提交于 2019-12-02 23:04:42

版权声明:转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/59109447

1. Parameters

solver.prototxt文件是用来告诉caffe如何训练网络的。solver.prototxt的各个参数的解释如下:


  • 这个参数是用来表示网络的初始学习率的。这个值是一个浮点型实数。

  • 这个参数是用来表示学习率随着时间是如何变化的。值是字符串,需要加""
    “step”――需要设置stepsize。根据gamma参数和stepsize参数来降低学习率,base_lr * gamma ^ (floor(iter / stepsize))iter是当前迭代次数。学习率每迭代stepsize
    “multistep”――与step类似,需要设置stepvalue,学习率根据stepvalue
    “fixed”――学习率base_lr
    “inv”――学习率变化公式为base_lr * (1 + gamma * iter) ^ (- power)
    “exp”――学习率变化公式为base_lr * gamma ^ iter}
    “poly”――学习率以多项式形式衰减,到最大迭代次数时降为0。学习率变化公式为base_lr * (1 - iter/max_iter) ^ (power)
    “sigmoid”――学习率以S型曲线形式衰减,学习率变化公式为base_lr * (1 / (1 + exp(-gamma * (iter - stepsize))))

  • 这个参数表示学习率每次的变化程度,值为实数。

  • 这个参数表示什么时候应该进行训练的下一过程,值为正整数。主要用在lr_policyΪstep的情况。

  • 这个参数表示什么时候应该进行训练的下一过程,值为正整数。主要用在lr_policyΪmultistep的情况。

  • 这个参数表示训练神经网络迭代的最大次数,值为正整数。

  • 这个参数表示在新的计算中要保留的前面的权重数量,值为真分数,通常设为0.9。


  • This parameter indicates the factor of (regularization) penalization of large weights. This value is a often a real fraction.

  • 这个参数用来表示求解神经网络的模式――值为CPU or GPU。

  • 这个参数用来表示每迭代多少次就应该保存snapshot的modelsolverstate,值为正整数。

  • 这个参数用来表示保存snapshot时modelsolverstate的前缀,值为带引号的字符串。

  • 这个参数表示训练网络所在的位置,值为带引号的字符串。


  • 这个参数表示每个test_interval进行多少次test迭代,值为正整数。

  • 这个参数表示什么时候进行数据的测试,值为正整数。

  • 这个参数用来表示什么时候将输出结果打印到屏幕上,值为正整数,表示迭代次数。







  • RMSprop “RMSProp”――一种基于梯度的优化方法。

2. Demo

  • lr_policy
# lr_policyΪmultisetp base_lr: 0.01 momentum: 0.9 lr_policy: "multistep" gamma: 0.9 stepvalue: 1000 stepvalue: 2000 stepvalue: 3000 stepvalue: 4000 stepvalue: 5000  # lr_policyΪstep base_lr: 0.01 momentum: 0.9 lr_policy: "step" gamma: 0.9 stepsize: 1000

  • solver.prototxt
net: "models/bvlc_alexnet/train_val.prototxt" # 每次测试时进行1000次迭代 test_iter: 1000 # 每进行1000次训练执行一次测试 test_interval: 1000 base_lr: 0.01 lr_policy: "step" gamma: 0.1 stepsize: 100000 display: 20 max_iter: 450000 momentum: 0.9 weight_decay: 0.0005 snapshot: 10000 snapshot_prefix: "models/bvlc_alexnet/caffe_alexnet_train" solver_mode: GPU

参考资料

  1. http://www.cnblogs.com/denny402/p/5074049.html
  2. https://github.com/BVLC/caffe/wiki/Solver-Prototxt
  3. http://stackoverflow.com/questions/30033096/what-is-lr-policy-in-caffe
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!