Keras 训练数据差异
在按照官方 TensorFlow 指南使用 Keras 构建神经网络时,您注意到该模型仅使用尽管有 60,000 个条目,但训练期间可用数据集的一部分。
了解批量大小
模型拟合期间显示的数字 1875 并不表示训练样本,而是表示批次数量。 model.fit 方法有一个可选参数,batch_size,它决定训练期间同时处理的数据点的数量。
如果不指定batch_size,则默认值为 32。在这种情况下,总数据集为 60,000 张图像,批次数变为:
60000 / 32 = 1875
因此,虽然有 60,000 个数据点,但模型实际上训练了 1875 个批次,每个批次包含 32 个数据点。这是减少内存占用并提高训练速度的常见做法。
调整批量大小
要在训练期间使用整个数据集而不进行批处理,您可以指定model.fit 方法中的 batch_size 为 60000。但是,这可能会减慢训练速度并需要更多内存。
或者,您可以调整batch_size以在训练效率和内存利用率之间找到折衷方案。例如,您可以将其设置为 1024 或 2048,这仍然会显着减少批次数量,而不会牺牲太多性能。
以上是为什么我的 Keras 模型仅在数据集的一部分上进行训练?的详细内容。更多信息请关注PHP中文网其他相关文章!