PyTorch - Terminologien

In diesem Kapitel werden einige der am häufigsten verwendeten Begriffe in PyTorch erläutert.

PyTorch NumPy

Ein PyTorch-Tensor ist identisch mit einem NumPy-Array. Ein Tensor ist ein n-dimensionales Array und bietet in Bezug auf PyTorch viele Funktionen, um mit diesen Tensoren zu arbeiten.

PyTorch-Tensoren verwenden normalerweise GPUs, um ihre numerischen Berechnungen zu beschleunigen. Diese in PyTorch erstellten Tensoren können verwendet werden, um ein zweischichtiges Netzwerk an zufällige Daten anzupassen. Der Benutzer kann die Vorwärts- und Rückwärtsdurchläufe durch das Netzwerk manuell implementieren.

Variablen und Autograd

Bei Verwendung von Autograd definiert der Vorwärtsdurchlauf Ihres Netzwerks a computational graph - Knoten im Diagramm sind Tensoren, und Kanten sind Funktionen, die Ausgangstensoren aus Eingangstensoren erzeugen.

PyTorch-Tensoren können als variable Objekte erstellt werden, bei denen eine Variable einen Knoten im Rechengraphen darstellt.

Dynamische Diagramme

Statische Diagramme sind nett, weil der Benutzer das Diagramm im Voraus optimieren kann. Wenn Programmierer denselben Graphen immer wieder verwenden, kann diese möglicherweise kostspielige Voraboptimierung beibehalten werden, da derselbe Graph immer wieder wiederholt wird.

Der Hauptunterschied zwischen ihnen besteht darin, dass die Rechengraphen von Tensor Flow statisch sind und PyTorch dynamische Rechengraphen verwendet.

Optim-Paket

Das Optimierungspaket in PyTorch abstrahiert die Idee eines Optimierungsalgorithmus, der auf viele Arten implementiert ist und häufig verwendete Optimierungsalgorithmen veranschaulicht. Dies kann innerhalb der import-Anweisung aufgerufen werden.

Mehrfachverarbeitung

Multiprocessing unterstützt dieselben Operationen, sodass alle Tensoren auf mehreren Prozessoren arbeiten. Die Daten der Warteschlange werden in den gemeinsam genutzten Speicher verschoben und senden nur ein Handle an einen anderen Prozess.