`tf.keras.model.evaluate()` 在以不同格式提供相同数据时提供不同的结果
`tf.keras.model.evaluate()` provides different results when fed the same data in different formats
背景
我正在查看以下 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
。
next(iter(ds))
只会 return 一个 batch/observation。在 model.evaluate
中传递整个数据集将 return 整个数据集的指标。
背景
我正在查看以下 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
。
next(iter(ds))
只会 return 一个 batch/observation。在 model.evaluate
中传递整个数据集将 return 整个数据集的指标。