我的keras模型由多个模型组成。每个“子模型”都有多个层。如何调出“子模型”中的图层并设置可训练性/冻结特定图层?
我将在Keras中使用VGG19卷积神经网络的一个例子,尽管它适用于任何神经网络架构:
from keras.applications.vgg19 import VGG19
model = VGG19(weights='imagenet')
您可以使用以下方式显示图层:
model.summary()
摘要将显示网络中可训练参数的数量。要冻结某些图层,即网络中的最后5个图层:
for layer in model.layers[:-5]:
layer.trainable = False
再次调用摘要,您将看到可训练参数的数量已减少。