epoch:当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个epoch.
当一个epoch对于计算机来说太大的时候,就要把它分成多个小块(即batch)。
一个epoch<==>神经网络更新权重一次。
batch size:一个batch中的样本总数。
什么是batch?
当不能将数据一次性通过神经网络的时候,就需要将数据集分成几个batch。
number of batches:有多少个batch。
eg:若数据集有1000条数据,要想神经网络权重更新100次,则将epoch数设置为100。
若计算机能处理数据的最大容量是50,则设置的batch size的最大值为50,假设设置batch size=40,则number of batches=1000/40=25个。
(1)iteration:1次迭代(也叫training step)表示[batch size]个训练数据forward+backward后更新参数过程。
(2)batch-size:1次迭代所使用的样本量;
(3)epoch:1个epoch表示所有训练数据forward+backward后更新参数的过程。
例如:
你有1000个数据,这个数据集可能太大了,全部跑一次再调参很慢,于是可以分成100个为一个数据集,这样有10份。
batch_size=100
这100个数据组成的数据集叫batch
每跑完一个batch都要更新参数,这个过程叫一个iteration
epoch指的就是跑完这10个batch(10个iteration)的这个过程