PyTorch

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
PyTorch

Pytorch logo.png
Basisdaten

Entwickler Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan
Erscheinungsjahr 2016
Aktuelle Version 1.2.0[1]
(8. August 2019)
Betriebssystem Linux, MacOS, Windows
Programmiersprache Python, C, CUDA
Lizenz Open Source
pytorch.org

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]

Funktionen[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Im folgende Beispiel soll die Funktionsweise der Bibliothek an einem einfachen Beispiel gezeigt werden

 1 import torch
 2 dtype = torch.float
 3 device = torch.device("cpu") # Hiermit werden alle Berechnungen auf der CPU ausgeführt
 4 # device = torch.device("cuda:0") # Hiermit werden alle Berechnungen auf der GPU ausgeführt
 5 
 6 # Erstellung eines Tensors und Befüllung des Tensors mit Zufallszahlen
 7 a = torch.randn(2,3,device=device,dtype=dtype)
 8 print(a) # Ausgabe des Tensors A
 9 # Ausgabe: tensor([[-1.1884,  0.8498, -1.7129],
10 #                  [-0.8816,  0.1944,  0.5847]])
11 
12 # Erstellung eines Tensors und Befüllung des Tensors mit Zufallszahlen
13 b = torch.randn(2,3,device=device,dtype=dtype)
14 print(b) # Ausgabe des Tensors B
15 # Ausgabe: tensor([[ 0.7178, -0.8453, -1.3403],
16 #                  [ 1.3262,  1.1512, -1.7070]])
17 
18 print(a*b) # Ausgabe einer Multiplikation der beiden Tensoren
19 # Ausgabe: tensor([[-0.8530, -0.7183,  2.58],
20 #                  [-1.1692,  0.2238, -0.9981]])
21 
22 print(a.sum()) # Ausgabe der Summe aller Elemente im Tensor A
23 # Ausgabe: tensor(-2.1540)
24 
25 print(a[1,2]) # Ausgabe des Elements in der dritten Spalte der zweiten Zeile
26 # Ausgabe: tensor(0.5847)
27 
28 print(a.min()) # Ausgabe des Minimumwertes im Tensor A
29 # Ausgabe: tensor(-1.7129)

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Release 1.2.0. 8. August 2019 (abgerufen am 9. August 2019).
  2. Serdar Yegulalp: Facebook brings GPU-powered machine learning to Python. In: InfoWorld. (infoworld.com [abgerufen am 26. Januar 2018]).
  3. 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]).
  4. 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]).
  5. Mo Patel: When two trends fuse: PyTorch and recommender systems. In: O'Reilly Media. 7. Dezember 2017 (oreilly.com [abgerufen am 26. Januar 2018]).
  6. John Mannes: Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2. In: TechCrunch. (techcrunch.com [abgerufen am 26. Januar 2018]).
  7. Tech giants are using open source frameworks to dominate the AI community | VentureBeat. Abgerufen am 26. Januar 2018 (amerikanisches Englisch).
  8. Alexander Neumann: PyTorch: Ein Deep-Learning-Framework von Facebook. Abgerufen am 26. Januar 2018 (deutsch).