[英]Keras saving weights of individual layers instead of a model
我目前正在尝试创建多个模型,这些模型将重用某些图层,包括其权重。 我通过创建一个列表表来初始化这些层,然后在创建每个单独的模型时调用它们来实现这一点。
column = []
column.append(Conv2D(self.out_filters, (3, 3), padding='same', kernel_initializer='he_normal', activation='relu'))
column.append(Conv2D(self.out_filters, (5, 5), padding='same', kernel_initializer='he_normal', activation='relu'))
然后在创建模型时
layer = column[0](input)
现在的问题是,如何保存列表中所有图层的权重? 据我所知,keras的保存功能仅保存已正确构建的整个模型。
编辑:只是为了澄清,我想保存“列”列表,而不是最终模型。 我在使用存储在“列”中的图层时随机生成模型结构。 因此,两个模型可能具有不同的体系结构,但是它们具有权重共享(对一个模型的训练也会影响另一个模型的权重)。
像这样
model.save_weights('my_model_weights.h5')
model.get_weights()也可用于获取模型的权重,然后手动保存它们以供以后使用
model.get_weights()
参见链接 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.