Middle
Jak stworzyć i wytrenować klasyfikator w PyTorch?
sobes.tech AI
Odpowiedź od AI
Aby utworzyć i wytrenować klasyfikator w PyTorch, należy wykonać kilka kroków:
- Zdefiniuj model — utwórz klasę dziedziczącą po
nn.Modulei opisz architekturę. - Przygotuj dane — załaduj i przekształć dane do
DataLoader. - Zdefiniuj funkcję straty i optymalizator.
- Wytrenuj model — przejdź przez dane w pętli, oblicz wyjście, policz błąd, wykonaj propagację wsteczną i zaktualizuj wagi.
Przykład prostego klasyfikatora dla zadania z 10 klasami:
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) # przykład dla obrazów 28x28
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Przykład pętli treningowej
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()
Ten kod można rozbudować, dodając warstwy, funkcje aktywacji, przetwarzanie danych itp.