深度学习中batch、epoch、 iteration和batch size理解

(1)batch:将数据集分成几个 batch,每一个batch数据的数量就是[batch size],在一个 epoch 中,batch 数和迭代数是相等的。

(2)batch size:批大小。一个 batch 中样本总数。在DeepLearning中,一般采用SGD训练,即每次训练在训练集中取batch size个样本训练;

(3)iteration:1个iteration等于使用batch size个样本训练一次;

(4)epoch:1个epoch等于使用训练集中的全部样本训练一次;


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

example1:举个粒子,训练集有10582个样本,batch size=8,那么训练完整个样本集需要:10582/8=1322次iteration,一次epoch。

如下图,每一次的iteration送进去8张图片训练。

example2:举个粒子,训练集合有422个样本,batch size=2,那么训练完整个样本集需要:422/2=211次iteration,一次epoch。

如下图,每一次iteration送进去2张图片训练。(我这里是设置了每5次iteration打印一次loss,所以每显示211。)

 


batch的思想,至少有两个作用,一是更好的处理非凸的损失函数,非凸的情况下, 全样本就算工程上算的动, 也会卡在局部优上, 批表示了全样本的部分抽样实现, 相当于人为引入修正梯度上的采样噪声,使“一路不通找别路”更有可能搜索最优值;二是合理利用内存容量。

GPU对2的幂次的batch可以发挥更佳的性能,因此设置成16、32、64、128…时往往要比设置为整10、整100的倍数时表现更优
————————————————

原文链接:https://blog.csdn.net/suoyan1539/article/details/79583867

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值