参考链接:https://blog.csdn.net/program_developer/article/details/78597738
(1)iteration:表示1次迭代,每次迭代更新1次网络结构的参数,1个iteration等于使用batchsize个样本训练一次;
(2)batch_size:批大小,即1次迭代所使用的样本量。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;
(3)epoch:1个epoch等于使用训练集中的全部样本训练一次。
在深度学习领域中,常用随机梯度下降算法(Stochastic Gradient Descent, SGD)训练深层结构,它有一个好处就是并不需要遍历全部的样本,当数据量非常大时十分有效。此时,可根据实际问题来定义epoch。举个栗子,定义10000次迭代为1个epoch,若每次迭代的batch_size设为256,那么1个epoch相当于过了2560000个训练样本。再举个栗子,训练集有1000个样本,batchsize=10,那么训练完整个样本集需要100次iteration,1次epoch。