Sobes.tech
Middle

Kako napraviti i obučiti klasifikator u PyTorch?

sobes.tech АИ

Одговор од АИ

Za kreiranje i obuku klasifikatora u PyTorch-u, potrebno je slediti nekoliko koraka:

  1. Definisati model — napraviti klasu koja nasleđuje od nn.Module i opisati arhitekturu.
  2. Pripremiti podatke — učitati i transformisati podatke u DataLoader.
  3. Definisati funkciju gubitka i optimizator.
  4. 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.