Shortcuts

torch.narrow_copy

torch.narrow_copy(input, dim, start, length, *, out=None) 张量

Tensor.narrow() 相同,除了这返回的是一个副本而不是共享存储。这主要用于稀疏张量,因为它们没有共享存储的 narrow 方法。

Parameters
  • 输入 (Tensor) – 要缩小的张量

  • dim (int) – 要缩小的维度

  • 开始 (int) – 从缩小维度开始的元素索引。可以是负数,这意味着从dim的末尾开始索引

  • 长度 (int) – 窄化维度的长度,必须是非负的

Keyword Arguments

输出 (张量, 可选) – 输出张量。

示例:

>>> x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
>>> torch.narrow_copy(x, 0, 0, 2)
tensor([[ 1,  2,  3],
        [ 4,  5,  6]])
>>> torch.narrow_copy(x, 1, 1, 2)
tensor([[ 2,  3],
        [ 5,  6],
        [ 8,  9]])
>>> s = torch.arange(16).reshape(2, 2, 2, 2).to_sparse(2)
>>> torch.narrow_copy(s, 0, 0, 1)
tensor(indices=tensor([[0, 0],
                       [0, 1]]),
       values=tensor([[[0, 1],
                       [2, 3]],

                      [[4, 5],
                       [6, 7]]]),
       size=(1, 2, 2, 2), nnz=2, layout=torch.sparse_coo)

另请参阅

torch.narrow() 用于非复制变体

优云智算