caffe:lr_policy用法

  • Post author:
  • Post category:其他




  1. // The learning rate decay policy. The currently implemented learning rate





  2. // policies are as follows:





  3. //    – fixed: always return base_lr.





  4. //    – step: return base_lr * gamma ^ (floor(iter / step))





  5. //    – exp: return base_lr * gamma ^ iter





  6. //    – inv: return base_lr * (1 + gamma * iter) ^ (- power)





  7. //    – multistep: similar to step but it allows non uniform steps defined by





  8. //      stepvalue





  9. //    – poly: the effective learning rate follows a polynomial decay, to be





  10. //      zero by the max_iter. return base_lr (1 – iter/max_iter) ^ (power)





  11. //    – sigmoid: the effective learning rate follows a sigmod decay





  12. //      return base_lr ( 1/(1 + exp(-gamma * (iter – stepsize))))





  13. //





  14. // where base_lr, max_iter, gamma, step, stepvalue and power are defined





  15. // in the solver parameter protocol buffer, and iter is the current iteration.



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是均匀等间隔变化,而multistep则是根据                                 stepvalue值变化

– poly:     学习率进行多项式误差, 返回 base_lr (1 – iter/max_iter) ^ (power)

– sigmoid: 学习率进行sigmod衰减,返回 base_lr ( 1/(1 + exp(-gamma * (iter – stepsize))))



版权声明:本文为slz0813原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。