在tensorflow和python中保存和加载文件的差异

时间:2017-03-13 03:54:34

标签: python tensorflow

我想问一下在python和张量流中保存和加载文件的语法是不同的还是相同的? 我怎样才能重新加载这样的结果 np.save("结果/&#34 + FLAGS.result_file,W)

1 个答案:

答案 0 :(得分:1)

如果要加载numpy文件,可以使用np.load()将结果恢复为numpy数组。

x = np.load("Result/"+FLAGS.result_file)

如果要保存张量流图,则需要在创建张量后创建保护对象。

x = tf.Variable(..., name="x_saved")
init_op = tf.global_variables_initializer()
...
saver = tf.train.Saver()

然后使用saver对象将图形保存到文件。

with tf.Session() as sess:
  sess.run(init_op)
  # Do some work with the model.
  ..
  # Save the variables to disk.
  save_path = saver.save(sess, "Result/"+FLAGS.result_file)

如果要加载模型,则需要创建相同大小的张量,并创建一个保护对象。如果您从文件加载所有张量,则无需调用初始值设定项

saver = tf.train.Saver()

并使用该保护程序恢复会话。

with tf.Session() as sess:
  # Restore variables from disk.
  saver.restore(sess, "Result/"+FLAGS.result_file)

这将使用您之前保存的值加载张量。如果只想保存和加载特定张量,可以使用这些张量的名称初始化保护对象。

x_loaded = tf.Variable(..., name="x")
saver = tf.train.Saver({"x_loaded": x})

请记住,如果您加载了一些张量而不是整个图形,则需要初始化任何其他张量。