假设我有这样一个张量:
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等)?
假设我有这样一个张量:
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等)?
通过按每个维度中的总和表示的向量对矩阵进行逐元素除法即可轻松实现:
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)