我有一个名为“k1”的张量,其形状为 3,1,1,9,还有 p1 张量,其形状为 3,7,9,9,我想知道下面的行是做什么的?
p1 = p1 .masked_fill(k1== 0, float("-1e30"))
正如文档页面所描述的:
Tensor.masked_fill(mask, value)
用值填充张量的元素,其中self
是mask
。True
的形状必须可以与底层张量的形状一起广播。mask
在您的情况下,它将在
p1
等于 0 的位置将 float("-1e30")
的值放入 k1
中。由于 k1
具有单一维度,因此其形状将被广播为 p1
的形状。