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

2024-04-24 16:59:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我的keras模型由多个模型组成。每个“子模型”都有多个层。如何调用“子模型”中的层并设置可训练性/冻结特定层?你知道吗


Tags: 模型keras
1条回答
网友
1楼 · 发布于 2024-04-24 16:59:23

我将使用Keras中VGG19卷积神经网络的一个示例,尽管它适用于任何神经网络架构:

from keras.applications.vgg19 import VGG19 

model = VGG19(weights='imagenet')

可以使用以下方法可视化图层:

model.summary()

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

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

再次调用摘要,您将看到可训练参数的数量已经减少。你知道吗

相关问题 更多 >