It’s also worth mentioning a few ops with special behaviors:

  * [ ` reshape()  ` ](tensors.html#torch.Tensor.reshape "torch.Tensor.reshape") and [ ` reshape_as()  ` ](tensors.html#torch.Tensor.reshape_as "torch.Tensor.reshape_as") can return either a view or new tensor, user code shouldn’t rely on whether it’s view or not. 

  * [ ` contiguous()  ` ](tensors.html#torch.Tensor.contiguous "torch.Tensor.contiguous") returns **itself** if input tensor is already contiguous, otherwise it returns a new contiguous tensor by copying data. 

For a more detailed walk-through of PyTorch internal implementation, please
refer to [ ezyang’s blogpost about PyTorch Internals
](http://blog.ezyang.com/2019/05/pytorch-internals/) .

[ Next ![](_static/images/chevron-right-orange.svg) ](autograd.html "Automatic
differentiation package - torch.autograd") [ ![](_static/images/chevron-right-
orange.svg) Previous ](tensor_attributes.html "Tensor Attributes")

* * *

© Copyright 2019, Torch Contributors.

Built with [ Sphinx ](http://sphinx-doc.org/) using a [ theme
](https://github.com/rtfd/sphinx_rtd_theme) provided by [ Read the Docs
](https://readthedocs.org) .

  * Tensor Views 

![](https://www.googleadservices.com/pagead/conversion/795629140/?label=txkmCPmdtosBENSssfsC&guid=ON&script=0)

##  Docs

Access comprehensive developer documentation for PyTorch

[ View Docs ](https://pytorch.org/docs/stable/index.html)

##  Tutorials

Get in-depth tutorials for beginners and advanced developers

[ View Tutorials ](https://pytorch.org/tutorials)

##  Resources

Find development resources and get your questions answered

[ View Resources ](https://pytorch.org/resources)

[ ](https://pytorch.org/)

  * [ PyTorch ](https://pytorch.org/)
  * [ Get Started ](https://pytorch.org/get-started)
  * [ Features ](https://pytorch.org/features)
  * [ Ecosystem ](https://pytorch.org/ecosystem)
  * [ Blog ](https://pytorch.org/blog/)
  * [ Contributing ](https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md)

  * [ Resources ](https://pytorch.org/resources)
  * [ Tutorials ](https://pytorch.org/tutorials)
  * [ Docs ](https://pytorch.org/docs/stable/index.html)
  * [ Discuss ](https://discuss.pytorch.org)
  * [ Github Issues ](https://github.com/pytorch/pytorch/issues)
  * [ Brand Guidelines ](https://pytorch.org/assets/brand-guidelines/PyTorch-Brand-Guidelines.pdf)

  * Stay Connected 
  * Email Address 

[ ](https://www.facebook.com/pytorch) [ ](https://twitter.com/pytorch) [
](https://www.youtube.com/pytorch)

To analyze traffic and optimize your experience, we serve cookies on this
site. By clicking or navigating, you agree to allow our usage of cookies. As
the current maintainers of this site, Facebook’s Cookies Policy applies. Learn
more, including about available controls: [ Cookies Policy
](https://www.facebook.com/policies/cookies/) .

![](_static/images/pytorch-x.svg)

[ ](https://pytorch.org/)

  * [ Get Started ](https://pytorch.org/get-started)
  * [ Features ](https://pytorch.org/features)
  * [ Ecosystem ](https://pytorch.org/ecosystem)
  * [ Mobile ](https://pytorch.org/mobile)
  * [ PyTorch Hub ](https://pytorch.org/hub)
  * [ Blog ](https://pytorch.org/blog/)
  * [ Tutorials ](https://pytorch.org/tutorials)
  * [ Docs ](https://pytorch.org/docs/stable/index.html)
  * [ Resources ](https://pytorch.org/resources)
  * [ Github ](https://github.com/pytorch/pytorch)