我有一个 3D 张量 三
和一个 2D 张量 二
,需要将它们相乘。例如,尺寸为:
three.shape = 4x100x700
two.shape = 4x100
输出形状应该是:
output.shape = 4x100x700
所以基本上,在 output[a,b]
中应该有 700 个标量,这些标量是通过将 two[a,b]
中的所有 700 个标量与单个标量相乘来计算的来自 two[a,b]
的标量。
最佳答案
您可以简单地向two
添加一个额外的维度:
output = three * two.unsqueeze(-1)
还有其他语法,例如:
output = three * two[..., None]
关于pytorch:如何将 3d 张量与 2d 张量相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62559382/