使用 Keras 训练神经网络模型时,发现该模型仅使用所提供数据集的一小部分进行训练,而不是整个数据集。具体来说,该模型仅使用 1875 个条目进行训练,而完整数据集由 60,000 个条目组成。
该问题的出现是由于模型拟合期间对输出的误解。拟合时显示的数字1875不是训练样本数;它代表批次的数量。默认情况下,Keras 使用 32 的批量大小进行训练。因此,给定数据集的批次总数变为:
60000 / 32 = 1875
因此,模型不是在整个数据集上进行训练,而是将数据拆分为大小为 32 的批次并迭代这些批次
要在训练期间使用整个数据集,有必要指定容纳所有训练样本的批量大小。这可以通过在 model.fit 函数中设置 batch_size 参数来实现。例如,要使用整个数据集,可以指定batch_size=60000:
<code class="python">model.fit(train_images, train_labels, epochs=10, batch_size=60000)</code>
通过使用此批量大小,模型将在一批中处理所有 60,000 个训练示例,从而有效地利用整个数据集训练。
以上是为什么我的 Keras 模型在训练期间仅使用数据集的一部分?的详细内容。更多信息请关注PHP中文网其他相关文章!