TensorFlow - 每个时代的时尚 MNIST 步骤
TensorFlow - Fashion MNIST Steps Per Epoch
我正在使用 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
我正在查看 docs 的拟合函数,但无法理解为什么默认步长设置为 1500。我明白当 steps_per_epoch
是 None
时行为取决于数据集的数据类型,但如何检查数据类型是张量还是 tf.data?
每个时期的步数等于ceil(samples / batch_size)
。 model.fit
中的默认批量大小为 32 (documentation)。如果 MNIST 训练数据有 60000 个样本,那么每个 epoch 将需要 60000 / 32 = 1875 步。
model.fit
还支持将数据拆分为训练集和验证集。您已使用 validation_split=0.2
完成此操作,因此只有 80% 的样本是训练集的一部分(20% 用于验证)。新的计算结果为 0.8 * 60000 / 32 = 1500。这就是为什么你看到每个时期有 1500 步的原因。
我正在使用 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
我正在查看 docs 的拟合函数,但无法理解为什么默认步长设置为 1500。我明白当 steps_per_epoch
是 None
时行为取决于数据集的数据类型,但如何检查数据类型是张量还是 tf.data?
每个时期的步数等于ceil(samples / batch_size)
。 model.fit
中的默认批量大小为 32 (documentation)。如果 MNIST 训练数据有 60000 个样本,那么每个 epoch 将需要 60000 / 32 = 1875 步。
model.fit
还支持将数据拆分为训练集和验证集。您已使用 validation_split=0.2
完成此操作,因此只有 80% 的样本是训练集的一部分(20% 用于验证)。新的计算结果为 0.8 * 60000 / 32 = 1500。这就是为什么你看到每个时期有 1500 步的原因。