2017-01-06 6 views
1

前のレイヤのウェイトをフェッチし、変更して次のレイヤに再度設定できますか?私はネットワークにカスタムレイヤーを導入して(希望のロジックごとに)ウェイトを修正し、変更されたウェイト値を次のレイヤーに設定します。以下の図に描かれているものと同様に:前のレイヤのウェイトを取得する

enter image description here

私はこれが可能であるかどうかわかりません。スナップショットをダンプして新しい重みを設定することができます。スナップショットを使用して重みを変換することもできます。しかし、私はネットワーク内で(スナップショットを撮ったり使用したりすることなく)これを行う方法を知らない。

おかげ

KK

答えて

0

TL; DR:(コンパイルせず)一つのモデルをロードし、モデルを初期化したいの重みを使用しています。変更するレイヤーの新しいウェイトを作成します。

フルバージョン

this threadを1として彼自身をfcholletで説明したように、これを行うための標準的な方法は、以前のKerasモデルにあなたの重みをロードすることです(あなたがそう、それをコンパイルする必要はありませんそれは瞬間です)、そのモデルを重みにアクセスするためのクエリ可能なデータ構造として使用します。あなたはこのようにそれを行うことができ、順次モデルの場合

weights = model.layers[5].get_weights() 
model.layers[5].set_weights(weights) 

も参照してください:another discussionこのトピックにfcholletで。

関連する問題