Middle
Wie erstellt und trainiert man einen Klassifikator in PyTorch?
sobes.tech KI
Antwort von AI
Um einen Klassifikator in PyTorch zu erstellen und zu trainieren, sind mehrere Schritte erforderlich:
- Modell definieren — eine Klasse erstellen, die von
nn.Moduleerbt, und die Architektur beschreiben. - Daten vorbereiten — Daten laden und in einen
DataLoaderumwandeln. - Verlustfunktion und Optimierer definieren.
- Modell trainieren — durch die Daten iterieren, Ausgaben berechnen, Fehler zählen, Backpropagation durchführen und Gewichte aktualisieren.
Beispiel für einen einfachen Klassifikator für eine Aufgabe mit 10 Klassen:
import torch
import torch.nn as nn
import torch.optim as optim
class SimpleClassifier(nn.Module):
def __init__(self):
super().__init__()
self.fc = nn.Linear(784, 10) # Beispiel für 28x28 Bilder
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Beispiel für einen Trainingsloop
for epoch in range(num_epochs):
for inputs, labels in dataloader:
outputs = model(inputs)
loss = criterion(outputs, labels)
optimizer.zero_grad()
loss.backward()
optimizer.step()
Dieser Code kann erweitert werden, indem Schichten, Aktivierungsfunktionen, Datenverarbeitung usw. hinzugefügt werden.