代码之家  ›  专栏  ›  技术社区  ›  Thermodynamix

PyTorch中某些索引的复制张量元素

  •  0
  • Thermodynamix  · 技术社区  · 3 年前

    所需的操作在精神上类似于 torch.Tensor.index_copy ,但有点不同。

    最好用一个例子来解释。

    张量 A 具有我们将复制的原始值:

    [10, 20, 30]

    张量 B 具有的索引 A. :

    [0, 1, 0, 1, 2, 1]

    张量 C 长度与 B ,包含的索引值 A. :

    [10, 20, 10, 20, 30, 20]

    什么是制作的好方法 C 从…起 A. B 在PyTorch中,不使用循环?

    1 回复  |  直到 3 年前
        1
  •  2
  •   jhso    3 年前

    你试过只按A索引吗?

    In [1]: import torch
      
    In [2]: a = torch.tensor([20,30,40])
    
    In [3]: b = torch.tensor([0,1,2,1,1,2,0,0,1,2])
    
    In [4]: a[b]
    Out[4]: tensor([20, 30, 40, 30, 30, 40, 20, 20, 30, 40])