如何在模型内部冻结模型的特定层?

时间:2019-03-20 19:23:56

标签: python keras keras-layer

我的keras模型由多个模型组成。每个“子模型”都有多个层次。如何在“子模型”中调出图层并设置可训练性/冻结特定图层?

1 个答案:

答案 0 :(得分:0)

我将在Keras中使用VGG19卷积神经网络的示例,尽管它适用于任何神经网络体系结构:

from keras.applications.vgg19 import VGG19 

model = VGG19(weights='imagenet')

您可以使用以下方式可视化图层:

model.summary()

摘要将显示网络中可训练参数的数量。要冻结某些层,即网络中的最后5层:

for layer in model.layers[:-5]:
    layer.trainable = False

再次调用摘要,您会看到可训练参数的数量减少了。