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

ade*_*opu 2 python tensorflow

说我有一个这样的张量:

T = [[1,2,3,4], 
    [5,6,7,8], 
    [9,10,11,12]]. 
Run Code Online (Sandbox Code Playgroud)

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

Sal*_*ali 7

只需将矩阵逐个元素地除以一个代表每个维数之和的向量,就可以轻松实现:

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)
Run Code Online (Sandbox Code Playgroud)