python - Keras 的 model.predict 可以返回字典吗?

标签 python tensorflow keras

文档 https://keras.io/models/model/#predict表示 model.predict 返回预测的 Numpy 数组。 在 Keras API 中,有办法区分这些数组中的哪些是哪些吗?在 TF 实现中怎么样?

在文档同一页的顶部,他们说“模型可以使用列表指定多个输入和输出”。如果相反,通过字典,似乎没有什么问题:

my_model = tf.keras.models.Model(inputs=my_inputs_dict, outputs=my_outputs_dict)

当调用 model.fit 时,相同的文档说“如果模型中的输入层被命名,您还可以传递将输入名称映射到 Numpy 数组的字典。”

如果将 my_output_dict 中的键或 my_output_dict 中的字典值(层)名称附加到 my_model 的输出,那就太好了。预测(...)

如果我使用以下命令将模型保存为 TensorFlow 的 saving_model 格式 protobuf tf.keras.model.save tf.serving API 以这种方式工作——使用命名的输入和输出...

最佳答案

使用my_model.output_names

给定

my_model = tf.keras.models.Model(inputs=my_inputs_dict, outputs=my_outputs_dict)

根据my_model.output_names自行创建dict,它是按预测顺序排列的输出层name属性的列表

prediction_list = my_model.predict(my_test_input_dict)
prediction_dict = {name: pred for name, pred in zip(my_model.output_names, prediction_list)}

关于python - Keras 的 model.predict 可以返回字典吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57277926/

相关文章:

python - 使用自定义层保存 Keras 模型

python - 此 python 代码是否使用深度优先搜索 (DFS) 来查找所有路径?

python - 我怎样才能打印这个?

python - 不要使用 tf.reset_default_graph() 清除嵌套图

python - 将 MPI 与 TensorFlow 结合使用的影响

machine-learning - keras CNN 1-D -> 为什么所有预测类返回的结果相同?

Python - 计算数据框中另一列为空的列中的值数

python - 如何处理 ImportError : cannot import name 'pytree' from 'jaxlib' of using jax?

python - 属性错误:模块 'tensorflow' 没有属性 'RunOptions'

python - 在 tf 数据集上应用文本矢量化后如何创建滑动窗口?