将矩阵的每一行与张量流中的另一个矩阵相乘

时间:2018-08-23 21:39:35

标签: tensorflow matrix matrix-multiplication

我想使用张量流将矩阵的每一行与另一个矩阵相乘。例如:

A = [1,2,3 ; 4,5,6]

B = [1,1,1 ; 2,2,2 ; 3,3,3]

将A的每一行与整个矩阵B相乘,则所得张量应为

C = [[1,2,3 ; 2,4,6 ; 3,6,9],
     [4,8,12 ; 5,10,15 ; 6,12,18]]

谢谢。

1 个答案:

答案 0 :(得分:0)

阵列广播是您想要的:

A2 = tf.reshape(A, (2, 3, 1))
B2 = tf.reshape(tf.transpose(B), (1, 3, 3))
C = A2 * B2

任何长度为1的维度都将自动广播到适当的长度,以进行逐元素乘法,因此C的形状为(2, 3, 3)

我不是100%不确定如何解释您的符号,因此我可能混淆了轴顺序,在这种情况下,请处理顺序和/或除去移调。