在Tensorflow中恢复模型后的std :: system_error

时间:2017-08-21 10:45:21

标签: python machine-learning tensorflow deep-learning

我正在尝试像这样实现一个简单的保护/恢复器:(copied from Tensorflow website

包裹:

import tensorflow as tf

# Create some variables.
v1 = tf.get_variable("v1", shape=[3], initializer = tf.zeros_initializer)
v2 = tf.get_variable("v2", shape=[5], initializer = tf.zeros_initializer)

inc_v1 = v1.assign(v1+1)
dec_v2 = v2.assign(v2-1)

# Add an op to initialize the variables.
init_op = tf.global_variables_initializer()

# Add ops to save and restore all the variables.
saver = tf.train.Saver()

# Later, launch the model, initialize the variables, do some work, and save the
# variables to disk.
with tf.Session() as sess:
  sess.run(init_op)
  # Do some work with the model.
  inc_v1.op.run()
  dec_v2.op.run()
  # Save the variables to disk.
  save_path = saver.save(sess, "/tmp/model.ckpt")
  print("Model saved in file: %s" % save_path)

恢复:

import tensorflow as tf

tf.reset_default_graph()

# Create some variables.
v1 = tf.get_variable("v1", shape=[3])
v2 = tf.get_variable("v2", shape=[5])

# Add ops to save and restore all the variables.
saver = tf.train.Saver()

# Later, launch the model, use the saver to restore variables from disk, and
# do some work with the model.
with tf.Session() as sess:
  # Restore variables from disk.
  saver.restore(sess, "/tmp/model.ckpt")
  print("Model restored.")
  # Check the values of the variables
  print("v1 : %s" % v1.eval())
  print("v2 : %s" % v2.eval())

似乎保存模型很好,但是当恢复它时会卡在行saver.restore(sess, "/tmp/model.ckpt")上,我最终会收到错误消息:

terminate called after throwing an instance of 'std::system_error'
what(): Resource temporarily unavailable

我没有看到它是如何出现内存错误的,因为我在拥有100 GB内存的工作服务器上运行。

Python Version 3.5,Tensorflow版本1.2.1

0 个答案:

没有答案