Используйте это, чтобы восстановить и предсказать:
with tf.Graph().as_default():
with tf.Session() as sess:
saver = tf.train.import_meta_graph('./mean_var.ckpt.meta')
saver.restore(sess, tf.train.latest_checkpoint('./'))
graph = tf.get_default_graph()
x = graph.get_tensor_by_name("x:0")
output = mean_var(x)
y_pred = sess.run(output, feed_dict={x:4})
print(y_pred)
И еще одна вещь дает имя заполнителю x
, как показано ниже:
x = tf.placeholder(tf.int32, name="x")
Полный код:
import tensorflow as tf
def mean_var(x):
vec = tf.random_normal([x])
mean, variance = tf.nn.moments(vec, [0], keep_dims=True)
return mean, variance
with tf.Graph().as_default():
x = tf.placeholder(tf.int32, name="x")
output = mean_var(x)
init = tf.initialize_all_variables()
_ = tf.Variable(initial_value='fake_variable')
saver = tf.train.Saver()
with tf.Session() as sess:
sess.run(init)
sess.run(_.initializer)
val = sess.run(output, feed_dict={x: 4})
print(val[0], val[1])
save_path = saver.save(sess, "./mean_var/mean_var.ckpt")
tf.reset_default_graph()
with tf.Graph().as_default():
with tf.Session() as sess:
saver = tf.train.import_meta_graph('./mean_var/mean_var.ckpt.meta')
saver.restore(sess, tf.train.latest_checkpoint('./mean_var/'))
#saver.restore(sess, './mean_var/mean_var.ckpt')
graph = tf.get_default_graph()
x = graph.get_tensor_by_name("x:0")
output = mean_var(x)
y_pred = sess.run(output, feed_dict={x:4})
print(y_pred)