torch.Tensor.masked_scatter_¶
- Tensor.masked_scatter_(mask, source)¶
将
source
中的元素复制到self
张量的mask
为 True 的位置。从source
复制元素到self
,从source
的位置 0 开始,并按顺序逐个继续,直到mask
为 True 的每个实例。mask
的形状必须与底层张量的形状 可广播。source
应至少包含与mask
中 ones 的数量一样多的元素。- 参数
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]])