Caffe学习系列(2):sovler文件的基本参数解析

本文详细介绍了神经网络训练过程中Solver参数的作用及其配置方法,包括学习率调整策略、动量、权重衰减等关键概念。

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

sovler的主要作用就是交替调用前向传导和反向传导(forward& backward)来更新神经网络的连接权值,从而达到最小化loss,实际上就是迭代优化算法中的参数。


sovler参数:

base_lr

这个参数代表的是此网络最开始的学习速率(BeginningLearning rate),一般是个浮点数,根据机器学习中的知识,lr过大会导致不收敛,过小会导致收敛过慢,所以这个参数设置也很重要。

lr_policy

这个参数代表的是learningrate应该遵守什么样的变化规则,这个参数对应的是字符串,选项及说明如下:

  • step”-需要设置一个stepsize参数,返回base_lr* gamma ^ ( floor ( iter / stepsize ) )iter为当前迭代次数

  • multistep”-step相近,但是需要stepvalue参数,step是均匀等间隔变化,而multistep是根据stepvalue的值进行变化

  • fixed”-保持base_lr不变

  • exp”-返回base_lr* gamma ^ iter, iter为当前迭代次数

  • poly”-学习率进行多项式误差衰减,返回base_lr( 1 - iter / max_iter ) ^ ( power )

  • sigmoid”-学习率进行sigmod函数衰减,返回base_lr( 1/ 1exp( -gamma * ( iter - stepsize ) ) )

  • inv”逐渐下降inv:returnbase_lr*(1+gamma*iter)^(-power)

gamma

这个参数就是和learningrate相关的,lr_policy中包含此参数的话,需要进行设置,一般是一个实数。

stepsize

Thisparameter indicates how often (at some iteration count) that weshould move onto the next “step” of training. This value is apositive integer.

stepvalue

Thisparameter indicates one of potentially many iteration counts that weshould move onto the next “step” of training. This value is apositive integer. There are often more than one of these parameterspresent, each one indicated the next step iteration.

max_iter

最大迭代次数,这个数值告诉网络何时停止训练,太小会达不到收敛,太大会导致震荡,为正整数。

momentum

上一次梯度更新的权重,realfraction

weight_decay

权重衰减项,用于防止过拟合。

solver_mode

选择CPU训练或者GPU训练。

snapshot

训练快照,确定多久保存一次modelsolverstatepositiveinteger

snapshot_prefix

snapshot的前缀,就是modelsolverstate的命名前缀,也代表路径。

net

pathto prototxt (train and val)

test_iter

每次test_intervaltest的迭代次数,假设测试样本总数为10000张图片,一次性执行全部的话效率很低,所以将测试数据分为几个批次进行测试,每个批次的数量就是batch_size。如果batch_size=100,那么需要迭代100次才能将10000个数据全部执行完,所以test_iter设置为100

test_interval

测试间隔,每训练多少次进行一次测试。

display

间隔多久对结果进行输出

iter_size

这个参数乘上train.prototxt中的batchsize是你实际使用的batchsize。 相当于读取batchsize* itersize个图像才做一下gradientdecent。 这个参数可以规避由于gpu内存不足而导致的batchsize的限制因为你可以用多个iteration做到很大的batch即使单次batch有限。

average_loss

取多次fowardloss作平均,进行显示输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值