Middle
Πώς δημιουργείτε και εκπαιδεύετε έναν ταξινομητή στο PyTorch;
sobes.tech AI
Απάντηση από AI
Για τη δημιουργία και εκπαίδευση ενός ταξινομητή στο PyTorch, πρέπει να ακολουθήσετε μερικά βήματα:
- Ορίστε το μοντέλο — δημιουργήστε μια κλάση που κληρονομεί από το
nn.Moduleκαι περιγράψτε την αρχιτεκτονική. - Ετοιμάστε τα δεδομένα — φορτώστε και μετασχηματίστε τα δεδομένα σε ένα
DataLoader. - Ορίστε τη συνάρτηση απώλειας και τον βελτιστοποιητή.
- Εκπαιδεύστε το μοντέλο — διατρέξτε τα δεδομένα σε έναν βρόχο, υπολογίστε την έξοδο, μετρήστε το σφάλμα, πραγματοποιήστε την οπίσθια διάδοση και ενημερώστε τα βάρη.
Παράδειγμα απλού ταξινομητή για μια εργασία με 10 κλάσεις:
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) # παράδειγμα για εικόνες 28x28
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Παράδειγμα βρόχου εκπαίδευσης
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()
Αυτός ο κώδικας μπορεί να επεκταθεί προσθέτοντας στρώματα, λειτουργίες ενεργοποίησης, επεξεργασία δεδομένων κ.λπ.