请确保下列条件相同。据我所知,我认为它们是相同的。请引导我。
def Model_a():
return Model(inputs=inputs, outputs=outputs, name='Model1')
def Model_b():
return Model(inputs=inputs, outputs=outputs, name='Model2')
def Model_1(Model_a, Model_b):
return Model(inputs=inputs, outputs=[output1,output2])
def Model_2(Model_a, Model_b):
return Model(inputs=inputs, outputs=outputs)
#Condition 1
Model_1.train_on_batch(x,[y,z])
#Condition 2
Model_2.train_on_batch(x,z)
Model_b.train_on_batch(x,y)
答案 0 :(得分:1)
让一个输入有两个输出。 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是等效的。可以通过下图以图形方式显示这两个条件。
希望这能回答您的含糊不清。