PyTorch ist eine auf Maschinelles Lernen ausgerichtete Open-Source-Programmbibliothek für die Programmiersprache Python, basierend auf der in Lua geschriebenen Bibliothek Torch.[2][3][4] Entwickelt wurde PyTorch von dem Facebook-Forschungsteam für künstliche Intelligenz.[5][6][7]
PyTorch
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan |
Erscheinungsjahr | 2016 |
Aktuelle Version | 2.7.0[1] (23. April 2025) |
Betriebssystem | Linux, MacOS, Windows |
Programmiersprache | Python, C, CUDA |
Lizenz | Open Source |
pytorch.org |
Funktionen
Mit der Programmbibliothek lassen sich zum einen mit GPUs beschleunigte Tensor-Analysen erstellen und zum anderen Neuronale Netze auf Basis eines bandbasierten Autograd-Systems erstellen. Dabei lassen sich bewährte Python-Bibliotheken wie NumPy, SciPy und Cython nutzen. Beim Deep Learning zeichnet sich die Programmbibliothek durch viel Flexibilität und eine hohe Geschwindigkeit aus.[8] ONNX zum Austausch von Modellen mit anderen Programmbibliotheken wird unterstützt.
Beispiel
Im folgende Beispiel soll die Funktionsweise der Bibliothek an einem einfachen Beispiel gezeigt werden
import torch
dtype = torch.float
device = torch.device("cpu") # Hiermit werden alle Berechnungen auf der CPU ausgeführt
# device = torch.device("cuda:0") # Hiermit werden alle Berechnungen auf der GPU ausgeführt
# Erstellung eines Tensors und Befüllung des Tensors mit Zufallszahlen
a = torch.randn(2,3,device=device,dtype=dtype)
a # Ausgabe des Tensors A
tensor([[-1.1884, 0.8498, -1.7129],
[-0.8816, 0.1944, 0.5847]]))
# Erstellung eines Tensors und Befüllung des Tensors mit Zufallszahlen
b = torch.randn(2,3,device=device,dtype=dtype)
b # Ausgabe des Tensors B
tensor([[ 0.7178, -0.8453, -1.3403],
[ 1.3262, 1.1512, -1.7070]])
a*b # Ausgabe einer Multiplikation der beiden Tensoren
tensor([[-0.8530, -0.7183, 2)58],
[-1.1692, 0.2238, -0.9981]])
a.sum() # Ausgabe der Summe aller Elemente im Tensor A
tensor(-2.1540)
a[1,2] # Ausgabe des Elements in der dritten Spalte der zweiten Zeile
tensor(0.5847)
a.min() # Ausgabe des Minimumwertes im Tensor A
tensor(-1.7129)
Weblinks
Einzelnachweise
- ↑ Release 2.7.0. 23. April 2025 (abgerufen am 27. April 2025).
- ↑ Serdar Yegulalp: Facebook brings GPU-powered machine learning to Python. In: InfoWorld. (infoworld.com [abgerufen am 26. Januar 2018]).
- ↑ Ben Lorica: Why AI and machine learning researchers are beginning to embrace PyTorch. In: O'Reilly Media. 3. August 2017 (oreilly.com [abgerufen am 26. Januar 2018]).
- ↑ Nikhil Ketkar: Introduction to PyTorch. In: Deep Learning with Python. Apress, Berkeley, CA, 2017, ISBN 978-1-4842-2765-7, S. 195–208, doi:10.1007/978-1-4842-2766-4_12 (springer.com [abgerufen am 26. Januar 2018]).
- ↑ Mo Patel: When two trends fuse: PyTorch and recommender systems. In: O'Reilly Media. 7. Dezember 2017 (oreilly.com [abgerufen am 26. Januar 2018]).
- ↑ John Mannes: Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2. In: TechCrunch. (techcrunch.com [abgerufen am 26. Januar 2018]).
- ↑ Tech giants are using open source frameworks to dominate the AI community | VentureBeat. Abgerufen am 26. Januar 2018 (amerikanisches Englisch).
- ↑ Alexander Neumann: PyTorch: Ein Deep-Learning-Framework von Facebook. Abgerufen am 26. Januar 2018 (deutsch).