对于初学者来讲,有几个概念容易混淆:
(1)iteration:表示1次迭代(也叫training step),每次迭代更新1次网络结构的参数;
(2)batch-size:1次迭代所使用的样本量;
(3)epoch:1个epoch表示过了1遍训练集中的所有样本。
值得注意的是,在深度学习领域中,常用带mini-batch的随机梯度下降算法(Stochastic Gradient Descent, SGD)训练深层结构,它有一个好处就是并不需要遍历全部的样本,当数据量非常大时十分有效。比如说你的batch-size是32,你有32000个数据,你的一个epoch就有1000次iteration,如果你的显存不够大的话,需要设置较小的batch-size