solver.prototxt各参数解析

本文介绍了Caffe框架中六种优化算法,包括随机梯度下降(SGD)、AdaDelta、Adam等,并详细解释了solver配置文件中的各项参数含义,如学习率调整策略、测试间隔等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#往往loss function 是非凸的,没有解析解,我们需要通过优化方法来求解
#caffe 提供了六种算法来求解最优参数,在solver配置文件中,通过设置type类型来选择

Stochastic Gradient Descent(type:SGD) #随机梯度下降
AdaDelta(type:AdaDelta)
Adaptive Gradient(type: Adaptive)
Adam(type:Adam)
Nesterov's Accelerated Gradient(type:Nesterov)
RMSprop(type:RMSprop)


net:"examples/mnist/lenet_train_test.prototxt" #网络位置,也可以分别设定train和test
test_iter:100 #迭代多少个测试样本?在网络prototxt中 batch*test_iter,假设有5000个测试样本,一次测试想跑遍这5000个则需要设置 test_iter*batch=5000
test_interval:500 #测试间隔,也就是每训练500次,才进行一次测试
base_lr:0.01 #基础学习率
momentum:0.9 #动量,不建议调整
type:SGD
weight_decay:0.0005
lr_policy:"inv" #学习率调整策略
#- fiixed: 保持 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: 如果设置为这个,则还需要设置一个stepvalue,这个参数和step很相似,step是均匀等间隔变化,而multistep则是根据stepvalue值变化
#-poly: 学习率进行多项式误差,返回 base_lr(1- iter/ max_iter)^(power)
#-sigmoid: 学习率进行sigmod衰减,返回 base_lr(1/(1+exp(-gamma*(iter-stepsize))))
gamma:0.0001
power:0.75
display:100 #没训练100次,在屏幕上先是一次,如果设置为0,则不显示
max_iter:20000 #最大迭代次数,2W次就停止了
snapshot:5000 #快照,将训练出来的model和solver进行保存,snapshot 用于设置训练多少次后进行保存
snapshot_prefix:"examples/mnist/lenet" #保存路径

solver_mode:CPU

以上内容,是观看唐宇迪课程《深度学习Caffe框架入门》所作笔记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值