batchsize:每迭代一次,网络训练图片的数量,例如:如果你的batchsize=256,则你的网络每迭代一次,训练256张图片;则,如果你的总图片张数为1280000张,则要想将你所有的图片通过网络训练一次,则需要1280000/256=5000次迭代。
epoch:表示将所有图片在你的网络中训练一次所需要的迭代次数,如上面的例子:5000次;我们称之为 一代。所以如果你想要你的网络训练100代时,则你的总的迭代次数为max_iteration=5000*100=500000次;
max_iteration:网络的最大迭代次数如上面的500000次;同理,如果max_iteration=450000,则该网络被训练450000/5000=90代。
- - 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是均匀等间隔变化,而mult-
- step则是根据stepvalue值变化
- - poly: 学习率进行多项式误差, 返回 base_lr (1 - iter/max_iter) ^ (power)
- - sigmoid: 学习率进行sigmod衰减,返回 base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))