Keras:图层可训练集 false 不起作用

Keras: layer trainable set false not working

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

 classifier.layers[1].trainable=False

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

既然有些奇怪,你可以尝试深入找到所有涉及的层,并在所有层中设置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