PyTorch

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.5.1[2] Edit this on Wikidata / 29 October 2024; 55 days ago (29 October 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

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 one of the most popular deep learning frameworks, alongside others such as TensorFlow and PaddlePaddle,[12][13] 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.[14]

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

PyTorch provides two high-level features:[22]

History

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.[23] In September 2022, Meta announced that PyTorch would be governed by the independent PyTorch Foundation, a newly created subsidiary of the Linux Foundation.[24]

PyTorch 2.0 was released on 15 March 2023, introducing TorchDynamo, a Python-level compiler that makes code run up to 2x faster, along with significant improvements in training and inference performance across major cloud platforms.[25][26]

PyTorch tensors

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[27] and Apple's Metal Framework.[28]

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

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

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

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 defines a neural network with linear layers using the nn module.

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

References

  1. ^ Chintala, Soumith (1 September 2016). "PyTorch Alpha-1 release". GitHub.
  2. ^ "Release 2.5.1". 29 October 2024. Retrieved 26 November 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. ^ "Top 30 Open Source Projects". Open Source Project Velocity by CNCF. Retrieved 2023-10-12.
  13. ^ "Welcome to the PaddlePaddle GitHub". PaddlePaddle Official Github Repo. Retrieved 2024-10-28.
  14. ^ "The C++ Frontend". PyTorch Master Documentation. Retrieved 2019-07-29.
  15. ^ Karpathy, Andrej (6 November 2019). "PyTorch at Tesla - Andrej Karpathy, Tesla". YouTube.
  16. ^ "Uber AI Labs Open Sources Pyro, a Deep Probabilistic Programming Language". Uber Engineering Blog. 2017-11-03. Retrieved 2017-12-18.
  17. ^ PYTORCH-TRANSFORMERS: PyTorch implementations of popular NLP Transformers, PyTorch Hub, 2019-12-01, retrieved 2019-12-01
  18. ^ PYTORCH-Lightning: The lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate, Lightning-Team, 2020-06-18, retrieved 2020-06-18
  19. ^ "Ecosystem Tools". pytorch.org. Retrieved 2020-06-18.
  20. ^ GitHub - catalyst-team/catalyst: Accelerated DL & RL, Catalyst-Team, 2019-12-05, retrieved 2019-12-05
  21. ^ "Ecosystem Tools". pytorch.org. Retrieved 2020-04-04.
  22. ^ "PyTorch – About". pytorch.org. Archived from the original on 2018-06-15. Retrieved 2018-06-11.
  23. ^ "Caffe2 Merges With PyTorch". 2018-04-02.
  24. ^ Edwards, Benj (2022-09-12). "Meta spins off PyTorch Foundation to make AI framework vendor neutral". Ars Technica.
  25. ^ "Dynamo Overview".
  26. ^ "PyTorch 2.0 brings new fire to open-source machine learning". VentureBeat. 15 March 2023. Retrieved 16 March 2023.
  27. ^ "Installing PyTorch for ROCm". rocm.docs.amd.com. 2024-02-09.
  28. ^ "Introducing Accelerated PyTorch Training on Mac". pytorch.org. Retrieved 2022-06-04.
  29. ^ "An Introduction to PyTorch – A Simple yet Powerful Deep Learning Library". analyticsvidhya.com. 2018-02-22. Retrieved 2018-06-11.

Read other articles:

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2023. County Monroe, MississippiBekas Gedung Pengadilan County Monroe di Aberdeen.Map of Mississippi highlighting County MonroeLokasi di negara bagian MississippiLokasi negara bagian Mississippi di Amerika SerikatDidirikan1821Asal namaJames MonroeSeatAberdee...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Dispenser bahan bakar adalah mesin di SPBU yang digunakan untuk memompa bensin, bensin, solar, CNG, CGH2, HCNG, LPG, LH2, bahan bakar etanol, biofuel seperti biodiesel, minyak tanah, atau jenis bahan bakar lainnya ke dalam kendaraan. Dispenser bahan ba...

 

Impact of the COVID-19 pandemic on basketball This article needs to be updated. Please help update this article to reflect recent events or newly available information. (April 2022) Part of a series on theCOVID-19 pandemicScientifically accurate atomic model of the external structure of SARS-CoV-2. Each ball is an atom. COVID-19 (disease) SARS-CoV-2 (virus) Cases Deaths Timeline 2019 2020 January responses February responses March responses April responses May responses June responses July re...

International song competition Eurovision Song Contest 1968DatesFinal6 April 1968HostVenueRoyal Albert HallLondon, United KingdomPresenter(s)Katie BoyleMusical directorNorrie ParamorDirected byStewart MorrisExecutive supervisorClifford BrownExecutive producerTom SloanHost broadcasterBritish Broadcasting Corporation (BBC)Websiteeurovision.tv/event/london-1968 ParticipantsNumber of entries17Debuting countriesNoneReturning countriesNoneNon-returning countriesNone Participation map   &#...

 

◄ Fevereiro ► Dom Seg Ter Qua Qui Sex Sáb 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 2 Ano: 2024 Década: 2020 Século: XXI Milênio: 3.º 11 de fevereiro é o 42.º dia do ano no calendário gregoriano. Faltam 323 dias para acabar o ano (324 em anos bissextos). Eventos históricos 660 a.C.: Data tradicional da fundação do Japão 2005: Google anuncia intenção de oferecer hospedagem para a Wikipedia 660 a.C. — Data tradicional da fun...

 

Double vision beralih ke halaman ini. Untuk kegunaan lain, lihat Double vision (disambiguasi).DiplopiaYang dilihat penderita dengan diplopiaInformasi umumNama lainPenglihatan ganda (Double vision)SpesialisasiNeurologi, oftalmologi Diplopia atau disebut juga penglihatan ganda (double vision) adalah kondisi saat seseorang melihat dua gambaran dari satu objek yang sama. Diplopia berasal dari bahasa latin yaitu diplous yang berarti ganda/dobel dan ops yang berarti mata. Diplopia terjadi akibat ma...

Museum Sumpah PemudaTampak depan dari Gedung Museum Sumpah PemudaDidirikan20 Mei 1974LokasiJalan Kramat Raya No. 106,Jakarta Pusat, DKI JayaIndonesiaAkses transportasi umumKA Commuter Jabodetabek: C L stasiun Pasar SenenTransjakarta: 4 (4M) 5 5C 5D 5E 11 (11V) halte Pal PutihSitus webmuseumsumpahpemuda.kemdikbud.go.id Cagar budaya IndonesiaGedung Museum Sumpah PemudaPeringkatNasionalKategoriBangunanNo. RegnasCB.9LokasikeberadaanJakarta Pusat, DKI JakartaTanggal SK1983, 1993 & 2013Pemilik&...

 

Cargo ship sunk during World War II History Name Empire Field (1941–42) Prins Harald (1942) NamesakePrince Harald of Norway Owner Ministry of War Transport (1941–42) Norwegian Government (1942) Operator Haldin & Phillips Ltd (Jan–Oct 1942) Nortraship (Oct–Nov 1942) Port of registry Aberdeen, United Kingdom (1941–42) Oslo, Norway (1942) BuilderWilliam Doxford & Sons Ltd Launched23 September 1941 CompletedJanuary 1942 Out of service20 November 1942 Identification United Kingdo...

 

English playwright This article is about an English playwright. For the American journalist, see Jack Rosenthal (journalist). For the formerly missing child, see Paul Fronczak triple disappearance. Jack RosenthalCBEBorn(1931-09-08)8 September 1931Cheetham Hill, Manchester, EnglandDied29 May 2004(2004-05-29) (aged 72)Barnet, London, EnglandOccupationScreenwriter, playwrightEducationUniversity of SheffieldNotable awardsCBE, BAFTASpouse Catherine Ward ​ ​(m. 1964...

Animation of 2013 ND15 relative to Sun and Venus  Sun ·   Venus ·    2013 ND15 2013 ND15 المكتشف مقراب بان ستارز  موقع الاكتشاف مرصد هاليكالا  تاريخ الاكتشاف 13 يوليو 2013  الأسماء البديلة 2013 ND15  فئةالكوكب الصغير كويكبات آتن  خصائص المدار الأوج 1.1660 AU (174.43 جـم) الحضيض...

 

Representative body for students at University of Technology, Sydney This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: UTS Students' Association – news · newspapers · books · scholar · JSTOR (January 2021) (Learn how and when to remove this message) The University of Technology Sydney Students' Association (UT...

 

Process of human growth to maturity Developmental redirects here. For other uses, see Development. Part of a series onHuman growthand development Stages Gamete Zygote Embryo Fetus Infant Toddler Child Preadolescent Adolescent Emerging and early adulthood Young adult Middle adult Old adult Dying Biological milestones Fertilization Pregnancy Childbirth Walking Language acquisition Puberty Menopause Ageing Death Development and psychology Pre- and perinatal Infant and child Nature versus nurture...

This article needs to be updated. Please help update this article to reflect recent events or newly available information. (January 2014) Bristol is a city in south west England. Its economy has long connections with the sea and its ports. In the 20th century aeronautics played an important role in the economy, and the city still plays a role in the manufacture of aircraft. Bristol is also a tourist destination, and has significant media, information technology and financial services sectors...

 

Buku tulis Buku catatan (juga disebut buku tulis atau buku notes) adalah buku atau tumpukan halaman kertas yang sering diatur dan digunakan untuk tujuan seperti merekam catatan atau memo, menuangkan tulisan, diary, menggambar, membuat buku coretan atau sontekan. Selama abad keempat belas dan kelima belas, buku catatan sering dibuat dari lambaran terpisah yang kemudian disatukan di kemudian hari. Halaman-halamannya kosong dan setiap petugas pencatat harus membuat garis-garis beraturan di atas ...

 

Map all coordinates using OpenStreetMap Download coordinates as: KML GPX (all coordinates) GPX (primary coordinates) GPX (secondary coordinates) This list includes properties and districts listed on the National Register of Historic Places in Richmond County, North Carolina. Click the Map of all coordinates link to the right to view a Google map of all properties and districts with latitude and longitude coordinates in the table below.[1] Current listings        ...

Ne doit pas être confondu avec Épissage. Pour les articles homonymes, voir Épissure. Boitier de protection d'épissure télécom (Amiens). Une épissure est un terme utilisé en mécanique et en électrotechnique pour désigner une jointure entre deux ensembles métalliques souples (fils électriques ou télécoms en cuivre par exemple) ou rigides (barres métalliques fixées sur un cable par exemple). La jointure est obtenue en les tressant ou en les entortillant. Étymologie Le mot est ...

 

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها. سلطة قمح سلطة القمح هي نوع من السلطات العربية تتكون من القمح والذرة والطماطم والجزر والخيار والمخلل والليمون والبقدونس وزيت الزيتون والملح.[1] المصادر ^ طريقة عمل سلطة ال�...

 

German political agitator and writer Arnold RugeBorn(1802-09-13)13 September 1802Bergen auf Rügen, Swedish Pomerania, Holy Roman EmpireDied31 December 1880(1880-12-31) (aged 78)Brighton, EnglandNationalityGermanAlma materMartin Luther University of Halle-WittenbergUniversity of JenaHeidelberg University Arnold Ruge (13 September 1802 – 31 December 1880) was a German philosopher and political writer. He was the older brother of Ludwig Ruge. Studies in university and prison Born in...

Russian socialist revolutionary political activist (1866-1939) Andrei ArgunovBornAndrei Aleksandrovich Argunov(1866-10-19)October 19, 1866Yeniseysk, Russian EmpireDiedDecember 7, 1939(1939-12-07) (aged 73)Prague, Nazi Germany (now Prague, Czech Republic)Occupation(s)Revolutionary, political activist Andrei Aleksandrovich Argunov (‹See Tfd›Russian: Андрей Александрович Аргунов; 19 October 1866[1] – 7 November 1939) was a Russian revolutionary po...

 

Snack food and granola manufacturer Zebra Cakes redirects here. For other uses, see Zebra cake. McKee Foods CorporationLogo of McKee Foods CorporationCompany typePrivateIndustryFood processingFoundedChattanooga, Tennessee, U.S. (1934; 90 years ago (1934))[1]FoundersO.D. McKee,[2]Ruth McKeeHeadquartersCollegedale, Tennessee, U.S.Key peopleMike McKee, Rusty McKee, Angie McKee, Ellsworth McKee, Jack McKee, Cole Smith, Debbie McKee-Fowler[3]Products Snack...