Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 PyTorch tensors  





3 PyTorch neural networks  





4 Example  





5 See also  





6 References  





7 External links  














PyTorch






العربية

Català
Deutsch
Español
Euskara
فارسی
Français

ि
Bahasa Indonesia
עברית

Bahasa Melayu

Polski
Português
Runa Simi
Русский
Shqip
Suomi

Türkçe
Українська
Tiếng Vit


 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
Wikibooks
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


PyTorch
Original author(s)
  • Adam Paszke
  • Sam Gross
  • Soumith Chintala
  • Gregory Chanan
  • Developer(s)Meta AI
    Initial releaseSeptember 2016; 7 years ago (2016-09)[1]
    Stable release

    2.3.1[2] Edit this on Wikidata / 5 June 2024; 41 days ago (5 June 2024)

    Repositorygithub.com/pytorch/pytorch
    Written in
  • C++
  • CUDA
  • Operating system
  • macOS
  • Windows
  • PlatformIA-32, x86-64, ARM64
    Available inEnglish
    TypeLibrary for machine learning and deep learning
    LicenseBSD-3[3]
    Websitepytorch.org

    PyTorch is a machine learning library based on the Torch library,[4][5][6] used for applications such as computer vision and natural language processing,[7] originally developed by Meta AI and now part of the Linux Foundation umbrella.[8][9][10][11] It is recognized as one of the two most popular machine learning libraries alongside TensorFlow, offering free and open-source software released under the modified BSD license. Although the Python interface is more polished and the primary focus of development, PyTorch also has a C++ interface.[12]

    A number of pieces of deep learning software are built on top of PyTorch, including Tesla Autopilot,[13] Uber's Pyro,[14] Hugging Face's Transformers,[15] PyTorch Lightning,[16][17] and Catalyst.[18][19]

    PyTorch provides two high-level features:[20]

    History[edit]

    Meta (formerly known as Facebook) operates both PyTorch and Convolutional Architecture for Fast Feature Embedding (Caffe2), but models defined by the two frameworks were mutually incompatible. The Open Neural Network Exchange (ONNX) project was created by Meta and Microsoft in September 2017 for converting models between frameworks. Caffe2 was merged into PyTorch at the end of March 2018.[21] In September 2022, Meta announced that PyTorch would be governed by PyTorch Foundation, a newly created independent organization – a subsidiary of Linux Foundation.[22]

    PyTorch 2.0 was released on 15 March 2023.[23]

    PyTorch tensors[edit]

    PyTorch defines a class called Tensor (torch.Tensor) to store and operate on homogeneous multidimensional rectangular arrays of numbers. PyTorch Tensors are similar to NumPy Arrays, but can also be operated on a CUDA-capable NVIDIA GPU. PyTorch has also been developing support for other GPU platforms, for example, AMD's ROCm[24] and Apple's Metal Framework.[25]

    PyTorch supports various sub-types of Tensors.[26]

    Note that the term "tensor" here does not carry the same meaning as tensor in mathematics or physics. The meaning of the word in machine learning is only superficially related to its original meaning as a certain kind of object in linear algebra. Tensors in PyTorch are simply multi-dimensional arrays.

    PyTorch neural networks[edit]

    PyTorch defines a module called nn (torch.nn) to describe neural networks and to support training. This module offers a comprehensive collection of building blocks for neural networks, including various layers and activation functions, enabling the construction of complex models. Networks are built by inheriting from the torch.nn module and defining the sequence of operations in the forward() function.

    Example[edit]

    The following program shows the low-level functionality of the library with a simple example

    import torch
    dtype = torch.float
    device = torch.device("cpu")  # Execute all calculations on the CPU
    # device = torch.device("cuda:0")  # Executes all calculations on the GPU
    
    # Create a tensor and fill it with random numbers
    a = torch.randn(2, 3, device=device, dtype=dtype)
    print(a)
    # Output: tensor([[-1.1884,  0.8498, -1.7129],
    #                  [-0.8816,  0.1944,  0.5847]])
    
    b = torch.randn(2, 3, device=device, dtype=dtype)
    print(b)
    # Output: tensor([[ 0.7178, -0.8453, -1.3403],
    #                  [ 1.3262,  1.1512, -1.7070]])
    
    print(a * b)
    # Output: tensor([[-0.8530, -0.7183,  2.58],
    #                  [-1.1692,  0.2238, -0.9981]])
    
    print(a.sum()) 
    # Output: tensor(-2.1540)
    
    print(a[1,2]) # Output of the element in the third column of the second row (zero based)
    # Output: tensor(0.5847)
    
    print(a.max())
    # Output: tensor(0.8498)
    

    The following code-block shows an example of the higher level functionality provided nn module. A neural network with linear layers is defined in the example.

    import torch
    from torch import nn # Import the nn sub-module from PyTorch
    
    class NeuralNetwork(nn.Module):  # Neural networks are defined as classes
        def __init__(self):  # Layers and variables are defined in the __init__ method
            super().__init__()  # Must be in every network.
            self.flatten = nn.Flatten()   # Construct a flattening layer.
            self.linear_relu_stack = nn.Sequential(  # Construct a stack of layers.
                nn.Linear(28*28, 512),  # Linear Layers have an input and output shape
                nn.ReLU(),  # ReLU is one of many activation functions provided by nn
                nn.Linear(512, 512),
                nn.ReLU(),
                nn.Linear(512, 10), 
            )
    
        def forward(self, x):  # This function defines the forward pass.
            x = self.flatten(x)
            logits = self.linear_relu_stack(x)
            return logits
    

    See also[edit]

    References[edit]

    1. ^ Chintala, Soumith (1 September 2016). "PyTorch Alpha-1 release".
  • ^ "Release 2.3.1". 5 June 2024. Retrieved 24 June 2024.
  • ^ Claburn, Thomas (12 September 2022). "PyTorch gets lit under The Linux Foundation". The Register.
  • ^ Yegulalp, Serdar (19 January 2017). "Facebook brings GPU-powered machine learning to Python". InfoWorld. Retrieved 11 December 2017.
  • ^ Lorica, Ben (3 August 2017). "Why AI and machine learning researchers are beginning to embrace PyTorch". O'Reilly Media. Retrieved 11 December 2017.
  • ^ Ketkar, Nikhil (2017). "Introduction to PyTorch". Deep Learning with Python. Apress, Berkeley, CA. pp. 195–208. doi:10.1007/978-1-4842-2766-4_12. ISBN 9781484227657.
  • ^ Moez Ali (Jun 2023). "NLP with PyTorch: A Comprehensive Guide". datacamp.com. Retrieved 2024-04-01.
  • ^ Patel, Mo (2017-12-07). "When two trends fuse: PyTorch and recommender systems". O'Reilly Media. Retrieved 2017-12-18.
  • ^ Mannes, John. "Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2". TechCrunch. Retrieved 2017-12-18. FAIR is accustomed to working with PyTorch – a deep learning framework optimized for achieving state of the art results in research, regardless of resource constraints. Unfortunately in the real world, most of us are limited by the computational capabilities of our smartphones and computers.
  • ^ Arakelyan, Sophia (2017-11-29). "Tech giants are using open source frameworks to dominate the AI community". VentureBeat. Retrieved 2017-12-18.
  • ^ "PyTorch strengthens its governance by joining the Linux Foundation". pytorch.org. Retrieved 2022-09-13.
  • ^ "The C++ Frontend". PyTorch Master Documentation. Retrieved 2019-07-29.
  • ^ Karpathy, Andrej. "PyTorch at Tesla - Andrej Karpathy, Tesla".
  • ^ "Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language". Uber Engineering Blog. 2017-11-03. Retrieved 2017-12-18.
  • ^ PYTORCH-TRANSFORMERS: PyTorch implementations of popular NLP Transformers, PyTorch Hub, 2019-12-01, retrieved 2019-12-01
  • ^ PYTORCH-Lightning: The lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate, Lightning-Team, 2020-06-18, retrieved 2020-06-18
  • ^ "Ecosystem Tools". pytorch.org. Retrieved 2020-06-18.
  • ^ GitHub - catalyst-team/catalyst: Accelerated DL &RL, Catalyst-Team, 2019-12-05, retrieved 2019-12-05
  • ^ "Ecosystem Tools". pytorch.org. Retrieved 2020-04-04.
  • ^ "PyTorch – About". pytorch.org. Archived from the original on 2018-06-15. Retrieved 2018-06-11.
  • ^ "Caffe2 Merges With PyTorch". 2018-04-02.
  • ^ Edwards, Benj (2022-09-12). "Meta spins off PyTorch Foundation to make AI framework vendor neutral". Ars Technica.
  • ^ "PyTorch 2.0 brings new fire to open-source machine learning". VentureBeat. 15 March 2023. Retrieved 16 March 2023.
  • ^ "Installing PyTorch for ROCm". rocm.docs.amd.com. 2024-02-09.
  • ^ "Introducing Accelerated PyTorch Training on Mac". pytorch.org. Retrieved 2022-06-04.
  • ^ "An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library". analyticsvidhya.com. 2018-02-22. Retrieved 2018-06-11.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=PyTorch&oldid=1223171021"

    Categories: 
    Deep learning software
    Facebook software
    Free science software
    Free software programmed in C
    Free software programmed in Python
    Open-source artificial intelligence
    Python (programming language) scientific libraries
    Software using the BSD license
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
     



    This page was last edited on 10 May 2024, at 10:13 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki