Middle
Kako napraviti i obučiti klasifikator u PyTorch?
sobes.tech АИ
Одговор од АИ
Za kreiranje i obuku klasifikatora u PyTorch-u, potrebno je slediti nekoliko koraka:
- Definisati model — napraviti klasu koja nasleđuje od
nn.Modulei opisati arhitekturu. - Pripremiti podatke — učitati i transformisati podatke u
DataLoader. - Definisati funkciju gubitka i optimizator.
- Obučiti model — proći kroz podatke u petlji, izračunati izlaz, izbrojati grešku, izvršiti povratnu propagaciju i ažurirati težine.
Primer jednostavnog klasifikatora za zadatak sa 10 klasa:
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) # primer za slike 28x28
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Primer petlje za obuku
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()
Ovaj kod se može proširiti dodavanjem slojeva, funkcija aktivacije, obradom podataka i slično.