fbpx
Wikipedia

PyTorch

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]

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.2.2[2]  / 27 March 2024; 17 days ago (27 March 2024)
Repositorygithub.com/pytorch/pytorch
Written in
Operating system
PlatformIA-32, x86-64, ARM64
Available inEnglish
TypeLibrary for machine learning and deep learning
LicenseBSD-3[3]
Websitepytorch.org

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.

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".
  2. ^ "Release 2.2.2". 27 March 2024. Retrieved 1 April 2024.
  3. ^ Claburn, Thomas (12 September 2022). "PyTorch gets lit under The Linux Foundation". The Register.
  4. ^ Yegulalp, Serdar (19 January 2017). "Facebook brings GPU-powered machine learning to Python". InfoWorld. Retrieved 11 December 2017.
  5. ^ Lorica, Ben (3 August 2017). "Why AI and machine learning researchers are beginning to embrace PyTorch". O'Reilly Media. Retrieved 11 December 2017.
  6. ^ 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.
  7. ^ Moez Ali (Jun 2023). "NLP with PyTorch: A Comprehensive Guide". datacamp.com. Retrieved 2024-04-01.
  8. ^ Patel, Mo (2017-12-07). "When two trends fuse: PyTorch and recommender systems". O'Reilly Media. Retrieved 2017-12-18.
  9. ^ 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.
  10. ^ Arakelyan, Sophia (2017-11-29). "Tech giants are using open source frameworks to dominate the AI community". VentureBeat. Retrieved 2017-12-18.
  11. ^ "PyTorch strengthens its governance by joining the Linux Foundation". pytorch.org. Retrieved 2022-09-13.
  12. ^ "The C++ Frontend". PyTorch Master Documentation. Retrieved 2019-07-29.
  13. ^ Karpathy, Andrej. "PyTorch at Tesla - Andrej Karpathy, Tesla".
  14. ^ "Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language". Uber Engineering Blog. 2017-11-03. Retrieved 2017-12-18.
  15. ^ PYTORCH-TRANSFORMERS: PyTorch implementations of popular NLP Transformers, PyTorch Hub, 2019-12-01, retrieved 2019-12-01
  16. ^ PYTORCH-Lightning: The lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate, Lightning-Team, 2020-06-18, retrieved 2020-06-18
  17. ^ "Ecosystem Tools". pytorch.org. Retrieved 2020-06-18.
  18. ^ GitHub - catalyst-team/catalyst: Accelerated DL & RL, Catalyst-Team, 2019-12-05, retrieved 2019-12-05
  19. ^ "Ecosystem Tools". pytorch.org. Retrieved 2020-04-04.
  20. ^ . pytorch.org. Archived from the original on 2018-06-15. Retrieved 2018-06-11.
  21. ^ "Caffe2 Merges With PyTorch". 2018-04-02.
  22. ^ Edwards, Benj (2022-09-12). "Meta spins off PyTorch Foundation to make AI framework vendor neutral". Ars Technica.
  23. ^ "PyTorch 2.0 brings new fire to open-source machine learning". VentureBeat. 15 March 2023. Retrieved 16 March 2023.
  24. ^ "Installing PyTorch for ROCm". rocm.docs.amd.com. 2024-02-09.
  25. ^ "Introducing Accelerated PyTorch Training on Mac". pytorch.org. Retrieved 2022-06-04.
  26. ^ "An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library". analyticsvidhya.com. 2018-02-22. Retrieved 2018-06-11.

External links edit

  • Official website

pytorch, machine, learning, library, based, torch, library, used, applications, such, computer, vision, natural, language, processing, originally, developed, meta, part, linux, foundation, umbrella, recognized, most, popular, machine, learning, libraries, alon. 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 PyTorchOriginal author s Adam PaszkeSam GrossSoumith ChintalaGregory ChananDeveloper s Meta AIInitial releaseSeptember 2016 7 years ago 2016 09 1 Stable release2 2 2 2 27 March 2024 17 days ago 27 March 2024 Repositorygithub wbr com wbr pytorch wbr pytorchWritten inPythonC CUDAOperating systemLinuxmacOSWindowsPlatformIA 32 x86 64 ARM64Available inEnglishTypeLibrary for machine learning and deep learningLicenseBSD 3 3 Websitepytorch wbr orgA 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 Tensor computing like NumPy with strong acceleration via graphics processing units GPU Deep neural networks built on a tape based automatic differentiation systemContents 1 History 2 PyTorch tensors 3 PyTorch neural networks 4 Example 5 See also 6 References 7 External linksHistory editMeta 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 editMain article Tensor machine learning 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 editMain article Tensor machine learning 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 Example editThe 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 logitsSee also edit nbsp Free and open source software portalComparison of deep learning software Differentiable programming DeepSpeedReferences edit Chintala Soumith 1 September 2016 PyTorch Alpha 1 release Release 2 2 2 27 March 2024 Retrieved 1 April 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 amp 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 editOfficial website Retrieved from https en wikipedia org w index php title PyTorch amp oldid 1217696286, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.