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:
- Definire il modello — creare una classe che erediti da
nn.Modulee descrivere l'architettura. - Preparare i dati — caricare e trasformare i dati in un
DataLoader. - Definire la funzione di perdita e l'ottimizzatore.
- 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.