torch.Tensor.masked_scatter_¶
- Tensor.masked_scatter_(mask, source)¶
在
mask
为 True 的位置,将source
中的元素复制到self
张量中。从source
的位置 0 开始,对于mask
为 True 的每一个位置,按顺序逐一将source
中的元素复制到self
中。mask
的形状必须与底层张量的形状可广播 (broadcastable)。source
中的元素数量应至少与mask
中值为 1 的数量相等。- 参数
mask (BoolTensor) – 布尔掩码
source (Tensor) – 要从中复制元素的张量
注意
mask
是作用在self
张量上,而不是给定的source
张量上。示例
>>> self = torch.tensor([[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]) >>> mask = torch.tensor([[0, 0, 0, 1, 1], [1, 1, 0, 1, 1]], dtype=torch.bool) >>> source = torch.tensor([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) >>> self.masked_scatter_(mask, source) tensor([[0, 0, 0, 0, 1], [2, 3, 0, 4, 5]])