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

  1. 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.
  2. Adatok előkészítése — töltse be és alakítsa át az adatokat DataLoader-ré.
  3. Veszteségfüggvény és optimalizáló meghatározása.
  4. 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.