当运行tensorflow的会话时,我需要获得相同的y值。如何获得具有相同值的y,而不是重新运行此图?
import tensorflow as tf
import numpy as np
x = tf.Variable(0.0)
tf.set_random_seed(10)
x_plus1 = x+tf.random_normal([1], mean=0.0, stddev=0.01,dtype=tf.float32)
y = tf.Variable([1.0])
y += x_plus1
z = y + tf.random_normal([1], mean=0.0, stddev=0.01,dtype=tf.float32)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
print(z.eval())
for i in range(5):
print(y.eval())
在这里,我希望得到y,这有助于z。
答案 0 :(得分:0)
您可以使用sess.run()同时评估y和z,它只运行图形的所需部分一次,因此y的值将是用于z的值。
with tf.Session() as sess:
sess.run(init)
z_value, y_value = sess.run([z, y])
print(z_value)
print(y_value)
答案 1 :(得分:-1)
修改with
块,如下所示,这样您只需在for
循环之前评估图形一次,然后您可以根据需要多次打印它:
with tf.Session() as sess:
sess.run(init)
print(z.eval())
yy = y.eval()
for i in range(5):
print(yy)