Caffe中Solver.prototxt解析

Caffe中Solver.prototxt解析

Solver流程
  1. 设计好需要优化的对象,以及用于学习的训练网络和用于评估的测试网络。(通过调用另一个配置文件prototxt来进行);
  2. 通过forward和backward迭代的进行优化来更新参数;
  3. 定期的评价测试网络(可设定多少次训练后,在进行一次测试);
  4. 在优化过程中显示模型和solver的状态。
Solver工作

在每一次的迭代过程中,Solver做了如下工作:

  1. 调用forward算法来计算最终的输出值,以及对应的loss;
  2. 调用backward算法来计算每层的梯度;
  3. 根据选用的solver方法,利用梯度进行参数更新;
  4. 记录并保存每次迭代的学习率、快照,以及对应的状态;
Solver.prototxt文件
test_iter: 100
test_interval: 1000
base_lr: 0.001
display: 200
max_iter: 10000
lr_policy: "step"
gamma: 0.1
momentum: 0.9
weight_decay: 0.0001
stepsize: 1000
snapshot: 5000
snapshot_prefix: "snapshot"
solver_mode: GPU
net: "train_val.prototxt"
solver_type: SGD
Solver.prototxt参数
  1. net:用于训练/预测的网络描述文件
  2. test_iter:预测阶段迭代次数(与test_batch相乘后要大于测试样本集)
  3. test_interval:训练时没迭代多少次,进行一次预测(与batchSize相乘大于训练集)
  4. basr_lr:网络基础学习速率
  5. momentum:网络基础冲量,学习的参数,一般不修改该值
  6. weight_decay:网络基础衰减量
  7. lr_policy:学习率变化
  8. gamma:学习率变化比率。一般不修改该值
  9. power:学习速率的衰减策略
  10. stepsize:没多少次学习率递减
  11. display:经过多少次迭代后显示一次
  12. max_iter:最大迭代次数
  13. snapshot:多少次打印一次快照
  14. snapshot_prefix:快照前缀
  15. solver_mode:是否使用GPU
  16. solver_type:优化算法的选择,一共有六种可选:SGD、AdaDelta、AdaGrad、Adam、Nesterov和RMSProp。默认为SGD。

参考链接:https://blog.csdn.net/a1809032425/article/details/81158470

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值