Sobes.tech
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:

  1. Definovať model — vytvoriť triedu, ktorá dedí od nn.Module, a opísať architektúru.
  2. Pripraviť údaje — načítať a transformovať údaje do DataLoader.
  3. Definovať funkciu straty a optimalizátor.
  4. 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.