zoukankan      html  css  js  c++  java
  • 深度学习中的batch_size、epoch和iterations

    在进行模型训练的时候经常会遇到这三个参数:batch_size、epoch和iterations,那么它们之间的关系是怎样的呢?

    首先,产生的原因主要是:

    1. 原本的大批量梯度下降训练时,每次要处理完所有数据才更新梯度和损失值,需要的时间太长,计算开销大。

    2. 但是呢,每次计算一个数据,就更新一次损失值和梯度值,虽然速度快,但是不容易收敛,而且不一定找到全局最优解。

    于是,就出现了折中方法 —— 小批量梯度下降策略,所以就有了这些概念。

    batch_size:指的是每批次的大小,即每个iteration送入神经网络的样本量,也就是每个batch包含的样本量。

    iterations:指的是迭代次数,也就是每处理完所有数据一次,需要多少次迭代,每一个batch_size的数据,完成一次训练过程,叫做完成了一次迭代(iteration)

    epoch:一个epoch指的是,将所有数据送入神经网络,完成一次整体的前向计算和反向传播的过程。

    通俗一点说:如果我们有10000个样本,分为4个batch,

    那么batch_size值就是:10000/4=2500;

    iterations值就是:4;

    全体数据被计算一次,就完成了一次epoch。

    ##

    参考:

    https://www.jianshu.com/p/e5076a56946c/

    https://blog.csdn.net/nini_coded/article/details/79250703

  • 相关阅读:
    python设计模式
    tomcat在ubuntu下的配置
    排序算法
    python爬虫(一)
    python实现推荐系统(二)
    python实现k近邻
    python实现逻辑回归
    python实现推荐系统(一)
    SGD实现推荐系统
    pyqt4+chatterbot实现简单聊天机器人程序
  • 原文地址:https://www.cnblogs.com/qi-yuan-008/p/12518063.html
Copyright © 2011-2022 走看看