【Caffe C++】slover配置文件说明

本文详细介绍了Caffe框架中六种优化算法的选择与配置方法,包括SGD、AdaDelta、AdaGrad、Adam、Nesterov和RMSprop。同时,深入解析了solver配置文件中的关键参数,如net、test_iter、base_lr、lr_policy、momentum、display、max_iter等,为读者提供了全面的Caffe训练模型参数调优指南。

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

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

    1.stochastic Gradient Descent(type:"SGD"),
    2.AdaDelta(type:"AdaDelta"),
    3.Adaptive Gradient(type:"AdaGrad"),
    4.Adam(type:"Adam"),
    5.Nesterov's Accelerated Gradient (type:"Nesterov") and 
    6.RMSprop (type:"RMSProp")

net:"examples/mnist/lenet_train_test.prototxt"	
test_iter:100
test_interval: 500
base_lr: 0.01
momentum: 0.9
type:SGD		#一般都选用SGD
weight_decay: 0.0005
lr_policy: "inv"
gamma: 0.0001
power: 0.75
display: 100
max_iter:20000
snapshot:5000
snapshot_prefix:"examples/mnist/lenet"
solve_mode:CPU


#参数解析

net:"examples/mnist/lenet_train_test.prototxt"  #网络位置
#也可以分别设置train和test,一般不分别设置
    train_net:"examples/hdf5_classification/logreg_auto_train.prototxt"  
    test_net:"examples/hdf5_classification/logreg_auto_test.prototxt"

test_iter:100 		 #迭代了多少个样本呢?batch*test_iter 假设有5000个测试样本,一次测试想跑遍5000个则需要设置test_iter×batch=5000

test_interval:500 	#测试间隔。也就是每训练500次,才进行一次测试。

base_lr:0.01 		#base_lr用于设置基础学习率

lr_policy:"inv"  	#学习率调整的策略,大多是都用这个

lr_policy:"inv"  #学习率调整策略

        -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:学习率进行sigmoid衰减,返回base_lr(1/(1+exp(-gamma*(iter-stepsize))))

momentum:0.9 #动量 ,用于提高优化速度,相当于力的合成,基本永远都是0.9

display:100 #每训练100次,在屏幕上显示一次,如果设置为0则为不显示

max_iter:20000 #最大迭代次数,2w次就停止了,设置的数可以大一点

sanpshot:5000 #快照 将训练出来的model和slover状态进行保存,snapshot用于设置训练多少次后进行保存

solver_mode:CPU  #设置运行模式 默认为GPU,没有GPU则需要设置为cpu


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值