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]
答案 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()
。)