PyTorch ile Deep Learning'e Giriş
Jasmin Ludolf
Senior Data Science Content Developer, DataCamp
$$
| Veri yüzdesi | Rol | |
|---|---|---|
| Eğitim | 80-90% | Model parametrelerini ayarlar |
| Doğrulama | 10-20% | Hiperparametreleri ayarlar |
| Test | 5-10% | Nihai model performansını değerlendirir |
$$
$$
Her epoch için:
training_loss = 0.0for inputs, labels in trainloader: # İleri geçişi çalıştırın outputs = model(inputs) # Kaybı hesaplayın loss = criterion(outputs, labels)# Geri yayılım loss.backward() # Gradyanları hesaplayın optimizer.step() # Ağırlıkları güncelleyin optimizer.zero_grad() # Gradyanları sıfırlayın# Kaybı hesaplayıp toplayın training_loss += loss.item()epoch_loss = training_loss / len(trainloader)
validation_loss = 0.0 model.eval() # Modeli değerlendirme moduna alınwith torch.no_grad(): # Verimlilik için gradyanları devre dışı bırakınfor inputs, labels in validationloader: # İleri geçişi çalıştırın outputs = model(inputs) # Kaybı hesaplayın loss = criterion(outputs, labels) validation_loss += loss.item() epoch_loss = validation_loss / len(validationloader) # Ortalama kaybı hesaplayınmodel.train() # Yeniden eğitim moduna dönün

import torchmetrics# Doğruluk metriğini oluşturun metric = torchmetrics.Accuracy(task="multiclass", num_classes=3)for features, labels in dataloader: outputs = model(features) # İleri geçiş # Batch doğruluğunu hesaplayın (one-hot etiketler için argmax korunur) metric.update(outputs, labels.argmax(dim=-1))# Tüm epoch için doğruluğu hesaplayın accuracy = metric.compute()# Sonraki epoch için metriği sıfırlayın metric.reset()
PyTorch ile Deep Learning'e Giriş