PyTorch

Aus Zweites Gehirn, dem persönlichen Wiki
PyTorch
TypEntität
Kategoriewerkzeug
QuellenQuelle - Neuronale Netze selbst programmieren
Erstellt2026-09-26
Aktualisiert2026-09-27
Tagssoftware, maschinelles-lernen, python, framework

Ein verbreitetes Open-Source-Framework für neuronale Netze in Python. Es bietet fertige Bausteine (Schichten, Aktivierungs- und Verlustfunktionen, Optimierer), berechnet Gradienten automatisch und kann das Training auf Grafikprozessoren (GPU) verlagern.

Warum ein Framework

Laut Quelle - Neuronale Netze selbst programmieren (Kap. 4) ist es für echte Projekte mühsam und fehleranfällig, jedes Netz von Grund auf selbst zu programmieren. Frameworks bündeln die wiederkehrenden Teile. Vor allem berechnen sie die Fehlergradienten automatisch, die im selbstgeschriebenen Netz von Hand hergeleitet werden mussten (siehe Backpropagation). Auf einer passenden GPU kann das Training um eine bis zwei Grössenordnungen schneller laufen.

Grundmuster

Das Buch arbeitet in Google Colab (Python-Notebooks im Browser) und baut dasselbe MNIST-Netz wie zuvor:

  • Netzklasse erbt von nn.Module. Die Schichten werden mit nn.Sequential aufgezählt: nn.Linear(784, 200), Aktivierung, nn.Linear(200, 10), Aktivierung. nn.Linear enthält die Gewichte und einen Bias-Wert, beide lernfähig.
  • Verlustfunktion (nn.MSELoss oder nn.BCELoss) und Optimierer (torch.optim.SGD oder Adam) werden im Konstruktor festgelegt.
  • Trainingsschritt in drei Zeilen: optimiser.zero_grad() (alte Gradienten löschen), loss.backward() (Gradienten rückwärts berechnen), optimiser.step() (Gewichte anpassen). Dieses Muster haben fast alle PyTorch-Netze.
  • Daten kommen über eine eigene Klasse, die von torch.utils.data.Dataset erbt und __len__ und __getitem__ bereitstellt. Die Zielwerte werden als One-hot-Vektor (1-aus-n-Codierung) angelegt.
  • Den Verlauf des Verlusts zeichnet man auf, um zu sehen, ob und wie stabil das Netz lernt.

Verfeinerungen im Buch

Änderung Genauigkeit auf MNIST
Ausgangsnetz: Sigmoid, MSE, SGD 87 %
Verlust BCE (binäre Kreuzentropie, passend für Klassifikation) 90 %
LayerNorm (Signale normalisieren) 91 %
Aktivierung Leaky ReLU 97 %
Optimierer Adam 97 %
alles kombiniert etwa 97 %

Erklärungen in Aktivierungsfunktion und Gradientenverfahren.

Einordnung (Claude)

PyTorch wurde ursprünglich von Meta (Facebook) entwickelt und ist heute neben TensorFlow/JAX das meistverwendete Framework, auch für grosse Sprachmodelle. Diese Angaben sind Allgemeinwissen und nicht eigens recherchiert. Quelle - Neuronale Netze programmieren mit Python verwendet stattdessen TensorFlow mit Keras und erwähnt PyTorch (torch) nur beim Stable-Diffusion-Beispiel als Bibliothek „mit ähnlichen Leistungen“ (S. 429).

Verwandt