TensorFlowの利用実績(IV):モデルの保存

モデルファイル

ネットワーク構造とパラメータ値:注保存されたtensorflowトレーニングモデルは、2つの部分から構成されています。

.META

 図.METAファイル「プロトコルバッファ」フォーマット、モデル定義された操作に関する情報モデルの全体構造を記憶します。

 .DATA&  .INDEX

.DATAと.INDEX CKPT文書が一緒にすべての重みおよびバイアスの数値的なネットワーク構造保存ファイルを含みます。

.DATAは変数ファイルの値を記憶され、ファイルは、ファイルおよび図.METAのデータファイル構造との間.DATA対応.INDEX保存され

 

ビューCKPTモデルファイルは、テンソル情報を保存します:

インポートタスクフォースとしてtensorflow 

checkpoint_path = ' cnn_mnist.ckpt ' 
リーダー = tf.pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map = reader.get_variable_to_shape_map() 

印刷テンソル名と値
のためのキーvar_to_shape_map:
     プリント" tensor_name:" 、キー)
     プリント( reader.get_tensor(キー))

tf.train.Saverモデルを保存

セーバー= tf.train.Saver()
saver.save(SESの、"m個odel_test.ckpt "

セーバークラスのコンストラクタが定義されます。

DEF  __init__ (セルフ、
             var_list =なしに、ですべての変数を保存し、デフォルトはNoneです、保存されたシーケンスまたは辞書変数を指定 
             RESHAPE = Falseを、
             シャード = Falseを、
             max_to_keep、= 5 #はモデルファイルの最も近い数まで保存定義 
             keep_checkpoint_every_n_hours 10000.0 = 
             名前 = なし、
             restore_sequentially = Falseを、
             saver_def = なし、
             ビルダー = なし、
             defer_build = Falseを、
             ALLOW_EMPTY= Falseの、
             write_version = saver_pb2.SaverDef.V2、
             pad_step_number = Falseを、
             save_relative_paths = Falseを、
             ファイル名 =なし):

saver.save関数定義:

DEF 保存(セルフ、
         SESの、                      現在のセッション環境 
         save_path、                モデルはパス保存 
         global_step =なし、          #のトレーニングラウンドは、追加した場合、モデルファイル名の接尾辞の後にラウンドを追加します 
         latest_filename =なし、      #のチェックポイントテキストファイルの名前は、デフォルトでは「チェックポイント」です 
         meta_graph_suffix = メタ#のコンフィギュレーションファイルを示す接尾保存されたネットワーク図 
         = TRUE write_meta_graphを、     #はネットワーク構造を保存するかどうかを定義 
         WRITE_STATE = Trueの場合、
         strip_default_attrs = はFalseを
         save_debug_info)=偽:

負荷モデル 

ロード時のモデルは、図リロード図の構成パラメータ(セッションで動作)ロードすることができます。

セーバー= tf.train.import_meta_graph(' ./model_saved/model_test.meta ' 
saver.restore(SESの、tf.train.latest_checkpoint(' ./model_saved '))

または使い捨て装填:

セーバー= tf.train.Saver()
saver.restore(SESの、' ./model_saved/model_test.ckpt ' または 
saver.restore(SESの、tf.train.latest_checkpoint(' ./model_saved '))

 

おすすめ

転載: www.cnblogs.com/xuanyuyt/p/11624078.html