首页 文章

Keras“可训练”的范围

提问于
浏览
0

我有两个Keras网络 . 让我们说为了解释我的模型类似于GAN . 所以,我们有一个鉴别器(D)和一个发生器(G) . 显然,为了训练(G),应该冻结(D)层 . 如果,我使用 D.trainable = False 冻结它们,那么我应该在训练(D)时反转这个参数吗?

在Keras中 model.trainable 的范围是什么?我见过只改变一次参数状态的代码:https://github.com/nairouz/Keras-GAN/blob/master/gan/gan.py

怎么可能这样做?任何解释?

1 回答

  • 0

    How can I "freeze" Keras layers?

    此外,您可以在实例化后将图层的可训练属性设置为True或False . 为使其生效,您需要在修改可训练属性后在模型上调用compile() .

    这同样适用于模型 . 这意味着当您设置 D.trainable = False 时,在编译 D (或利用 D 的任何其他模型)之前,这不会生效,因此它不会影响您之前编译的模型 .

相关问题