Keras:层可训练集错误不工作

Keras:层可训练集错误不工作,keras,keras-layer,Keras,Keras Layer,我有一个基于预训练keras的双向LSTM模型。我想为前几层设置trainable false。但它不起作用 classifier.layers[1].trainable=False 我还尝试使用config创建模型的虚拟副本,并将trainable key更改为false。但即使是虚拟模型的权重在训练后也会发生变化。因为有些奇怪的事情,您可以尝试深入查找所有涉及的层,并在所有层中设置trainable=False: classifier.layers[i].forward_layer.tr

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

 classifier.layers[1].trainable=False

我还尝试使用config创建模型的虚拟副本,并将trainable key更改为false。但即使是虚拟模型的权重在训练后也会发生变化。

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

classifier.layers[i].forward_layer.trainable = False
classifier.layers[i].backward_layer.trainable = False 
classifier.layers[i].trainable = False
使用
分类器,然后编译

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

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

尝试
分类器。在我尝试过的@DanielMöller之后编译
trainable=False
。不起作用它是多层次模型吗?
classifier.layers[1]。层是否存在?否。它表示层没有属性层。这是双向包装器LSTM层。不应该发生这种情况,但您可以将这三个层一起尝试:
层[i]。向前\u层。可训练=False
层[i]。向后\u层。可训练=False
层[i]。可训练=False
。然后使用
编译