kersaモデル、構造、重量保存の実現に基づいて


どのように訓練されたネットワークを保存しますか?私達はpickleまたはcpickleでKerasモデルを保存できます。
一、モデル全体を保存する
model.save(filepath)は、Kerasモデルと重みを一つのHF 5ファイルに保存します。ファイルは以下を含みます。
モデルの構造
モデルの重み
トレーニング構成(損失関数、最適化器、精度など)
前回の訓練から中断した場所に最適化器の状態
前提はすでにpythonのh 5 pyパッケージをインストールしました。

from keras.models import load_model
私たちがもう一度使う時はmodel.load_を使うことができます。モデルロードモデル
二、保存モデルの構造
model.to_jason()はモデルをjsonファイルにプログレッシブ化して保存して、中はネットの全体の構造を記録して、各階のパラメーターの設定などの情報.json文字列をファイルに保存します。

open(‘filename.json','w').write(json_string)
from keras.models import model_form_json
json_string=open('filename.json').read()
model=model_fromJsonstring
JSON形式の他に、yaml形式の文字列も保存できます。形式はJSONと同じです。
三、保存モデルの重量
model.save_weight.
調整後のネットワークの出力精度が満足できたら、訓練されたネットワーク重みパラメータを保存できます。下記のコードでHF 5を利用して保存できます。

model.save_weights(‘model_weights.h5')
使用時にモデルを読み込みます。

model.load_weights(‘model_weights.h5')
異なるネットワーク構造(一部の層と同じ)に重み付けをロードする必要がある場合、例えばfine-tuneやtranfer-learningは、レイヤー名によってモデルをロードすることができます。

model.load_weights('my_model_weights.h5', by_name=True)
したがって、モデル化するときは、各レイヤーに名前を定義したほうがいいです。
以上は私達がモデルを保存する3つの方法で、実践する時に多く総括する必要があります。
このkersモデル、構造、重量保存の実現に基づいて、小編集が皆さんに提供した内容の全部を共有します。皆様に参考にしていただければと思います。どうぞよろしくお願いします。