(1)batch_size:
单次训练用的样本数,通常为2^N,如32、64、128…
例如:batch_size=32为每一次载入数据集为32个样本数。
相对于正常数据集,如果过小,训练数据就收敛困难;过大,虽然相对处理速度加快,但所需内存容量增加。
要根据电脑的内存容量进行设定,使用中需要根据计算机性能和训练次数之间平衡。
另:如果batch_size设置为最大,就是原始的梯度下降。
如果batch_size设置为1,则位随机梯度下降。
(2)iteration:
1个iteration等于使用batch_size个的样本训练一次;
例如:iteration=2为每一次batch_size=32载入数据时,迭代训练2次。
(3)epoch:
1个epoch等于使用训练集中的全部样本训练一次;
例如:epoch=4为全部样本训练4次。
例如:训练集中有500个样本,则
batch_size=16, iteration =10, epoch=5
相当于每训练一次数据集则有500/16等于31.25=32次的载入数据。每载入一次16个样本的数据,就要训练10次;每32次载入数据后,训练5次。
最终每一个epoch运行10*32=320次iteration训练