[英]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.