Middle
Hogyan hozzunk létre és tanítsunk egy osztályozót a PyTorch-ban?
sobes.tech MI
Válasz az MI-től
A PyTorch-ban osztályozó létrehozásához és képzéséhez több lépést kell követni:
- Modell meghatározása — hozzon létre egy osztályt, amely öröklődik az
nn.Module-től, és írja le az architektúrát. - Adatok előkészítése — töltse be és alakítsa át az adatokat
DataLoader-ré. - Veszteségfüggvény és optimalizáló meghatározása.
- Modell tanítása — iteráljon az adatokon, számolja ki a kimenetet, számolja a hibát, végezze el a visszaterjesztést és frissítse a súlyokat.
Egyszerű osztályozó példája 10 osztállyal:
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) # példa 28x28 képekre
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Tanítási ciklus példája
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()
Ezt a kódot bővítheti rétegek, aktivációs függvények, adatfeldolgozás hozzáadásával stb.