如何提供本地占位符?
How to feed a local placeholder?
我想提供在函数中定义的占位符。以下是一个简化的例子。
#!/usr/bin/python
import tensorflow as tf
def CreateInference():
x2 = tf.placeholder(tf.float32, (None))
w2 = tf.get_variable('w2', initializer=1.0)
b2 = tf.get_variable('b2', initializer=2.0)
y2 = w2 * x2 + b2
y2 = CreateInference()
writer = tf.summary.FileWriter('./graphs', tf.get_default_graph())
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# print (sess.run(y2, feed_dict={x2:2.0}))
writer.close()
图表已正确创建,如下面的 Tensorboard 图表所示。
问题是 feed_dict={x2:2.0}
不起作用,因为 x2
是函数 CreateInference 中使用的局部变量。谁能告诉我如何访问和提供上面示例中变量 x2
的值?
为什么不对对象进行明显的 return 引用
#!/usr/bin/python
import tensorflow as tf
def CreateInference():
x2 = tf.placeholder(tf.float32, (None))
w2 = tf.get_variable('w2', initializer=1.0)
b2 = tf.get_variable('b2', initializer=2.0)
y2 = w2 * x2 + b2
return x2, y2
x2, y2 = CreateInference()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print (sess.run(y2, feed_dict={x2:2.0}))
我想提供在函数中定义的占位符。以下是一个简化的例子。
#!/usr/bin/python
import tensorflow as tf
def CreateInference():
x2 = tf.placeholder(tf.float32, (None))
w2 = tf.get_variable('w2', initializer=1.0)
b2 = tf.get_variable('b2', initializer=2.0)
y2 = w2 * x2 + b2
y2 = CreateInference()
writer = tf.summary.FileWriter('./graphs', tf.get_default_graph())
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# print (sess.run(y2, feed_dict={x2:2.0}))
writer.close()
图表已正确创建,如下面的 Tensorboard 图表所示。
问题是 feed_dict={x2:2.0}
不起作用,因为 x2
是函数 CreateInference 中使用的局部变量。谁能告诉我如何访问和提供上面示例中变量 x2
的值?
为什么不对对象进行明显的 return 引用
#!/usr/bin/python
import tensorflow as tf
def CreateInference():
x2 = tf.placeholder(tf.float32, (None))
w2 = tf.get_variable('w2', initializer=1.0)
b2 = tf.get_variable('b2', initializer=2.0)
y2 = w2 * x2 + b2
return x2, y2
x2, y2 = CreateInference()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print (sess.run(y2, feed_dict={x2:2.0}))