说明
全部基于自己的实践理解,如有不对之处,欢迎在评论区指出。
1. batch和batch_size
还是以例子进行解释吧,假设我们有2000个数据样本,设batch_size = 100,则 batch = 2000/100 = 20.
注:
batch_size 一般取32,64,128等2的N次方,batch的计算也是向上取整。
2. step、iteration、epoch
step和iteration: 在我看来,两者的意思是完全一样,两者都是指参数更新的次数。
对于epoch: 全部样本训练完算一个epoch.
例子:
样本共2000个,batch_size=100, 所以batch=20。
epoch=1表示2000个样本全部参与训练一次,那么此时,step=iteration=batch=20,因为step和iteration表示的是参数的次数,而深度学习都是在运行完一个batch_size的数据之后才会进行反向传播,才会更新参数。
所以,如果epoch=2, 可以推导出step=iteration=20*2=40。