Tensorflow数学运算reduce_sum

时间:2017-02-17 16:52:35

标签: tensorflow

import tensorflow as tf
a = tf.constant([[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]])
b = tf.constant([[5,4,3,2,1],[1,2,3,4,5],[1,2,3,4,5]])

product =tf.mul(a,b)
product_sum =tf.reduce_sum(tf.mul(a,b))

with tf.Session() as sess:
    print product.eval()
    print product_sum.eval()

结果是:

[[ 5  8  9  8  5]

[ 1  4  9 16 25]

[ 1  4  9 16 25]]

145

但这不是我想要的答案。

我想得到答案

[5 + 8 + 9 + 8 + 5,1 + 4 + 9 + 16 + 25,1 + 4 + 9 + 16 + 25]                         = [35,55,55]

1 个答案:

答案 0 :(得分:1)

正如their comment中提到的xxi,这里正确的解决方案是在调用tf.reduce_sum()时使用可选的axis参数。在您的情况下,您希望沿列轴减少,因此以下代码将起作用:

product = tf.multiply(a, b)
product_sum = tf.reduce_sum(product, axis=1)

(另请注意,在TensorFlow 1.0中,tf.mul()现在为tf.multiply()。)