0Pricing
Learn AI with Python · Lektion

PyTorch-Tensoren und Autograd

torch.Tensor, requires_grad, backward(), Gradientenberechnung, Tensoroperationen.

PyTorch-Tensoren und Autograd ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was ist PyTorch?

PyTorch ist ein Deep-Learning-Framework rund um Tensoren, also mehrdimensionale Arrays mit GPU-Beschleunigung und automatischer Differenzierung. Die beiden Grundlagen, die Sie zuerst beherrschen müssen, sind Tensoren und autograd.

pip install torch

import torch

Tensoren erstellen

Ein Tensor ähnelt einem NumPy-Array, kann aber auf einer GPU liegen und Gradienten verfolgen. Erstellen Sie einen mit torch.tensor. Tensoren haben eine shape und einen dtype.

x = torch.tensor([1.0, 2.0, 3.0])
print(x.shape)   # torch.Size([3])
print(x.dtype)   # torch.float32

Operationen mit Tensoren

Tensoren unterstützen elementweise Mathematik, Matrixmultiplikation und Umformungen. Operationen sind vektorisiert und werden auf der Hardware schnell ausgeführt. Das ist die Rechenbasis jedes neuronalen Netzes.

a = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
b = torch.tensor([[5.0, 6.0], [7.0, 8.0]])
print(a + b)
print(a @ b)  # matrix multiply

requires_grad: Gradienten verfolgen

Um Gradienten zu berechnen, erstellen Sie einen Tensor mit requires_grad=True. PyTorch zeichnet anschließend jede darauf ausgeführte Operation auf und erstellt einen Berechnungsgraphen, den es später differenzieren kann.

x = torch.tensor([2.0, 3.0], requires_grad=True)
print(x.requires_grad)  # True

Eine Berechnung aufbauen

Wenden Sie Operationen auf einen Tensor mit Gradientenverfolgung an, um eine skalare Ausgabe zu erzeugen. Hier quadrieren wir jedes Element und bilden die Summe. So erhalten wir eine einzelne Zahl, nach der wir in Bezug auf x differenzieren können.

x = torch.tensor([2.0, 3.0], requires_grad=True)
y = x.pow(2).sum()   # y = x0^2 + x1^2
print(y)             # tensor(13., grad_fn=...)

backward() aufrufen

Rufen Sie .backward() für einen Skalar auf, um Gradienten per Backpropagation zu berechnen. PyTorch durchläuft den aufgezeichneten Graphen rückwärts und trägt die Ableitungen automatisch ein.

y.backward()

.grad auslesen

Nach backward() enthält jeder Eingabetensor seinen Gradienten in .grad. Für y = sum(x^2) ist die Ableitung 2x, daher lautet der Gradient [4, 6].

print(x.grad)  # tensor([4., 6.])

Gradienten sammeln sich an

Ein wichtiger Stolperstein: Gradienten addieren sich über mehrere Aufrufe von backward(). In einer Trainingsschleife müssen Sie sie in jedem Schritt mit x.grad.zero_() oder dem zero_grad() des Optimizers auf null setzen.

x.grad.zero_()  # reset before the next backward()

torch.no_grad() für die Inferenz

Während der Inferenz benötigen Sie keine Gradienten, und ihre Verfolgung verschwendet Speicher. Umschließen Sie den Vorhersagecode mit with torch.no_grad():, um das Erstellen des Graphen zu deaktivieren und die Ausführung zu beschleunigen.

with torch.no_grad():
    preds = x.pow(2).sum()
    print(preds.requires_grad)  # False

detach() beendet den Gradientenfluss

.detach() gibt einen Tensor zurück, der dieselben Daten verwendet, aber aus dem Berechnungsgraphen entfernt ist. Verwenden Sie ihn, um einen Wert zu nutzen, ohne dass Gradienten durch ihn zurückfließen, beispielsweise zum Protokollieren oder zum Einfrieren eines Teils des Netzes.

z = x.detach()
print(z.requires_grad)  # False

Warum Autograd wichtig ist

Autograd macht Deep Learning erst praxistauglich: Sie definieren die Vorwärtsberechnung, und PyTorch leitet die Gradienten für die Backpropagation automatisch her. Jede Trainingsschleife, die Sie schreiben, basiert auf requires_grad, backward und .grad.

Kurzer Test

Testen Sie Ihr Verständnis von Autograd.

Zusammenfassung: Tensoren und Autograd

Sie haben Tensoren mit torch.tensor erstellt und die Gradientenverfolgung über requires_grad=True aktiviert. Sie haben eine Ausgabe berechnet, .backward() ausgeführt und die Ableitungen aus .grad ausgelesen. Sie haben gelernt, dass sich Gradienten ansammeln, torch.no_grad() für die Inferenz verwendet und mit .detach() den Gradientenfluss unterbrochen.

Häufig gestellte Fragen

Ist die Lektion „PyTorch-Tensoren und Autograd“ kostenlos?

Ja — der vollständige Text von „PyTorch-Tensoren und Autograd“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „PyTorch-Tensoren und Autograd“?

torch.Tensor, requires_grad, backward(), Gradientenberechnung, Tensoroperationen. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „PyTorch-Tensoren und Autograd“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. PyTorch-Tensoren und Autograd
  2. Benutzerdefinierte Datasets und DataLoader
  3. CNNs in PyTorch erstellen und trainieren
  4. Objekterkennung mit YOLOv8
← Zurück zu Learn AI with Python