Sobes.tech
Middle

Come creare e addestrare un classificatore in PyTorch?

sobes.tech AI

Risposta dell'AI

Per creare e addestrare un classificatore in PyTorch, è necessario seguire alcuni passaggi:

  1. Definire il modello — creare una classe che erediti da nn.Module e descrivere l'architettura.
  2. Preparare i dati — caricare e trasformare i dati in un DataLoader.
  3. Definire la funzione di perdita e l'ottimizzatore.
  4. Addestrare il modello — scorrere i dati in un ciclo, calcolare l'output, contare l'errore, eseguire la retropropagazione e aggiornare i pesi.

Esempio di un classificatore semplice per un compito con 10 classi:

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)  # esempio per immagini 28x28

    def forward(self, x):
        return self.fc(x)

model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# Esempio di ciclo di addestramento
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()

Questo codice può essere ampliato aggiungendo strati, funzioni di attivazione, elaborazione dei dati, ecc.