net:训练时用到的网络的路径
也可以分别设置训练和测试网络
train_net: "" test_net: ""
test_iter: 迭代N次可以覆盖到所有的测试集,即总样本数与 batch_size 的比值
test_interval: 迭代多少次进行一次预测
base_lr:学习率
gamma:学习率的变化率,可以用阶段式改变,即设置step,每step次迭代学习率改变gamma倍
weight_decay: 权重衰减,表示对较大权重的惩罚(正则化)因子,防止过拟合的一个参数
lr_policy: 学习率衰减学习策略
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:学习率进行sigmod衰减,返回 base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))
display: 输出log的迭代次数,即每隔N次进行一次log输出,0则不显示
max_iter: 最大迭代次数
snapshot: 训练多少次后进行保存,默认为0不保存。
snapshot_prefix: 权重保存路径,保存model和solver状态
(可以设置 snapshot_format,保存类型,有两种选择:HDF5 和 BINARYPROTO ,默认为 BINARYPROTO)
solver_mode: 运行模式,GPU或者CPU
type: 优化器,有六种,默认SGD
Stochastic Gradient Descent (type: "SGD"
),
AdaDelta (type: "AdaDelta"
),
Adaptive Gradient (type: "AdaGrad"
),
Adam (type: "Adam"
),
Nesterov’s Accelerated Gradient (type: "Nesterov"
)
RMSprop (type: "RMSProp"
)
device_id: GPU序号,一个为0