张量流中两点的函数值之和

时间:2017-10-05 21:20:31

标签: python tensorflow

任务是在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中定义两个节点,这两个节点对应于不同点中相同函数的值。

1 个答案:

答案 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