假设我有两个张量,大小为 [16] 的张量 A 和大小为 [16,1,30,30] 的张量 B。
我想将它们按元素相乘。
以下代码有效,但我想知道是否还有其他方法:
result = A[..., None, None, None] * B
也许看起来更干净的东西。
可以结合使用视图方法和广播:
result = A.view(16, 1, 1, 1) * B
view 方法创建一个形状为 [ [[[a_1]]], [[[a_2]]], ..., [[[a_16]]] ] 的张量。然后乘法期间广播生效。