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 0.4.0[1]
(24. April 2018)
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]

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 a # Ausgabe des Tensors A
 9 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 b # Ausgabe des Tensors B
15 tensor([[ 0.7178, -0.8453, -1.3403],
16         [ 1.3262,  1.1512, -1.7070]])
17 
18 a*b # Ausgabe einer Multiplikation der beiden Tensoren
19 tensor([[-0.8530, -0.7183,  2.2958],
20         [-1.1692,  0.2238, -0.9981]])
21 
22 a.sum() # Ausgabe der Summe aller Elemente im Tensor A
23 tensor(-2.1540)
24 
25 a[1,2] # Ausgabe des Elements in der dritten Spalte der zweiten Zeile
26 tensor(0.5847)
27 
28 a.min() # Ausgabe des Minimumwertes im Tensor A
29 tensor(-1.7129)

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Release 0.4.0. 24. April 2018 (abgerufen am 3. Mai 2018).
  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).