Middle
PyTorch'ta nasıl bir sınıflandırıcı oluşturulur ve eğitilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
PyTorch'ta bir sınıflayıcı oluşturmak ve eğitmek için birkaç adım izlenmelidir:
- Modeli tanımla —
nn.Module'den türeyen bir sınıf oluştur ve mimariyi tanımla. - Verileri hazırla — verileri yükle ve
DataLoader'a dönüştür. - Kayıp fonksiyonunu ve optimizasyonu tanımla.
- Modeli eğit — veriler üzerinde döngü yap, çıktı hesapla, hatayı say, geri yayılım yap ve ağırlıkları güncelle.
10 sınıflı bir görev için basit bir sınıflayıcı örneği:
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 görüntüler için örnek
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Eğitim döngüsü örneği
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()
Bu kod, katmanlar, aktivasyon fonksiyonları, veri işleme gibi eklemelerle genişletilebilir.