我想在每个时期之后在评估模式下评估训练和验证,例如设置
training=False
。
如何使用 tf.keras 和
model.fit(train, epochs=EPOCH,callbacks=callbacks,validation_data=[train, valid])
为了在每个时期之后使用“tf.keras”评估 Tensorflow 中的训练和验证数据集,必须使用自定义回调。当处于评估模式时(即当training=False时),model.fit不会明确评估训练数据;相反,它默认评估验证数据。
为此,请构造一个自定义回调,如下所示:
指定唯一的回调:
'tf.keras.callbacks.Callback'是一个子类。
为了评估训练和验证数据集,请覆盖 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)