我目前正在尝试创建多个模型,这些模型将重用某些图层,包括其权重。 为此,我创建了一个列表表来初始化这些层,然后在创建每个模型时调用它们。
thumbnailLink
然后在创建模型时
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'))
现在我的问题是,如何保存列表中所有图层的权重?据我所知,keras的保存功能只能保存已正确构建的整个模型。
编辑:为了澄清,我想保存“列”列表,而不是最终模型。我在使用存储在“列”中的图层时随机生成模型结构。因此,两个模型可能具有不同的体系结构,但是它们具有权重共享(对一个模型的训练也会影响另一个模型的权重)。
答案 0 :(得分:0)
像这样
model.save_weights('my_model_weights.h5')
model.get_weights()也可用于获取模型的权重,然后手动保存以供以后使用
model.get_weights()
请参见Link。