torch.narrow_copy
torch.narrow_copy(input, dim, start, length, *, out=None) -> Tensor
Same as "Tensor.narrow()" except this returns a copy rather than
   shared storage. This is primarily for sparse tensors, which do not
   have a shared-storage narrow method.
Parameters:
      * input (Tensor) -- the tensor to narrow
  * **dim** (*int*) -- the dimension along which to narrow

  * **start** (*int*) -- index of the element to start the
    narrowed dimension from. Can be negative, which means indexing
    from the end of *dim*

  * **length** (*int*) -- length of the narrowed dimension, must
    be weakly positive

Keyword Arguments:
      out (Tensor, optional) -- the output tensor.
Example:
  >>> 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],
