假设整体训练样本60000个,验证样本40000个
1. 训练样本有关的参数:
batch_size:600
所以,需要迭代60000/600=100次才能完成一次遍历训练,即一个epoch。
因此,test_interval设置为大于或者等于100再进行验证。当然你可以训练多个epoch,比如100个,这时max_iter设为10000.
2. 验证时的有关参数:
batch_size=500时,
test_iter大于等于80.
3.学习率
学习率变化规律我们设置为随着迭代次数的增加,慢慢变低。总共迭代10000次,我们将变化2次,所以stepsize设置为10000/2=5000,即每迭代5000次,我们就降低一次学习率。
参数含义
net: “examples/AAA/train_val.prototxt” #训练或者测试配置文件
test_iter: 80 #完成一次测试需要的迭代次数
test_interval: 100 #测试间隔
base_lr: 0.01 #基础学习率
lr_policy: “step” #学习率变化规律
gamma: 0.1 #学习率变化指数
stepsize: 5000 #学习率变化频率
display: 20 #屏幕显示间隔
max_iter:10000#最大迭代次数
momentum: 0.9 #动量
weight_decay: 0.0005 #权重衰减
snapshot: 5000 #保存模型间隔
snapshot_prefix: “models/A1/caffenet_train” #保存模型
solver_mode: CPU #使用CPU