深度学习笔记——Solver超参数配置文件

Ø caffe提供了六种优化算法来求解最优参数,在solver配置文件中,通过设置type类型来选择。

 

    Stochastic Gradient Descent (type: "SGD"),#梯度下降

    AdaDelta (type: "AdaDelta"),#自适应学习率

    Adaptive Gradient (type: "AdaGrad"),#自适应梯度下降

    Adam (type: "Adam"),#本质上是带有动量项的RMSprop

    Nesterovs Accelerated Gradient (type: "Nesterov") and

RMSprop (type: "RMSProp")

各优化算法的详细介绍:http://blog.csdn.net/u012759136/article/details/52302426

 

net可以合在一起,也可以分开训练和测试的位置——不推荐。)

net: "examples/mnist/lenet_train_test.prototxt" #网络位置

train_net: "examples/hdf5_classification/logreg_auto_train.prototxt" #也可以分别设定traintest

test_net: "examples/hdf5_classification/logreg_auto_test.prototxt"

test_iter: 100   #batch的个数。

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

base_lr: 0.01 #base_lr用于设置基础学习率(随着训练次数不断减小,所以caffe提供了多种学习率调整的策略,见下)

 

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

 

 - fixed:   保持base_lr不变.

 - step:    如果设置为step,则还需要设置一个stepsize,  返回 base_lr * gamma ^ (floor(iter / stepsize)),其中iter表示当前的迭代次数

 - exp:     返回base_lr * gamma ^ iteriter为当前迭代次数

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

 

momentum 0.9 #动量(基本不修改)

 

display: 500 #每训练500次,打印显示一次。

 

max_iter: 20000 #最大迭代次数,2W次就停止了

 

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

snapshot_prefix: "examples/mnist/lenet"

 

solver_mode: CPU #设置运行模式。默认为GPU,如果你没有GPU,则需要改成CPU,否则会出错。

你可能感兴趣的:(深度学习,实践开发,caffe框架,深度学习,ubuntu)