【问题标题】:TensorFlow: how to determine if we want to break the training dataset into batchesTensorFlow:如何确定我们是否要将训练数据集分成批次
【发布时间】:2017-05-30 19:20:14
【问题描述】:

我正在学习 TensorFlow(以及一般的深度学习)。我想知道我们什么时候需要将输入的训练数据分成批次?我们如何确定批量大小?有经验法则吗?谢谢!

【问题讨论】:

    标签: python python-3.x tensorflow deep-learning data-science


    【解决方案1】:

    通常,深度学习算法在内存有限的 GPU 上运行,因此一次只能加载有限数量的输入数据样本(在通常定义为批量大小的算法中)。

    一般而言,较大的批大小会减少总体计算时间(因为内部矩阵乘法在 GPU 中以并行方式完成,因此对于大批大小,时间可以节省在读/写梯度和可能的其他一些操作输出中)。

    大批量的另一个可能的好处是: 在多类分类问题中,如果类的数量很大,一个 较大的批大小使算法在不同类别上的泛化效果更好(技术上避免过度拟合)(而这样做的标准技术是保持批中类别的均匀分布)。

    在决定批量大小时,还有一些其他因素会起作用:学习率和优化方法的类型。

    我希望这在一定程度上回答了你的问题!

    【讨论】:

      猜你喜欢
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 2022-06-25
      • 2021-11-30
      • 2013-06-29
      • 2018-12-27
      相关资源
      最近更新 更多