我有2个模型:model1和model2。
我需要获取模型1的输出并手动操作myData并将其(操纵的myData)设置为model2的输入。
model2的输出是相对于预定义分类(即监督)的myData(对model1输出操纵)响应的分类。
我强调:串联不能解决问题。
答案 0 :(得分:1)
嗯,一般的草图如下:
# define model 1 architecture
...
# define model 2 architecture
...
# define manipulation logic
out1 = model1.output # get the output of model1
out1 = SomeLayer()(out1) # apply any number of layers as you wish
...
out_final = model2(out1) # feed the manipulated output to model2
# define the joint model
final_model = Model(model1.input, out_final)
# compile the model ...
final_model.compile(loss=..., optimizer=...) # loss is computed based on the output of model2
# fit the model
final_model.fit(...)
通过这种方式,model1
和model2
会同时受到训练,您也可以独立使用它们(例如,使用model1.predict()
或model2.predict()
)。