【发布时间】:2020-07-17 21:43:59
【问题描述】:
我正在使用 Kera 的时尚 MNIST 数据集。当我拟合我的模型时,我注意到要完成一个 epoch,它必须经过 1500 步。
history = model.fit(x_train, y_train, epochs=30, validation_split=0.2)
Epoch 3/30
1500/1500 [==============================] - 3s 2ms/step - loss: 0.4494 - sparse_categorical_accuracy: 0.8438 - val_loss: 0.4691 - val_sparse_categorical_accuracy: 0.8308
Epoch 4/30
964/1500 [==================>...........] - ETA: 0s - loss: 0.4294 - sparse_categorical_accuracy: 0.8504
我正在查看 fit 函数的 docs,但不明白为什么默认步数设置为 1500。我知道当 steps_per_epoch 是 None 时,行为取决于数据类型数据集,但是如何检查数据类型是张量还是 tf.data?
【问题讨论】:
-
每个epoch的步数等于
ceil(samples / batch_size)。它不依赖于数据类型。 -
@jakub,如果我没有在我的代码中指定
batch_size,它会默认在哪里? -
默认批量大小为 32。
model.fit文档中有此内容。 -
@jakub,这对我来说没有意义。如果每个 epoch 的步数等于
ceil(60000/32),那么日志输出应该是 1875/1875,对吧? -
请看我的回答。
标签: tensorflow tensorflow2.0 tf.keras