當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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_。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。