python - 当以不同格式输入相同数据时,`tf.keras.model.evaluate()` 会提供不同的结果
问题描述
背景
我正在查看以下 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
我会得到一组不同的损失和平均绝对误差?
注意
我已经shuffle = false
进去了def make_dataset(self, data):
。
解决方案
next(iter(ds))
只会返回一批/观察。传入整个数据集model.evaluate
将返回整个数据集的指标。
推荐阅读
- c# - 将数据库连接到 Xamarin
- angular - 如何将“2019 年 5 月 6 日星期一 00:00:00 GMT+0530(印度标准时间)”日期格式转换为 angular7 和 angular 材料中的 mm/dd/yyyy
- reactjs - 创建反应应用程序错误 - 找不到名称“描述”
- arrays - 在 Arrayformula 中使用 Weekday 的 Google 表格
- javascript - 使用 Javascript 在表格内创建文本框
- enums - C++/CLI:循环非连续枚举
- python - wxpython:设置应用程序颜色(默认属性)
- asp.net-mvc - 单击“在浏览器中查看”时无法打开谷歌浏览器
- vue.js - VueJS 道具没有通过路由器链接传递给组件
- forms - 您如何使用 youtube 中的 uri 打开视频。我希望它在应用程序内的视频播放器中打开