tf.keras 在每个时期后以评估模式评估训练和验证

问题描述 投票:0回答:1

我想在每个时期之后在评估模式下评估训练和验证,例如设置

training=False

如何使用 tf.keras 和

model.fit(train, epochs=EPOCH,callbacks=callbacks,validation_data=[train, valid])
tensorflow keras tf.keras
1个回答
0
投票

为了在每个时期之后使用“tf.keras”评估 Tensorflow 中的训练和验证数据集,必须使用自定义回调。当处于评估模式时(即当training=False时),model.fit不会明确评估训练数据;相反,它默认评估验证数据。

为此,请构造一个自定义回调,如下所示:

指定唯一的回调:

  1. 'tf.keras.callbacks.Callback'是一个子类。

  2. 为了评估训练和验证数据集,请覆盖 on_epoch_end 函数。 将此自定义回调包含在您的训练循环修改中。

    def on_epoch_end(自我,纪元,日志=无): # 评估训练数据 train_loss, train_acc = self.model.evaluate(self.train_data, verbose=0) # 评估验证数据 val_loss, val_acc = self.model.evaluate(self.val_data, verbose=0)

© www.soinside.com 2019 - 2024. All rights reserved.