在张量流中,如果我有张量:
A = tf.fill([3,2,2],2) # shape [3,2,2]
B = tf.constant([1,2,3]) # shape [3]
如何将它们相乘,以便得到形状为[3,2,2]的张量?
[
[ [2,2], [2,2] ],
[ [4,4], [4,4] ],
[ [6,6], [6,6] ]
]
我的乘法因子在这里很容易演示。
答案 0 :(得分:1)
将B
重塑为(3,1,1)
,以使A
和B
的维数相同,然后相乘。 tf.multiply
支持broadcasting,因此1
中尺寸为B
的维度将被广播并与A
中相应维度的所有元素相乘:
(A * tf.reshape(B, (3,1,1))).eval()
# array([[[2, 2],
# [2, 2]],
# [[4, 4],
# [4, 4]],
# [[6, 6],
# [6, 6]]], dtype=int32)