保持tf.keras.predict和tf.data.Dataset之间的示例索引对应
创始人
2024-11-21 22:00:41
0

要保持tf.keras.predicttf.data.Dataset之间的示例索引对应,可以使用enumerate()函数来追踪索引,并在预测时将索引添加到输出中。以下是一个示例代码:

import tensorflow as tf
import numpy as np

# 创建一个示例的输入数据集
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
y = np.array([10, 20, 30])
dataset = tf.data.Dataset.from_tensor_slices((x, y))

# 构建一个简单的模型
model = tf.keras.Sequential([
    tf.keras.layers.Dense(10, activation='relu'),
    tf.keras.layers.Dense(1)
])

# 定义一个生成器函数,用于包装数据集并追踪索引
def gen():
    for i, (x, y) in enumerate(dataset):
        yield i, x, y

# 使用生成器函数创建一个新的数据集
indexed_dataset = tf.data.Dataset.from_generator(gen, output_signature=(tf.TensorSpec(shape=(), dtype=tf.int32),
                                                                        tf.TensorSpec(shape=(3,), dtype=tf.int32),
                                                                        tf.TensorSpec(shape=(), dtype=tf.int32)))

# 预测并保持索引对应
predictions = []
for i, x, y in indexed_dataset:
    prediction = model.predict(tf.expand_dims(x, 0))
    predictions.append((i, prediction))

# 打印预测结果
for i, prediction in predictions:
    print(f"Example {i}: {prediction}")

在上述代码中,我们首先创建了一个示例数据集dataset,其中包含三个输入样本和三个对应的标签。然后,我们定义了一个生成器函数gen(),它通过enumerate()函数来追踪索引,并将索引、输入样本和标签作为生成器的输出。接下来,我们使用from_generator()方法来创建一个新的数据集indexed_dataset,其中每个示例都包含了索引、输入样本和标签。

在预测阶段,我们遍历indexed_dataset并使用model.predict进行预测。我们将预测结果和示例的索引存储在predictions列表中。最后,我们按照示例的索引顺序打印预测结果。

通过这种方式,我们可以保持tf.keras.predicttf.data.Dataset之间的示例索引对应。

相关内容

热门资讯

9分钟了解!玉兔追月有挂吗!一... 9分钟了解!玉兔追月有挂吗!一直是有辅助app(有挂解惑)-哔哩哔哩1、完成玉兔追月有挂吗有辅助插件...
5分钟了解!兴动互娱辅助工具下... 5分钟了解!兴动互娱辅助工具下载!果然有辅助软件(有挂神器)-哔哩哔哩1、兴动互娱辅助工具下载有没有...
第9分钟了解!新九天辅助!切实... 第9分钟了解!新九天辅助!切实是有辅助插件(有挂头条)-哔哩哔哩1、点击下载安装,新九天辅助脚本分类...
第八分钟了解!决战卡五星游戏辅... 第八分钟了解!决战卡五星游戏辅助器!果然存在有辅助攻略(有挂总结)-哔哩哔哩;1、第八分钟了解!决战...
3分钟了解!蜀渝牌乐汇辅助!果... 3分钟了解!蜀渝牌乐汇辅助!果然真的有辅助方法(有挂辅助)-哔哩哔哩暗藏猫腻,小编详细说明蜀渝牌乐汇...
第六分钟了解!朋友圈app辅助... 第六分钟了解!朋友圈app辅助软件!一直是有辅助攻略(果真有挂)-哔哩哔哩1、朋友圈app辅助软件模...
9分钟了解!同乡游有辅助软件吗... 9分钟了解!同乡游有辅助软件吗!原来一直总是有辅助插件(有挂方法)-哔哩哔哩1、起透看视 同乡游有辅...
七分钟了解!牌乐们黑科技试用!... 七分钟了解!牌乐们黑科技试用!总是存在有辅助技巧(有挂辅助)-哔哩哔哩牌乐们黑科技试用辅助器是一种具...
第七分钟了解!微信老友广东辅助... 第七分钟了解!微信老友广东辅助器!好像存在有辅助插件(有挂实锤)-哔哩哔哩1、许多玩家不知道微信老友...
九分钟了解!欢乐情怀脚本辅助器... 九分钟了解!欢乐情怀脚本辅助器!好像存在有辅助攻略(有挂存在)-哔哩哔哩1、超多福利:超高返利,海量...