Keras:可训练层设置为false无效

时间:2019-09-19 16:45:37

标签: keras keras-layer

我有一个基于预训练的基于keras的双向LSTM模型。我想为前几层设置可训练的false。但这不起作用。

 classifier.layers[1].trainable=False

我还尝试使用可训练密钥更改为False的config创建模型的虚拟副本。但是,即使该虚拟模型的权重在训练后也会发生变化。

1 个答案:

答案 0 :(得分:1)

由于有些奇怪,您可以尝试深入查找所有涉及的层,并在所有层中设置trainable=False

classifier.layers[i].forward_layer.trainable = False
classifier.layers[i].backward_layer.trainable = False 
classifier.layers[i].trainable = False

然后使用classifier.compile

如果您的模型涉及子模型,则可能需要重复执行:

classifier.layers[i].layers[j].trainable = False