任务是在tensorflow中计算f(2) + f(10)
。其中一种方式是
x = tf.placeholder(tf.float32)
f = x ** 2
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
a = sess.run(f, feed_dict={x: 2})
b = sess.run(f, feed_dict={x: 10})
c = a + b
print(c)
但是a + b
是Python操作,而不是张量流。问题是如何在tf中定义该操作?我无法理解如何在计算grph中定义两个节点,这两个节点对应于不同点中相同函数的值。
答案 0 :(得分:3)
因为对于f(2) + f(10)
,您需要提供两个参数,您还必须定义两个占位符:
# define two placeholders
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
def f(x):
return x ** 2
c = f(a) + f(b) # this is the tf operation
sess = tf.Session()
c = sess.run(c, feed_dict={a: 2, b: 10})
print(c)
# 104.0