我想使用tensorflow将矩阵的每一行与另一个矩阵相乘 . 例如:
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]]
先感谢您 .
阵列广播是你想要的:
A2 = tf.reshape(A, (2, 3, 1)) B2 = tf.reshape(tf.transpose(B), (1, 3, 3)) C = A2 * B2
任何长度为1的维度都将自动广播到适当的长度以进行逐元素乘法,因此 C 将具有形状 (2, 3, 3) .
C
(2, 3, 3)
我不是100%肯定如何解释你的符号,所以我可能让轴顺序混乱,在这种情况下玩订单和/或删除转置 .
1 回答
阵列广播是你想要的:
任何长度为1的维度都将自动广播到适当的长度以进行逐元素乘法,因此
C
将具有形状(2, 3, 3)
.我不是100%肯定如何解释你的符号,所以我可能让轴顺序混乱,在这种情况下玩订单和/或删除转置 .