【发布时间】:2020-02-18 12:02:42
【问题描述】:
我正在尝试使用 Tensorflow 2.0 在 Google 的 Colab 中训练模型。然而,训练并没有完成它的第一个 epoch。计步器已达到“未知”的 9144(仍在继续):
为什么会显示“未知”消息?
这是我的顺序模型:
感谢您的帮助。
【问题讨论】:
标签: tensorflow keras google-colaboratory tensorflow-estimator tensorflow2.0
我正在尝试使用 Tensorflow 2.0 在 Google 的 Colab 中训练模型。然而,训练并没有完成它的第一个 epoch。计步器已达到“未知”的 9144(仍在继续):
为什么会显示“未知”消息?
这是我的顺序模型:
感谢您的帮助。
【问题讨论】:
标签: tensorflow keras google-colaboratory tensorflow-estimator tensorflow2.0
您正在使用 tf.data 的 Dataset api,其中数据不一定会加载到内存中,因此无法知道数据集有多长,因此无法计算批次数。因此,在第一个 epoch 中,它是未知的,但在第一个 epoch 之后,分母将显示正确的数字。
否则,如果您希望在第一个 epoch 本身中看到它,在 model.fit() 中,您可以通过使用其中的 steps_per_epoch 参数自己设置批次数,然后您将不会在第一个时代。但为此,请确保您的数据集重复次数与使用 repeat() 操作的时期数一样多。
编辑
repeat() 是一个数据集操作,它将重复数据集任意多次。因此,您将看到数据集中所有元素的次数与设置重复次数的次数一样多。
【讨论】:
ImageDataGenerator 说:Found 3505 images belonging to 1 classes. 和我的验证生成器说Found 389 images belonging to 1 classes.,现在我的柜台在 > 7k。这是什么意思?
我遇到了同样的问题,但是在一个时期完成后,模型知道每批中有多少数据。所以之后它以正确的格式显示。
Epoch 1/10
219/219 [==============================] - 240s 1s/step - loss: -53.7426 - binary_accuracy: 0.1001 - val_loss: 0.0000e+00 - val_binary_accuracy: 0.0000e+00
Epoch 2/10
219/219 [==============================] - 20s 90ms/step - loss: -53.6805 - binary_accuracy: 0.1001 - val_loss: -53.3822 - val_binary_accuracy: 0.1003
【讨论】: