如何将尺寸部分匹配的两个张量按元素相乘?

问题描述 投票:0回答:1

假设我有两个张量,大小为 [16] 的张量 A 和大小为 [16,1,30,30] 的张量 B。

我想将它们按元素相乘。

以下代码有效,但我想知道是否还有其他方法:

result = A[..., None, None, None] * B

也许看起来更干净的东西。

pytorch tensor
1个回答
0
投票

可以结合使用视图方法和广播:

result = A.view(16, 1, 1, 1) * B

view 方法创建一个形状为 [ [[[a_1]]], [[[a_2]]], ..., [[[a_16]]] ] 的张量。然后乘法期间广播生效。

© www.soinside.com 2019 - 2024. All rights reserved.