【发布时间】:2019-03-20 19:23:55
【问题描述】:
我的 keras 模型由多个模型组成。每个“子模型”都有多个层。如何调出“子模型”中的层并设置可训练性/冻结特定层?
【问题讨论】:
-
嗨,欢迎来到 StackOverflow。如果您举例说明您想要实现的目标以及您迄今为止尝试过的目标,您可能会更快地获得帮助。可能还需要澄清“子模型”和“设置可训练性”的含义。
标签: python keras keras-layer
我的 keras 模型由多个模型组成。每个“子模型”都有多个层。如何调出“子模型”中的层并设置可训练性/冻结特定层?
【问题讨论】:
标签: python keras keras-layer
我将使用 Keras 中的 VGG19 卷积神经网络示例,尽管它适用于任何神经网络架构:
from keras.applications.vgg19 import VGG19
model = VGG19(weights='imagenet')
您可以使用以下方法可视化图层:
model.summary()
摘要将显示网络中可训练参数的数量。冻结某些层,即网络中的最后 5 层:
for layer in model.layers[:-5]:
layer.trainable = False
再次调用摘要,您会看到可训练参数的数量减少了。
【讨论】: