张量流将每行除以不同的总和

时间:2017-05-21 06:58:50

标签: python tensorflow

说我有这样的张量:

T = [[1,2,3,4], 
    [5,6,7,8], 
    [9,10,11,12]]. 

我使用了reduce_sum(T,1)来获得不同张量的所有和,但我似乎无法找到一种方法来实际按行划分总和。如何在Tensorflow中将每一行除以其总和(即将[1,2,3,4]除以10,[5,6,7,8]除以26等)?

1 个答案:

答案 0 :(得分:5)

这很容易通过将矩阵元素除以表示每个维度中的和的向量来实现:

import tensorflow as tf
a = tf.constant([
    [1, 2, 3, 4],
    [5, 6, 7, 8]
], dtype=tf.float32)

b = tf.reduce_sum(a, axis=1)

c = a / tf.reshape(b, (-1, 1))
with tf.Session() as sess:
    print sess.run(c)