„PyTorch“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K typo |
K IWL zum Hauptartikel |
||
(37 dazwischenliegende Versionen von 28 Benutzern werden nicht angezeigt) | |||
Zeile 20: | Zeile 20: | ||
}} |
}} |
||
'''PyTorch''' ist eine auf [[Maschinelles Lernen]] ausgerichtete [[Open-Source]]-[[Programmbibliothek]] für die [[Programmiersprache]] [[Python (Programmiersprache)|Python]], basierend auf der in [[Lua]] geschriebenen Bibliothek [[Torch (software)|Torch]], die bereits seit 2002 |
'''PyTorch''' ist eine auf [[Maschinelles Lernen]] ausgerichtete [[Open-Source]]-[[Programmbibliothek]] für die [[Programmiersprache]] [[Python (Programmiersprache)|Python]], basierend auf der in [[Lua]] geschriebenen Bibliothek [[Torch (software)|Torch]], die bereits seit 2002 existiert.<ref>{{Literatur |Autor=Serdar Yegulalp |Titel=Facebook brings GPU-powered machine learning to Python |Sammelwerk=InfoWorld |Datum= |Online=https://www.infoworld.com/article/3159120/artificial-intelligence/facebook-brings-gpu-powered-machine-learning-to-python.html |Abruf=2018-01-26}}</ref><ref>{{Literatur |Autor=Ben Lorica |Titel=Why AI and machine learning researchers are beginning to embrace PyTorch |Sammelwerk=O’Reilly Media |Datum=2017-08-03 |Online=https://www.oreilly.com/ideas/why-ai-and-machine-learning-researchers-are-beginning-to-embrace-pytorch |Abruf=2018-01-26}}</ref><ref>{{Literatur |Autor=Nikhil Ketkar |Titel=Introduction to PyTorch |Sammelwerk=Deep Learning with Python |Verlag=Apress, Berkeley, CA |Datum=2017 |ISBN=978-1-4842-2765-7 |Seiten=195–208 |Online=https://link.springer.com/chapter/10.1007/978-1-4842-2766-4_12 |Abruf=2018-01-26 |DOI=10.1007/978-1-4842-2766-4_12}}</ref> Entwickelt wurde PyTorch vom [[Facebook]]-Forschungsteam für [[künstliche Intelligenz]].<ref>{{Literatur |Autor=Mo Patel |Titel=When two trends fuse: PyTorch and recommender systems |Sammelwerk=O’Reilly Media |Datum=2017-12-07 |Online=https://www.oreilly.com/ideas/when-two-trends-fuse-pytorch-and-recommender-systems |Abruf=2018-01-26}}</ref><ref>{{Literatur |Autor=John Mannes |Titel=Facebook and Microsoft collaborate to simplify conversions from PyTorch to Caffe2 |Sammelwerk=TechCrunch |Datum= |Online=https://techcrunch.com/2017/09/07/facebook-and-microsoft-collaborate-to-simplify-conversions-from-pytorch-to-caffe2/ |Abruf=2018-01-26}}</ref><ref>{{Internetquelle |url=https://venturebeat.com/2017/11/29/tech-giants-are-using-open-source-frameworks-to-dominate-the-ai-community/ |titel=Tech giants are using open source frameworks to dominate the AI community {{!}} VentureBeat |sprache=en-US |abruf=2018-01-26}}</ref> Im September 2022 wurde Pytorch mittels der neugegründeten Pytorch Foundation Teil der [[Linux Foundation]].<ref>{{Internetquelle |url=https://pytorch.org/blog/PyTorchfoundation/ |titel=PyTorch strengthens its governance by joining the Linux Foundation |sprache=en |abruf=2022-09-13}}</ref> |
||
== Funktionen und Versionsgeschichte == |
== Funktionen und Versionsgeschichte == |
||
Mit der Programmbibliothek lassen sich zum einen mit [[Grafikprozessor|GPUs]] beschleunigte Tensor-Analysen erstellen und zum anderen [[Neuronales Netz|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.<ref>{{Internetquelle |autor=Alexander Neumann |url=https://www.heise.de/developer/meldung/PyTorch-Ein-Deep-Learning-Framework-von-Facebook-3601989.html |titel=PyTorch: Ein Deep-Learning-Framework von Facebook | |
Mit der Programmbibliothek lassen sich zum einen mit [[Grafikprozessor|GPUs]] beschleunigte [[Tensor]]-Analysen erstellen und zum anderen [[Neuronales Netz|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.<ref>{{Internetquelle |autor=Alexander Neumann |url=https://www.heise.de/developer/meldung/PyTorch-Ein-Deep-Learning-Framework-von-Facebook-3601989.html |titel=PyTorch: Ein Deep-Learning-Framework von Facebook |sprache=de-DE |abruf=2018-01-26}}</ref> [[ONNX]] zum Austausch von Modellen mit anderen Programmbibliotheken wird unterstützt. TorchScript-Dokumente können durch einen [[Compiler]] in PyTorch-Modelle umgewandelt werden. TorchScript kann unabhängig von Python ausgeführt werden und ist seit der Version 1.2 in PyTorch enthalten.<ref>{{Internetquelle |url=https://www.bigdata-insider.de/was-ist-onnx-open-neural-network-exchange-a-851510/ |titel=Was ist ONNX (Open Neural Network Exchange)? |sprache=de |abruf=2019-08-30}}</ref><ref name=":0">{{Internetquelle |autor=heise online |url=https://www.heise.de/developer/meldung/Machine-Learning-PyTorch-1-2-verbessert-Scripting-und-Export-4496208.html |titel=Machine Learning: PyTorch 1.2 verbessert Scripting und Export |sprache=de |abruf=2019-08-30}}</ref> |
||
Die im Oktober 2019 erschienene 1.3-Version ermöglicht die Nutzung von PyTorch auf den mobilen Plattformen [[Android (Betriebssystem)|Android]] und [[IOS (Betriebssystem)|iOS]] (PyTorch Mobile). Ein 8-Bit-Quantisierungsmodell soll ebenfalls das [[Softwareverteilung|Deployment]] auf Servern und [[Edge Computing|Edge]]-Geräten effizienter gestalten. Da die traditionelle Implementierung von Tensoren Mängel auswies, können Tensoren seit der Version auch als ''Named Tensors'' benannt werden.<ref>{{Internetquelle |autor=heise online |url=https://www.heise.de/developer/meldung/Machine-Learning-PyTorch-1-3-setzt-auf-Mobilgeraete-4555066.html |titel=Machine Learning: PyTorch 1.3 setzt auf Mobilgeräte |abruf=2019-10-14 |
Die im Oktober 2019 erschienene 1.3-Version ermöglicht die Nutzung von PyTorch auf den mobilen Plattformen [[Android (Betriebssystem)|Android]] und [[IOS (Betriebssystem)|iOS]] (PyTorch Mobile). Ein 8-[[Bit]]-Quantisierungsmodell soll ebenfalls das [[Softwareverteilung|Deployment]] auf Servern und [[Edge Computing|Edge]]-Geräten effizienter gestalten. Da die traditionelle Implementierung von Tensoren Mängel auswies, können Tensoren seit der Version 1.3 auch als ''Named Tensors'' benannt werden.<ref>{{Internetquelle |autor=heise online |url=https://www.heise.de/developer/meldung/Machine-Learning-PyTorch-1-3-setzt-auf-Mobilgeraete-4555066.html |titel=Machine Learning: PyTorch 1.3 setzt auf Mobilgeräte |sprache=de |abruf=2019-10-14}}</ref> Mit der Version 1.4 von Januar 2020 wurde [[Pruning]] für künstliche neuronale Netze und ein paralleles Training von Modellen mit [[Remote Procedure Call]] ergänzt. Des Weiteren wurde eine Anbindung zu [[Java (Programmiersprache)|Java]] hinzugefügt.<ref>{{Internetquelle |autor=heise online |url=https://www.heise.de/developer/meldung/Machine-Learning-PyTorch-1-4-oeffnet-sich-fuer-Java-4639227.html |titel=Machine Learning: PyTorch 1.4 öffnet sich für Java |sprache=de |abruf=2020-05-18}}</ref> Seit der Version 1.5, die Mitte April 2020 erschienen ist, wird ''TorchServe'' als [[Open Source|Open-Source]]-Server für PyTorch verwendet. Neben Facebook ist dabei auch der Cloud-Anbieter [[Amazon Web Services]] (kurz: AWS) an dem Dienst beteiligt. Ebenfalls lässt sich seit der Version eine [[C++]]-Frontend-API verwenden.<ref>{{Internetquelle |autor=heise online |url=https://www.heise.de/developer/meldung/Machine-Learning-TorchServe-dient-PyTorch-1-5-als-neuer-Open-Source-Server-4707704.html |titel=Machine Learning: TorchServe dient PyTorch 1.5 als neuer Open-Source-Server |sprache=de |abruf=2020-05-18}}</ref> |
||
== Bibliotheken und Plattformen == |
== Bibliotheken und Plattformen == |
||
PyTorch setzt sich aus mehreren Bibliotheken und Plattformen zusammen, die für [[Maschinelles Lernen]] eingesetzt werden. Nachfolgend eine Liste der einzelnen Elemente von PyTorch mit einer Übersicht der wichtigsten Funktionen:<ref>{{Internetquelle |url=https://www.pytorch.org/ |titel=PyTorch |abruf=2019-08-30 | |
PyTorch setzt sich aus mehreren [[Bibliothek (Programmierung)|Bibliotheken]] und Plattformen zusammen, die für [[Maschinelles Lernen]] eingesetzt werden.<ref>{{cite book |title=Deep Learning for Coders with fastai and PyTorch |url=https://python.engineering/deep-learning-for-coders-with-fastai-and-pytorch/ |author=Jeremy Howard, Sylvain Gugger |isbn=978-1-4920-4552-6 |publisher=O’Reilly |date=2020}}</ref> Nachfolgend eine Liste der einzelnen Elemente von PyTorch mit einer Übersicht der wichtigsten Funktionen:<ref>{{Internetquelle |url=https://www.pytorch.org/ |titel=PyTorch |sprache=en |abruf=2019-08-30 |archiv-url=https://web.archive.org/web/20200120225810/https://pytorch.org/ |archiv-datum=2020-01-20 |offline=ja |archiv-bot=2022-12-30 05:40:31 InternetArchiveBot }}</ref> |
||
{| class="wikitable" |
{| class="wikitable" |
||
|+ |
|+ |
||
Zeile 35: | Zeile 35: | ||
|- |
|- |
||
|[https://allennlp.org/ AllenNLP] |
|[https://allennlp.org/ AllenNLP] |
||
|Design und Entwicklung von [[Natural language processing]]-Modellen |
|Design und Entwicklung von [[Natural language processing|Natural-language-processing]]-Modellen |
||
|- |
|- |
||
|[https://github.com/BorealisAI/advertorch advertorch] |
|[https://github.com/BorealisAI/advertorch advertorch] |
||
Zeile 44: | Zeile 44: | ||
|- |
|- |
||
|[https://github.com/pytorch/elf ELF] |
|[https://github.com/pytorch/elf ELF] |
||
|[[ |
|[[Anwendungen künstlicher Intelligenz#KI in Computer- und Gesellschaftsspielen|Lösen von Computerspielen]] |
||
|- |
|- |
||
|[https://docs.fast.ai fastai] |
|[https://docs.fast.ai/ fastai] |
||
|[[Bilderkennung]]/ [[Texterkennung]]/ [[Tabellenkalkulation]]/ [[Kollaboratives Filtern]] |
|[[Bilderkennung]]/ [[Texterkennung]]/ [[Tabellenkalkulation]]/ [[Kollaboratives Filtern]] |
||
|- |
|- |
||
Zeile 59: | Zeile 59: | ||
|- |
|- |
||
|[https://github.com/horovod/horovod Horovod] |
|[https://github.com/horovod/horovod Horovod] |
||
|Verteiltes Deep Learning mit Performance-Optimierungen durch Übertragungen zwischen den Knoten, die auf dem [[Message Passing Interface]] basieren.<ref>{{Internetquelle |autor= |url=https://www.bigdata-insider.de/was-ist-horovod-a-846416/ |titel=https://www.bigdata-insider.de/was-ist-horovod-a-846416/ |werk= |hrsg= |datum= |abruf=2019-08-30 |
|Verteiltes Deep Learning mit Performance-Optimierungen durch Übertragungen zwischen den Knoten, die auf dem [[Message Passing Interface]] basieren.<ref>{{Internetquelle |autor= |url=https://www.bigdata-insider.de/was-ist-horovod-a-846416/ |titel=https://www.bigdata-insider.de/was-ist-horovod-a-846416/ |werk= |hrsg= |datum= |abruf=2019-08-30}}</ref> |
||
|- |
|- |
||
|[https://github.com/pytorch/ignite ignite] |
|[https://github.com/pytorch/ignite ignite] |
||
Zeile 94: | Zeile 94: | ||
== Beispiel == |
== Beispiel == |
||
Das folgende Programm zeigt die Funktionalität der Bibliothek anhand eines einfachen Beispiels. |
|||
<syntaxhighlight lang="python" line="1"> |
<syntaxhighlight lang="python" line="1"> |
||
import torch |
import torch |
||
Zeile 120: | Zeile 120: | ||
# Ausgabe: tensor(-2.1540) |
# Ausgabe: tensor(-2.1540) |
||
print(a[ |
print(a[2,3]) # Ausgabe des Elements in der dritten Spalte der zweiten Zeile |
||
# Ausgabe: tensor(0.5847) |
# Ausgabe: tensor(0.5847) |
||
Zeile 126: | Zeile 126: | ||
# Ausgabe: tensor(-1.7129) |
# Ausgabe: tensor(-1.7129) |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
== Module == |
|||
=== Autograd-Modul === |
|||
PyTorch verwendet eine [[Automatisches Differenzieren|automatische Differenzierungsmethode]]. Es zeichnet Vorwärtsberechnungen auf und spielt diese dann rückwärts ab, um [[Gradient (Mathematik)|Gradienten]] zu berechnen. Diese Methode ist besonders beim Aufbau neuronaler Netze nützlich, da man hiermit differenzielle Parameterkorrekturen parallel zu einem Vorwärtsdurchlauf berechnen kann. |
|||
=== Optim-Modul === |
|||
Torch.optim ist ein Modul, das mehrere Optimierungsalgorithmen implementiert, die beim Aufbau neuronaler Netze verwendet werden. Die meisten der am häufigsten verwendeten Methoden wurden implementiert. |
|||
=== Nn-Modul === |
|||
Das Autograd-Modul von PyTorch erleichtert das Definieren von Berechnungsgraphen und das Arbeiten mit Gradienten, ist jedoch möglicherweise zu niedrig, um komplexe neuronale Netze zu definieren. Eine Abstraktion auf höherer Ebene für solche Anwendungen ist das nn-Modul. |
|||
== Weblinks == |
== Weblinks == |
||
* http://pytorch.org |
* http://pytorch.org |
||
== Literatur == |
== Literatur == |
||
Zeile 134: | Zeile 145: | ||
=== Deutsch === |
=== Deutsch === |
||
* Tariq Rashid: Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python, |
* Tariq Rashid: Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python, O’Reilly, 2017, ISBN 978-3-96010-103-1 |
||
* Delip Rao, Brian McMahan: Natural Language Processing mit PyTorch: Intelligente Sprachanwendungen mit Deep Learning erstellen, Dpunkt.Verlag, 2019, ISBN |
* Delip Rao, Brian McMahan: Natural Language Processing mit PyTorch: Intelligente Sprachanwendungen mit Deep Learning erstellen, Dpunkt.Verlag, 2019, ISBN 978-3-96009-118-9 |
||
* Sebastian Raschka: Machine Learning mit Python: das Praxis-Handbuch für Data Science, Predictive Analytics und Deep Learning, mitp Verlags, 2017, ISBN |
* Sebastian Raschka: Machine Learning mit Python: das Praxis-Handbuch für Data Science, Predictive Analytics und Deep Learning, mitp Verlags, 2017, ISBN 978-3-95845-423-1 |
||
* Ramon Wartala: Praxiseinstieg Deep Learning: Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen, |
* Ramon Wartala: Praxiseinstieg Deep Learning: Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen, O’Reilly, 2018, ISBN 978-3-96010-157-4 |
||
=== Englisch === |
=== Englisch === |
||
* Chitra Vasudevan: Concepts and Programming in PyTorch, Chitra Vasudevan, 2018, ISBN |
* Chitra Vasudevan: Concepts and Programming in PyTorch, Chitra Vasudevan, 2018, ISBN 978-93-88176-05-7 |
||
* Sherin Thomas, Sudhanshu Passi: PyTorch Deep Learning Hands-On: Build CNNs, RNNs, GANs, reinforcement learning, and more, quickly and easily, Packt Publishing Ltd, 2019, ISBN |
* Sherin Thomas, Sudhanshu Passi: PyTorch Deep Learning Hands-On: Build CNNs, RNNs, GANs, reinforcement learning, and more, quickly and easily, Packt Publishing Ltd, 2019, ISBN 978-1-78883-343-1 |
||
* Pradeepta Mishra: PyTorch Recipes: A Problem-Solution Approach, Apress, 2019 ISBN |
* Pradeepta Mishra: PyTorch Recipes: A Problem-Solution Approach, Apress, 2019, ISBN 978-1-4842-4258-2 |
||
* Samuel Burns: Python Deep Learning: Develop Your First Neural Network in Python Using Tensorflow, Keras, and Pytorch, Independently Published, 2019, ISBN |
* Samuel Burns: Python Deep Learning: Develop Your First Neural Network in Python Using Tensorflow, Keras, and Pytorch, Independently Published, 2019, ISBN 978-1-0925-6222-5 |
||
* Vishnu Subramanian: Deep Learning with PyTorch: A practical approach to building neural network models using PyTorch, Packt Publishing, 2018, ISBN |
* Vishnu Subramanian: Deep Learning with PyTorch: A practical approach to building neural network models using PyTorch, Packt Publishing, 2018, ISBN 978-1-78862-607-1 |
||
* Hyatt Saleh: Applied Deep Learning with PyTorch: Demystify neural networks with PyTorch, Packt Publishing, 2019, ISBN |
* Hyatt Saleh: Applied Deep Learning with PyTorch: Demystify neural networks with PyTorch, Packt Publishing, 2019, ISBN 978-1-78980-705-9 |
||
* Eli Stevens, Luca Antiga: Deep Learning with Pytorch, MANNING PUBN, 2019, ISBN |
* Eli Stevens, Luca Antiga: Deep Learning with Pytorch, MANNING PUBN, 2019, ISBN 978-1-61729-526-3 |
||
* David Julian: Deep Learning with PyTorch Quick Start Guide: Learn to train and deploy neural network models in Python, Packt Publishing, 2018, ISBN |
* David Julian: Deep Learning with PyTorch Quick Start Guide: Learn to train and deploy neural network models in Python, Packt Publishing, 2018, ISBN 978-1-78953-973-8 |
||
== Einzelnachweise == |
== Einzelnachweise == |
Aktuelle Version vom 15. November 2024, 09:30 Uhr
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 |
PyTorch ist eine auf Maschinelles Lernen ausgerichtete Open-Source-Programmbibliothek für die Programmiersprache Python, basierend auf der in Lua geschriebenen Bibliothek Torch, die bereits seit 2002 existiert.[2][3][4] Entwickelt wurde PyTorch vom Facebook-Forschungsteam für künstliche Intelligenz.[5][6][7] Im September 2022 wurde Pytorch mittels der neugegründeten Pytorch Foundation Teil der Linux Foundation.[8]
Funktionen und Versionsgeschichte
[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.[9] ONNX zum Austausch von Modellen mit anderen Programmbibliotheken wird unterstützt. TorchScript-Dokumente können durch einen Compiler in PyTorch-Modelle umgewandelt werden. TorchScript kann unabhängig von Python ausgeführt werden und ist seit der Version 1.2 in PyTorch enthalten.[10][11]
Die im Oktober 2019 erschienene 1.3-Version ermöglicht die Nutzung von PyTorch auf den mobilen Plattformen Android und iOS (PyTorch Mobile). Ein 8-Bit-Quantisierungsmodell soll ebenfalls das Deployment auf Servern und Edge-Geräten effizienter gestalten. Da die traditionelle Implementierung von Tensoren Mängel auswies, können Tensoren seit der Version 1.3 auch als Named Tensors benannt werden.[12] Mit der Version 1.4 von Januar 2020 wurde Pruning für künstliche neuronale Netze und ein paralleles Training von Modellen mit Remote Procedure Call ergänzt. Des Weiteren wurde eine Anbindung zu Java hinzugefügt.[13] Seit der Version 1.5, die Mitte April 2020 erschienen ist, wird TorchServe als Open-Source-Server für PyTorch verwendet. Neben Facebook ist dabei auch der Cloud-Anbieter Amazon Web Services (kurz: AWS) an dem Dienst beteiligt. Ebenfalls lässt sich seit der Version eine C++-Frontend-API verwenden.[14]
Bibliotheken und Plattformen
[Bearbeiten | Quelltext bearbeiten]PyTorch setzt sich aus mehreren Bibliotheken und Plattformen zusammen, die für Maschinelles Lernen eingesetzt werden.[15] Nachfolgend eine Liste der einzelnen Elemente von PyTorch mit einer Übersicht der wichtigsten Funktionen:[16]
Wichtige Bibliotheken in PyTorch für Maschinelles Lernen sind torchvision für die Bilderkennung, torchtext für die Texterkennung und torchaudio für die Sprach- und Audioerkennung.[11]
Beispiel
[Bearbeiten | Quelltext bearbeiten]Das folgende Programm zeigt die Funktionalität der Bibliothek anhand eines einfachen Beispiels.
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)
print(a) # Ausgabe des Tensors A
# Ausgabe: 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)
print(b) # Ausgabe des Tensors B
# Ausgabe: tensor([[ 0.7178, -0.8453, -1.3403],
# [ 1.3262, 1.1512, -1.7070]])
print(a*b) # Ausgabe einer Multiplikation der beiden Tensoren
# Ausgabe: tensor([[-0.8530, -0.7183, 2.58],
# [-1.1692, 0.2238, -0.9981]])
print(a.sum()) # Ausgabe der Summe aller Elemente im Tensor A
# Ausgabe: tensor(-2.1540)
print(a[2,3]) # Ausgabe des Elements in der dritten Spalte der zweiten Zeile
# Ausgabe: tensor(0.5847)
print(a.min()) # Ausgabe des Minimumwertes im Tensor A
# Ausgabe: tensor(-1.7129)
Module
[Bearbeiten | Quelltext bearbeiten]Autograd-Modul
[Bearbeiten | Quelltext bearbeiten]PyTorch verwendet eine automatische Differenzierungsmethode. Es zeichnet Vorwärtsberechnungen auf und spielt diese dann rückwärts ab, um Gradienten zu berechnen. Diese Methode ist besonders beim Aufbau neuronaler Netze nützlich, da man hiermit differenzielle Parameterkorrekturen parallel zu einem Vorwärtsdurchlauf berechnen kann.
Optim-Modul
[Bearbeiten | Quelltext bearbeiten]Torch.optim ist ein Modul, das mehrere Optimierungsalgorithmen implementiert, die beim Aufbau neuronaler Netze verwendet werden. Die meisten der am häufigsten verwendeten Methoden wurden implementiert.
Nn-Modul
[Bearbeiten | Quelltext bearbeiten]Das Autograd-Modul von PyTorch erleichtert das Definieren von Berechnungsgraphen und das Arbeiten mit Gradienten, ist jedoch möglicherweise zu niedrig, um komplexe neuronale Netze zu definieren. Eine Abstraktion auf höherer Ebene für solche Anwendungen ist das nn-Modul.
Weblinks
[Bearbeiten | Quelltext bearbeiten]Literatur
[Bearbeiten | Quelltext bearbeiten]Deutsch
[Bearbeiten | Quelltext bearbeiten]- Tariq Rashid: Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python, O’Reilly, 2017, ISBN 978-3-96010-103-1
- Delip Rao, Brian McMahan: Natural Language Processing mit PyTorch: Intelligente Sprachanwendungen mit Deep Learning erstellen, Dpunkt.Verlag, 2019, ISBN 978-3-96009-118-9
- Sebastian Raschka: Machine Learning mit Python: das Praxis-Handbuch für Data Science, Predictive Analytics und Deep Learning, mitp Verlags, 2017, ISBN 978-3-95845-423-1
- Ramon Wartala: Praxiseinstieg Deep Learning: Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen, O’Reilly, 2018, ISBN 978-3-96010-157-4
Englisch
[Bearbeiten | Quelltext bearbeiten]- Chitra Vasudevan: Concepts and Programming in PyTorch, Chitra Vasudevan, 2018, ISBN 978-93-88176-05-7
- Sherin Thomas, Sudhanshu Passi: PyTorch Deep Learning Hands-On: Build CNNs, RNNs, GANs, reinforcement learning, and more, quickly and easily, Packt Publishing Ltd, 2019, ISBN 978-1-78883-343-1
- Pradeepta Mishra: PyTorch Recipes: A Problem-Solution Approach, Apress, 2019, ISBN 978-1-4842-4258-2
- Samuel Burns: Python Deep Learning: Develop Your First Neural Network in Python Using Tensorflow, Keras, and Pytorch, Independently Published, 2019, ISBN 978-1-0925-6222-5
- Vishnu Subramanian: Deep Learning with PyTorch: A practical approach to building neural network models using PyTorch, Packt Publishing, 2018, ISBN 978-1-78862-607-1
- Hyatt Saleh: Applied Deep Learning with PyTorch: Demystify neural networks with PyTorch, Packt Publishing, 2019, ISBN 978-1-78980-705-9
- Eli Stevens, Luca Antiga: Deep Learning with Pytorch, MANNING PUBN, 2019, ISBN 978-1-61729-526-3
- David Julian: Deep Learning with PyTorch Quick Start Guide: Learn to train and deploy neural network models in Python, Packt Publishing, 2018, ISBN 978-1-78953-973-8
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ 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).
- ↑ PyTorch strengthens its governance by joining the Linux Foundation. Abgerufen am 13. September 2022 (englisch).
- ↑ Alexander Neumann: PyTorch: Ein Deep-Learning-Framework von Facebook. Abgerufen am 26. Januar 2018 (deutsch).
- ↑ Was ist ONNX (Open Neural Network Exchange)? Abgerufen am 30. August 2019.
- ↑ a b heise online: Machine Learning: PyTorch 1.2 verbessert Scripting und Export. Abgerufen am 30. August 2019.
- ↑ heise online: Machine Learning: PyTorch 1.3 setzt auf Mobilgeräte. Abgerufen am 14. Oktober 2019.
- ↑ heise online: Machine Learning: PyTorch 1.4 öffnet sich für Java. Abgerufen am 18. Mai 2020.
- ↑ heise online: Machine Learning: TorchServe dient PyTorch 1.5 als neuer Open-Source-Server. Abgerufen am 18. Mai 2020.
- ↑ Jeremy Howard, Sylvain Gugger: Deep Learning for Coders with fastai and PyTorch. O’Reilly, 2020, ISBN 978-1-4920-4552-6 (python.engineering).
- ↑ PyTorch. Archiviert vom (nicht mehr online verfügbar) am 20. Januar 2020; abgerufen am 30. August 2019 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ https://www.bigdata-insider.de/was-ist-horovod-a-846416/. Abgerufen am 30. August 2019.