当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Tensor.index_add_用法及代码示例


本文简要介绍python语言中 torch.Tensor.index_add_ 的用法。

用法:

Tensor.index_add_(dim, index, tensor, *, alpha=1) → Tensor

参数

  • dim(int) -索引的维度

  • index(IntTensor或者LongTensor) - tensor 的索引可供选择

  • tensor(Tensor) -包含要添加的值的张量

关键字参数

alpha(数字) - tensor 的标量乘数

通过按 index 中给出的顺序添加索引,将 alpha 乘以 tensor 的元素累积到 self 张量中。例如,如果 dim == 0index[i] == jalpha=-1 ,则从 self 的第 j 行中减去 tensor 的第 i 行。

tensor 的第 dim 维度必须与 index 的长度(必须是向量)具有相同的大小,并且所有其他维度必须匹配 self ,否则将引发错误。

注意

当给定 CUDA 设备上的张量时,此操作可能会表现得不确定。有关详细信息,请参阅重现性。

例子:

>>> x = torch.ones(5, 3)
>>> t = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=torch.float)
>>> index = torch.tensor([0, 4, 2])
>>> x.index_add_(0, index, t)
tensor([[  2.,   3.,   4.],
        [  1.,   1.,   1.],
        [  8.,   9.,  10.],
        [  1.,   1.,   1.],
        [  5.,   6.,   7.]])
>>> x.index_add_(0, index, t, alpha=-1)
tensor([[  1.,   1.,   1.],
        [  1.,   1.,   1.],
        [  1.,   1.,   1.],
        [  1.,   1.,   1.],
        [  1.,   1.,   1.]])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.Tensor.index_add_。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。