首页 文章

如何在keras中分别更新两个连接的模型?

提问于
浏览
0

我有两个CNN模型,这样连接 .

model1(input1,output)model2(model1.output,output2)

我希望每次迭代都单独更新每个模型并分别保存重量,但我不知道如何使用keras模型编译器和拟合生成器来实现这一点 .

我这样编码用于训练操作

model1.compile(optimizer = ...,epochs = 500)model2.compile(optimizer = ...,epochs = 500)

但我不希望model2获得训练操作完成的model1输出 . 我想在每次迭代时获得model1输出 .

model1生成一个图像,model2改进了model1的输出 . 我想用单独的反向训练进行训练,因为每个部分都有不同的角色 .

for each iteration model1(input1,output)update model1(loss(output))

model2(model1.output,output2)更新model2(丢失(output2))

1 回答

  • 0

    构建模型1,编译它,冻结模型1的层,然后用它们构建模型2,然后编译模型2 .

    如果您现在训练模型2,则不会更新模型1的权重 .

    How you can freeze layers in keras.

相关问题