× epoch、batch、training step(iteration)的区别

一次epoch=所有训练数据forward+backward后更新参数的过程。
一次iteration=[batch size]个训练数据forward+backward后更新参数过程。
另:一般是iteration译成“迭代”

(1)iteration:表示1次迭代(也叫training step),每次迭代更新1次网络结构的参数;
(2)batch-size:1次迭代所使用的样本量;
(3)epoch:1个epoch表示过了1遍训练集中的所有样本。
值得注意的是,在深度学习领域中,常用带mini-batch的随机梯度下降算法(Stochastic Gradient Descent, SGD)训练深层结构,它有一个好处就是并不需要遍历全部的样本,当数据量非常大时十分有效。此时,可根据实际问题来定义epoch,例如定义10000次迭代为1个epoch,若每次迭代的batch-size设为256,那么1个epoch相当于过了2560000个训练样本。

作者:诸葛村姑
链接:https://www.jianshu.com/p/73b57de58a3a
來源:简书

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Epoch(轮次)是指将训练集中的所有样本全部使用一遍的训练过程。在深度学习中,训练集通常会被分成多个批次(Batch),每个批次作为一个小的数据集进行训练。当所有的批次都训练完成后,就完成了一个Epoch的训练。Epoch的数量通常是一个超参数,需要在训练前手动设置。 Batch(批次)是指在训练过程中,将训练集分成的若干个小批次(mini-batch),每个小批次都会经过一次前向传播和反向传播的过程。一个Batch中的数据量可以根据实际情况进行设置,通常是根据计算资源和模型性能来确定。 Iteration(迭代)是指对一个小的数据集(Batch)进行一次训练的过程。在深度学习中,通常将一个Batch中的数据分为若干个小批次(mini-batch),每个小批次都会经过一次前向传播和反向传播的过程,这个过程就是一次迭代(Iteration)。通常,一个Epoch包含多个Iteration。 所以,Epoch是整个数据集上的一次训练,Batch是对数据集进行分批处理,而Iteration是对一个小批次数据进行一次训练。它们三者是深度学习中训练模型时的基本单位,每个单位都有自己特定的含义和作用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [BatchEpochIteration](https://blog.csdn.net/VIAww/article/details/129911981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值