TensorFlow
Ein Open-Source Deep Learning Framework von Google, bekannt für Produktion, Mobile Deployment und das Keras-API – historisch das erste große DL-Framework.
Ein Open-Source Deep Learning Framework von Meta, das für seine Flexibilität, dynamische Graphen und Python-native Entwicklung bekannt ist – der Standard in Forschung und zunehmend in Produktion.
PyTorch ist das dominante Deep-Learning-Framework in Forschung und zunehmend auch in der Produktion. Es wurde 2016 von Meta AI entwickelt und hat TensorFlow als meistgenutztes Framework in der Forschung abgelöst. Der entscheidende Vorteil: PyTorchs “define-by-run”-Ansatz (dynamischer Berechnungsgraph) macht Debugging intuitiv – man kann mit normalen Python-Debuggern arbeiten. Heute basieren die meisten großen Modelle – LLaMA, Stable Diffusion, Whisper – auf PyTorch.
PyTorch ist ein Deep Learning Framework, das sich wie normales Python anfühlt. Du schreibst Code, führst ihn aus, siehst sofort Ergebnisse – ohne vorher einen Graphen definieren zu müssen.
Warum ist PyTorch so beliebt?
# PyTorch fühlt sich natürlich an
import torch
x = torch.tensor([1.0, 2.0, 3.0], requires_grad=True)
y = x ** 2
loss = y.sum()
loss.backward() # Gradienten automatisch berechnet!
print(x.grad) # tensor([2., 4., 6.])
Der Unterschied zu TensorFlow (früher):
- PyTorch: “Define-by-Run” – Code wird sofort ausgeführt, Debugging wie normales Python
- TensorFlow 1.x: “Define-and-Run” – erst Graph bauen, dann ausführen (komplizierter)
Heute hat TensorFlow mit Eager Execution aufgeholt, aber PyTorch bleibt der Favorit in der Forschung.
| Konzept | Beschreibung |
|---|---|
| Tensor | N-dimensionales Array (wie NumPy, aber GPU-fähig) |
| Autograd | Automatische Gradientenberechnung |
| nn.Module | Basisklasse für neuronale Netze |
| DataLoader | Effizientes Laden und Batching von Daten |
| Optimizer | SGD, Adam, etc. für Gewichts-Updates |
import torch
import torch.nn as nn
class SimpleNet(nn.Module):
def __init__(self):
super().__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 10)
def forward(self, x):
x = torch.relu(self.fc1(x))
return self.fc2(x)
model = SimpleNet()
optimizer = torch.optim.Adam(model.parameters())
loss_fn = nn.CrossEntropyLoss()
# Training Loop
for batch in dataloader:
optimizer.zero_grad()
output = model(batch.x)
loss = loss_fn(output, batch.y)
loss.backward()
optimizer.step()
PyTorch Core
├── torchvision (Computer Vision)
├── torchaudio (Audio)
├── torchtext (NLP)
├── PyTorch Lightning (High-Level Training)
├── Hugging Face Transformers (LLMs)
├── TorchServe (Model Serving)
└── ONNX (Modell-Export) PyTorch ist wie ein professionelles Kochstudio: Du hast alle Werkzeuge und Zutaten, kannst frei experimentieren und jederzeit probieren, was du kochst – im Gegensatz zu einer Fertigproduktions-Küche, wo alles vorab geplant sein muss.
Dynamische Computation Graphs – Code läuft wie normales Python
De-facto-Standard in der KI-Forschung und für LLM-Training
Starkes Ökosystem: Hugging Face, Lightning, torchvision, etc.
LLM-Training
GPT, Llama, Mistral – fast alle modernen LLMs nutzen PyTorch
Forschung
Schnelles Prototyping und Experimentieren
Computer Vision
Bildklassifikation, Objekterkennung, Segmentierung
Für 2024+: PyTorch. Es dominiert in Forschung und LLM-Entwicklung. TensorFlow ist noch relevant für Produktion und Mobile, aber PyTorch holt auf (TorchServe, ONNX). Die meisten neuen Modelle erscheinen zuerst in PyTorch.
Wenn du Python kannst: Nein. PyTorch fühlt sich wie normales Python an. Die Lernkurve ist sanfter als bei TensorFlow 1.x. Für Deep Learning Grundlagen brauchst du aber Verständnis von Tensoren, Gradienten und Backpropagation.
Ja. TorchServe für Model Serving, TorchScript für Optimierung, ONNX für Portabilität. PyTorch ist nicht mehr nur für Forschung – viele Unternehmen nutzen es produktiv.