

"select()"


"squeeze()"


"transpose()"


"t()"


"T"


"H"


"mT"


"mH"


"real"


"imag"


"view_as_real()"


"unflatten()"


"unfold()"


"unsqueeze()"


"view()"


"view_as()"


"unbind()"


"split()"


"hsplit()"


"vsplit()"


"tensor_split()"


"split_with_sizes()"


"swapaxes()"


"swapdims()"


"chunk()"


"indices()" (sparse tensor only)


"values()"  (sparse tensor only)


Note:
When accessing the contents of a tensor via indexing, PyTorch
  follows Numpy behaviors that basic indexing returns views, while
  advanced indexing returns a copy. Assignment via either basic or
  advanced indexing is in-place. See more examples in Numpy indexing
  documentation.
It's also worth mentioning a few ops with special behaviors:


"reshape()", "reshape_as()" and "flatten()" can return either a view
  or new tensor, user code shouldn't rely on whether it's view or not.


"contiguous()" returns itself if input tensor is already

