我正在尝试了解如何使用Caffe。为此,我查看了examples文件夹中的不同.prototxt
文件。有一个选项我不理解:
# 学习率策略lr_policy: "inv"
可能的值似乎包括:
"fixed"
"inv"
"step"
"multistep"
"stepearly"
"poly"
能有人解释一下这些选项吗?
回答:
如果你查看/caffe-master/src/caffe/proto/caffe.proto
文件(你可以在这里在线找到),你会看到以下描述:
// 学习率衰减策略。目前实现的学习率策略如下:// - fixed: 始终返回base_lr。// - step: 返回base_lr * gamma ^ (floor(iter / step))// - exp: 返回base_lr * gamma ^ iter// - inv: 返回base_lr * (1 + gamma * iter) ^ (- power)// - multistep: 类似于step,但允许由stepvalue定义的非均匀步骤// - poly: 有效学习率遵循多项式衰减,到max_iter时为零。返回base_lr (1 - iter/max_iter) ^ (power)// - sigmoid: 有效学习率遵循sigmoid衰减// 返回base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))//// 其中base_lr, max_iter, gamma, step, stepvalue和power在solver参数协议缓冲区中定义,iter是当前迭代次数。