首先,您可以通过使用占位符的相同方式将值输入变量/常量来为它们分配值。因此,这样做完全合法:
import tensorflow as tf
x = tf.Variable(0)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print sess.run(x, feed_dict={x: 3})
关于您与tf.assign()运算符的混淆。在TF中,在会话内部运行它之前不会执行任何操作。因此,您始终必须执行以下操作:op_name = tf.some_function_that_create_op(params)
然后在会话中运行sess.run(op_name)
。以assign为例,您将执行以下操作:
import tensorflow as tf
x = tf.Variable(0)
y = tf.assign(x, 1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print sess.run(x)
print sess.run(y)
print sess.run(x)