【问题标题】:`tf.keras.model.evaluate()` provides different results when fed the same data in different formats当以不同格式输入相同数据时,`tf.keras.model.evaluate()` 会提供不同的结果
【发布时间】:2021-05-10 03:15:02
【问题描述】:

背景

我正在查看以下 Tensorflow 时间序列教程: https://www.tensorflow.org/tutorials/structured_data/time_series#single-shot_models

对于这里的讨论,我将考虑多步模型部分中的“multi_linear_model”。

我添加以下行

multi_val_performance_new['Linear'] = multi_linear_model.evaluate(next(iter(multi_window.val))[0], next(iter(multi_window.val))[1])

在这行之后

multi_val_performance['Linear'] = multi_linear_model.evaluate(multi_window.val).

当我检查损失和平均绝对误差时,它们是不同的。

问题

为什么 - 当我将原始的 tf.Dataset 提供给 model.evaluate 时 - 我会得到一组损失和平均绝对误差,但是当我将其组件 - (next(iter(tf.Dataset))[0], next(iter(tf.Dataset)[1]) 提供给 model.evaluate 时 - 我会得到不同的吗一组损失和平均绝对误差?

注意

我在def make_dataset(self, data): 中设置了shuffle = false

【问题讨论】:

    标签: python tensorflow keras tf.keras


    【解决方案1】:

    next(iter(ds)) 只会返回一批/观察。在model.evaluate 中传递整个数据集将返回整个数据集的指标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多