Пусть есть два выхода для одного входа.У Model_a есть выходной файл output_a, а у Model_b есть выходной файл output_b.
def Model_a():
output_a = ... (layers of model_a)
return Model(inputs=inputs, outputs=output_a, name='Model1')
def Model_b():
output_b = ... (layers of model_b)
return Model(inputs=inputs, outputs=output_b, name='Model2')
Теперь, если вы хотите определить модель, в которой оба выхода объединены в одну модель, как:
def Model_1(...):
output_a = ... (layers of model_a)
output_b = ... (layers of model_b)
return Model(inputs=inputs, outputs=[output_a,output_b])
Тогда условие 1:
Model_1.train_on_batch(x,[y,z])
И условие 2:
Model_a.train_on_batch(x,z)
Model_b.train_on_batch(x,y)
В этом случае условие-1 и условие-2 эквивалентны.Графически оба условия можно продемонстрировать на следующей диаграмме.
.
Надеюсь, это ответит на вашу двусмысленность.