特定输入的多个指标

Mas*_*ard 2 python keras tensorflow

无论是自定义的还是从 keras 导入的,我都有多个损失和指标。有没有办法指定哪些模型输出可以输入到哪个指标而不是全部打印或计算?

Mar*_*man 7

是的,您可以将损失/指标作为字典传递,将图层名称映射到损失/指标。

文档中的引用:

损失:...如果模型有多个输出,您可以通过传递字典或损失列表对每个输出使用不同的损失。模型将最小化的损失值将是所有单个损失的总和。

指标:...要为多输出模型的不同输出指定不同的指标,您还可以传递一个字典,例如 metrics={'output_a': 'accuracy'}。

例子:

model.compile(
   optimizer='rmsprop',
   loss={'output_1': 'loss_1', 'output_2': 'loss_2'},
   loss_weights={'output_1': 1., 'output_2': 0.2},
   metrics={'output_1': 'metric_1', 'output_2': ['metric_2', 'metric_3']})
Run Code Online (Sandbox Code Playgroud)

您可以在以下位置阅读有关使用 Keras 的多输出模型的更多信息:https ://keras.io/getting-started/functional-api-guide/#multi-input-and-multi-output-models