2017-05-09 5 views
2

私はCNNを使って表情認識に取り組んでいます。 KerasとTensorflowをバックエンドとして使用しています。私のモデルはh5フォーマットに保存されています。Kerasモデルを細かくチューニングする

ネットワークを再トレーニングし、VGGモデルでモデルを微調整したいと考えています。

どうやってケラでできますか? finetuningはこちらから再び

from keras.models import model_from_json 
model = model_from_json(json_string) 
model.load_weights('model_weights.h5') 

スタートトレーニング:

json_string = model.to_json() 
model.save_weights('model_weights.h5') 

ロードモデルのアーキテクチャと重み:

答えて

3

は、あなたのモデルのアーキテクチャと重みを保存します。私はこれが役立つことを願っています

1

Keras model.save(filepath)機能を使用できます。種々Kerasが保存とローディング技術は、このYouTubeビデオの例で議論されているため

詳細:Save and load a Keras model

model.save(filepath)セーブ:モデルの

  • アーキテクチャ、モデルを再作成することを可能にします。
  • モデルの重み。
  • トレーニング設定(損失、オプティマイザ)。
  • オプティマイザの状態。中断した箇所で正確にトレーニングを再開できます。

この保存されたモデルをロードするには、次を使用します。あなたはmodel.to_json()を使用した場合

from keras.models import load_model 
new_model = load_model(filepath) 

、あなただけのモデルのアーキテクチャを節約することになります。さらに、model.save_weights()を使用した場合は、モデルの重みを保存するだけです。これらの代替セービング手法の両方で、トレーニング構成(損失、オプティマイザ)を保存したり、オプティマイザの状態を保存したりすることはありません。

関連する問題