Keras节省了单个图层的权重,而不是模型

时间:2018-09-04 06:12:18

标签: python keras deep-learning conv-neural-network

我目前正在尝试创建多个模型,这些模型将重用某些图层,包括其权重。 为此,我创建了一个列表表来初始化这些层,然后在创建每个模型时调用它们。

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的保存功能只能保存已正确构建的整个模型。

编辑:为了澄清,我想保存“列”列表,而不是最终模型。我在使用存储在“列”中的图层时随机生成模型结构。因此,两个模型可能具有不同的体系结构,但是它们具有权重共享(对一个模型的训练也会影响另一个模型的权重)。

1 个答案:

答案 0 :(得分:0)

像这样

model.save_weights('my_model_weights.h5')

model.get_weights()也可用于获取模型的权重,然后手动保存以供以后使用

model.get_weights()

请参见Link