ロード・セーブトリミング回復のTensorflowモデルをステージング

  • ステージング・モデル(* .INDEXは、パラメータ名である*。メタモデル図、*。*データパラメータ)
tf.reset_default_graph()

重み = tf.Variable(tf.random_normal([10、10]、STDDEV = 0.1)、NAME = " 重み" 
バイアス = tf.Variable(0、名前= " バイアス" 

セーバー = TF。 train.Saver()
のSES = tf.Session()
sess.run(tf.global_variables_initializer())

プリント(sess.run([ウェイト]))
saver.save(SESの、" %S /%S "(MODEL_DIR、 MODEL_NAME))

sess.close()
  • ステージングモデル(同モデルは、時間を節約するためにモデルマップを保存するために多くの時間を保存することはできません)
tf.reset_default_graph()

重み = tf.Variable(tf.random_normal([10、10]、STDDEV = 0.1)、NAME = " 重み" 
バイアス = tf.Variable(0、名前= " バイアス" 

セーバー = TF。 train.Saver()
のSES = tf.Session()
sess.run(tf.global_variables_initializer())

プリント(sess.run([ウェイト]))
saver.save(SESの、" %S /%S "(MODEL_DIR、 MODEL_NAME))
time.sleep( 5 
saver.save(SESの、" %S /%S1 "%(MODEL_DIR、MODEL1_NAME)、write_meta_graph = 偽)
time.sleep( 5 
saver.save(SESの、" %S /%S1 "%(MODEL_DIR、MODEL2_NAME)、write_meta_graph = 偽)

sess.close()
  • 復旧モデル(手動でネットワーク*の.METAファイルを生成する必要はありません)
tf.reset_default_graph()

重み = tf.Variable(tf.random_normal([10、10]、STDDEV = 0.1)、NAME = " 重み" 
バイアス = tf.Variable(0、名前= " バイアス" 

セーバー = TF。 train.Saver()
のSES = tf.Session()
saver.restore(SESの、" %S /%S "(MODEL_DIR、MODEL_NAME))

プリント(sess.run([ウェイト]))

sess.close()
  • (* .METAネットワークファイルから生成された)復旧モデル
tf.reset_default_graph()

セーバー = tf.train.import_meta_graph(" %S /%s.meta "(MODEL_DIR、MODEL_NAME))
のSES = tf.Session()
saver.restore(SESの、" %S /%S "(MODEL_DIR、MODEL_NAME))

プリント(sess.run([tf.get_default_graph()get_tensor_by_name(" 重み:0 " )]))

sess.close()
  • 復旧モデル(モデルはフォルダに複数回保存でき、チェックポイントファイルは自動的に最後のレコードのすべてのモデル名とモデル名を記録します)
tf.reset_default_graph()

重み = tf.Variable(tf.random_normal([10、10]、STDDEV = 0.1)、NAME = " 重み" 
バイアス = tf.Variable(0、名前= " バイアス" 

セーバー = TF。 train.Saver()
のSES = tf.Session()
CKPT = tf.train.get_checkpoint_state(MODEL_DIR)
saver.restore(SESの、ckpt.model_checkpoint_path)

プリント(sess.run([ウェイト]))

sess.close()
  • 微調整モデル(一部のトレーニングモデルを再開する前にパラメータに加え、新しいパラメータは、トレーニングを継続します)
DEF(変数、checkpoint_path、include_global_step = get_variables_available_in_checkpoint :TRUE)
    ckpt_reader = tf.train.NewCheckpointReader(checkpoint_path)
    ckpt_vars_to_shape_map = ckpt_reader.get_variable_to_shape_map()
     場合 はないinclude_global_step:
        ckpt_vars_to_shape_map.pop(tf.GraphKeys.GLOBAL_STEP、なし)
    vars_in_ckpt = {}
     ため変数名、変数ソート(variables.items()):
         もし VARIABLE_NAME ckpt_vars_to_shape_map:
             もし ckpt_vars_to_shape_map [変数名] ==variable.shape.as_list():
                vars_in_ckpt [VARIABLE_NAME] = 可変
     戻りvars_in_ckptの

tf.reset_default_graph()

重み = tf.Variable(tf.random_normal([10、10]、STDDEV = 0.1)、NAME = " 重み" 
バイアス = tf.Variable(0、名前= " バイアス" 
other_weights = tf.Variable(tf.zeros([10、10 ]))

variables_to_init = tf.global_variables()
variables_to_init_dict = {var.op.name:VAR のための VAR variables_to_init } 
available_var_map =get_variables_available_in_checkpoint(variables_to_init_dict、
     " %S /%S "%(MODEL_DIR、MODEL_NAME)、include_global_step = 偽)
tf.train.init_from_checkpoint(" %S /%S "(MODEL_DIR、MODEL_NAME)、available_var_map)

のSES = tf.Session( )
sess.run(tf.global_variables_initializer())

プリント(sess.run([ウェイト]))

sess.close()
  • モデル(バイナリモデル)を保存
tensorflow.python.framework.graph_util インポートconvert_variables_to_constants 

tf.reset_default_graph()

セーバー = tf.train.import_meta_graph(" %S /%s.meta "(MODEL_DIR、MODEL_NAME))
のSES = tf.Session()
saver.restore( SESの、" %S /%S "(MODEL_DIR、MODEL_NAME))

graph_out = convert_variables_to_constants(SESの、sess.graph_def、output_node_names = [ ' ウェイト' ])
tf.gfile.GFile有する(" %S /%S "%( MODEL_DIR、PB_MODEL_NAME)、WB" )出力として:
    output.write(graph_out.SerializeToString())

sess.close()
  • 負荷モデル(バイナリモデル)
tf.reset_default_graph()

のSES = tf.Session()
tf.gfile.FastGFile(と" %S /%S "%(MODEL_DIR、PB_MODEL_NAME)、' RB ' Fとして):
    graph_def = tf.GraphDef()
    graph_def.ParseFromString (f.read())
    sess.graph.as_default()
    tf.import_graph_def(graph_def、名前 = '' 
sess.run(tf.global_variables_initializer())

プリント(sess.run([tf.get_default_graph()。get_tensor_by_name(" 重み:0 " )])) 

()sess.close

 

 

 

参考文献:

https://blog.csdn.net/loveliuzz/article/details/81661875

https://www.cnblogs.com/bbird/p/9951943.html

https://blog.csdn.net/gzj_1101/article/details/80299610

 

おすすめ

転載: www.cnblogs.com/jhc888007/p/11620821.html