Middle
Ako vytvoriť a natrénovať klasifikátor v PyTorch?
sobes.tech AI
Odpoveď od AI
Na vytvorenie a nácvik klasifikátora v PyTorch je potrebné vykonať niekoľko krokov:
- Definovať model — vytvoriť triedu, ktorá dedí od
nn.Module, a opísať architektúru. - Pripraviť údaje — načítať a transformovať údaje do
DataLoader. - Definovať funkciu straty a optimalizátor.
- Vyškoliť model — prejsť údaje v cykle, vypočítať výstup, spočítať chybu, vykonať spätnú propagáciu a aktualizovať váhy.
Príklad jednoduchého klasifikátora pre úlohu s 10 triedami:
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) # príklad pre obrázky 28x28
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Príklad tréningovej slučky
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()
Tento kód možno rozšíriť pridaním vrstiev, aktivačných funkcií, spracovania údajov a pod.