Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

PyTorch

From Wikipedia, the free encyclopedia
Open source machine learning library
PyTorch
Original author(s)
  • Adam Paszke
  • Sam Gross
  • Soumith Chintala
  • Gregory Chanan
Developer(s)Meta AI
Initial releaseSeptember 2016; 8 years ago (2016-09)[1]
Stable release
2.6.0[2] Edit this on Wikidata / 29 January 2025; 52 days ago (29 January 2025)
Repositorygithub.com/pytorch/pytorch
Written in
Operating system
PlatformIA-32,x86-64,ARM64
Available inEnglish
TypeLibrary formachine learning anddeep learning
LicenseBSD-3[3]
Websitepytorch.org
Part of a series on
Machine learning
anddata mining
Journals and conferences

PyTorch is amachine learninglibrary based on theTorch library,[4][5][6] used for applications such ascomputer vision andnatural language processing,[7] originally developed byMeta AI and now part of theLinux Foundation umbrella.[8][9][10][11] It is one of the most populardeep learning frameworks, alongside others such asTensorFlow,[12] offeringfree and open-source software released under themodified BSD license. Although thePython interface is more polished and the primary focus of development, PyTorch also has aC++ interface.[13]

A number of pieces ofdeep learning software are built on top of PyTorch, includingTesla Autopilot,[14]Uber's Pyro,[15]Hugging Face's Transformers,[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 andMicrosoft 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 the independent PyTorch Foundation, a newly created subsidiary of theLinux Foundation.[22]

PyTorch 2.0 was released on 15 March 2023, introducingTorchDynamo, a Python-levelcompiler that makes code run up to 2x faster, along with significant improvements in training and inference performance across majorcloud platforms.[23][24]

PyTorch tensors

[edit]
Main 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 toNumPy Arrays, but can also be operated on aCUDA-capableNVIDIA GPU. PyTorch has also been developing support for other GPU platforms, for example, AMD'sROCm[25] and Apple'sMetal Framework.[26]

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

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 inlinear algebra. Tensors in PyTorch are simply multi-dimensional arrays.

PyTorch neural networks

[edit]
Main article:Neural network (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. Networks are built by inheriting from thetorch.nn module and defining the sequence of operations in theforward() function.

Example

[edit]

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

importtorchdtype=torch.floatdevice=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 numbersa=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 defines a neural network with linear layers using thenn module.

fromtorchimportnn# Import the nn sub-module from PyTorchclassNeuralNetwork(nn.Module):# Neural networks are defined as classesdef__init__(self):# Layers and variables are defined in the __init__ methodsuper().__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 shapenn.ReLU(),# ReLU is one of many activation functions provided by nnnn.Linear(512,512),nn.ReLU(),nn.Linear(512,10),)defforward(self,x):# This function defines the forward pass.x=self.flatten(x)logits=self.linear_relu_stack(x)returnlogits

See also

[edit]

References

[edit]
  1. ^Chintala, Soumith (1 September 2016)."PyTorch Alpha-1 release".GitHub.
  2. ^"PyTorch 2.6.0 Release". 29 January 2025. Retrieved2 February 2025.
  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. Retrieved11 December 2017.
  5. ^Lorica, Ben (3 August 2017)."Why AI and machine learning researchers are beginning to embrace PyTorch". O'Reilly Media. Retrieved11 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. Retrieved2024-04-01.
  8. ^Patel, Mo (2017-12-07)."When two trends fuse: PyTorch and recommender systems".O'Reilly Media. Retrieved2017-12-18.
  9. ^Mannes, John."Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2".TechCrunch. Retrieved2017-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. Retrieved2017-12-18.
  11. ^"PyTorch strengthens its governance by joining the Linux Foundation".pytorch.org. Retrieved2022-09-13.
  12. ^"Top 30 Open Source Projects".Open Source Project Velocity by CNCF. Retrieved2023-10-12.
  13. ^"The C++ Frontend".PyTorch Master Documentation. Retrieved2019-07-29.
  14. ^Karpathy, Andrej (6 November 2019)."PyTorch at Tesla - Andrej Karpathy, Tesla".YouTube.
  15. ^"Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language".Uber Engineering Blog. 2017-11-03. Retrieved2017-12-18.
  16. ^PYTORCH-TRANSFORMERS: PyTorch implementations of popular NLP Transformers, PyTorch Hub, 2019-12-01, retrieved2019-12-01
  17. ^"Ecosystem Tools".pytorch.org. Retrieved2020-06-18.
  18. ^GitHub - catalyst-team/catalyst: Accelerated DL & RL, Catalyst-Team, 2019-12-05, retrieved2019-12-05
  19. ^"Ecosystem Tools".pytorch.org. Retrieved2020-04-04.
  20. ^"PyTorch – About".pytorch.org. Archived fromthe original on 2018-06-15. Retrieved2018-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. ^"Dynamo Overview".
  24. ^"PyTorch 2.0 brings new fire to open-source machine learning".VentureBeat. 15 March 2023. Retrieved16 March 2023.
  25. ^"Installing PyTorch for ROCm".rocm.docs.amd.com. 2024-02-09.
  26. ^"Introducing Accelerated PyTorch Training on Mac".pytorch.org. Retrieved2022-06-04.
  27. ^"An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library".analyticsvidhya.com. 2018-02-22. Retrieved2018-06-11.

External links

[edit]
Open source
Proprietary
Differentiable computing
General
Hardware
Software libraries
Retrieved from "https://en.wikipedia.org/w/index.php?title=PyTorch&oldid=1281854264"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp