Tensorflow基础4-(epoch, iteration和batchsize)

  • batchsize:批大小。在深度学习中,一般采用SGD训练,
    即每次训练在训练集中取batchsize个样本训练;
  • iteration:1个iteration等于使用batchsize个样本训练一次;
  • epoch:1个epoch等于使用训练集中的全部样本训练一次;

举个例子,训练集有1000个样本,batchsize=10,那么:
训练完整个样本集需要:100次iteration,1次epoch。

2、
one epoch:所有的训练样本完成一次Forword运算以及一次BP运算
batch size:一次Forword运算以及BP运算中所需要的训练样本数目,其实深度学习每一次参数的更新所需要损失函数并不是由一个{data:label}获得的,而是由一组数据加权得到的,这一组数据的数量就是[batch size]。当然batch size 越大,所需的内存就越大,要量力而行
iterations(迭代):每一次迭代都是一次权重更新,每一次权重更新需要batch size个数据进行Forward运算得到损失函数,再BP算法更新参数。

最后可以得到一个公式:
one epoch = numbers of iterations = N = 训练样本的数量/batch size

一次epoch 总处理数量 = iterations次数 * batch_size大小

猜你喜欢

转载自blog.csdn.net/fly_time2012/article/details/82893592