【问题标题】:how to update two connected models separatly in keras?如何在 keras 中分别更新两个连接的模型?
【发布时间】:2018-08-31 12:49:20
【问题描述】:

我有两个 CNN 模型,它们是这样连接的。

模型1(输入1,输出) 模型2(模型1.输出,输出2)

我想在每次迭代时分别更新每个模型并分别节省重量,但我不知道如何使用 keras 模型编译器和拟合生成器来实现。

为了训练操作我是这样编码的

model1.compile(优化器=..., epochs=500) model2.compile(optimizer=..., epochs=500)

但我不希望模型 2 得到模型 1 输出训练操作完成。 我想在每次迭代时获得 model1 输出。

model1 生成图像,model2 细化 model1 的输出。 我想用单独的反向传播进行训练,因为每个部分都有不同的角色。

每次迭代 模型1(输入1,输出) 更新模型1(损失(输出))

模型2(模型1.输出,输出2) 更新模型2(损失(输出2))

【问题讨论】:

    标签: keras


    【解决方案1】:

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

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

    How you can freeze layers in keras.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-08
      • 2020-08-10
      • 2021-02-22
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 2019-12-16
      • 2018-01-25
      相关资源
      最近更新 更多