赞
踩
iteration:1个iteration等于使用batchsize个样本训练一次;
epoch:1个epoch等于使用训练集中的全部样本训练一次,通俗的讲epoch的值就是整个数据集被轮几次。
比如:
我这边的数据量是4670,batch设置为6,那么一轮的iteration就是4670//6+1=779
而epoch是这样:
参考文章1:深度学习中的batch、epoch、iteration的含义
参考文章2:深度学习中的epochs,batch_size,iterations理解
mnist 数据集有张图片作为训练数据,张图片作为测试数据。
假设现在选择 Batch_Size = 对模型进行训练。迭代次。
每个 Epoch 要训练的图片数量:(训练集上的所有图像)
训练集具有的 Batch 个数:
每个 Epoch 需要完成的 Batch 个数:
每个 Epoch 具有的 Iteration 个数:(完成一个Batch训练,相当于参数迭代一次)
每个 Epoch 中发生模型权重更新的次数:
训练 10 个Epoch后,模型权重更新的次数:
不同Epoch的训练,其实用的是同一个训练集的数据。
第1个Epoch和第10个Epoch虽然用的都是训练集的图片,但是对模型的权重更新值却是完全不同的。
因为不同Epoch的模型处于代价函数空间上的不同位置,模型的训练代越靠后,越接近谷底,其代价越小。
总共完成30000次迭代,相当于完成了个Epoch
参考文章:深度学习 | 三个概念:Epoch, Batch, Iteration
比如我训练集有100个数据样本,我batch_size是20,我采用SGD随机梯度下降,从中随机抽20个样本计算平均损失,然后用梯度下降法更新一次参数,就相当于做了一次iteration。然后我做5次iteration就相当于做了一次epoch
不知道这样理解对不对,日后再回查下!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。