torch.narrow
torch.narrow(input, dim, start, length) -> Tensor
Returns a new tensor that is a narrowed version of "input" tensor.
   The dimension "dim" is input from "start" to "start + length". The
   returned tensor and "input" tensor share the same underlying
   storage.
Parameters:
      * input (Tensor) -- the tensor to narrow
  * **dim** (*int*) -- the dimension along which to narrow

  * **start** (*int** or **Tensor*) -- index of the element to
    start the narrowed dimension from. Can be negative, which
    means indexing from the end of *dim*. If *Tensor*, it must be
    an 0-dim integral *Tensor* (bools not allowed)

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

Example:
  >>> x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
  >>> torch.narrow(x, 0, 0, 2)
  tensor([[ 1,  2,  3],
          [ 4,  5,  6]])
  >>> torch.narrow(x, 1, 1, 2)
  tensor([[ 2,  3],
