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

Jam*_*own 5 python keras tensorflow

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

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

my_model = tf.keras.models.Model(inputs=my_inputs_dict, outputs=my_outputs_dict)
Run Code Online (Sandbox Code Playgroud)

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

如果来自的键my_output_dict或字典值(层)的名称my_output_dict附加到输出my_model.predict(...)

如果我使用tf.keras.model.savetf.serving API将模型保存为 TensorFlow 的saved_model 格式 protobuf 以 这种方式工作 - 具有命名的输入和输出......

Ron*_*Luc 2

使用my_model.output_names

给定

my_model = tf.keras.models.Model(inputs=my_inputs_dict, outputs=my_outputs_dict)
Run Code Online (Sandbox Code Playgroud)

创建dict自己 from ,这是按预测顺序排列的输出层属性my_model.output_names列表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)}
Run Code Online (Sandbox Code Playgroud)