BaşlayınÜcretsiz Başlayın

Çoklu çıktı veren modelleri eğitme

Birden fazla çıktısı olan modelleri eğitirken, kayıp fonksiyonunun doğru tanımlandığından emin olmak kritik önem taşır.

Bu durumda, model iki çıktı üretir: alfabe ve karakter için tahminler. Bunların her biri için karşılık gelen gerçek etiketler vardır; bu sayede iki ayrı kaybı hesaplayabilirsin: biri yanlış alfabe sınıflandırmalarından, diğeri ise yanlış karakter sınıflandırmasından kaynaklanan kayıp. Her iki durumda da çok sınıflı bir sınıflandırma göreviyle uğraştığın için, her seferinde Cross-Entropy kaybı uygulanabilir.

Ancak, gradyan inişi yalnızca tek bir kayıp fonksiyonunu optimize edebilir. Bu yüzden toplam kaybı, alfabe ve karakter kayıplarının toplamı olarak tanımlayacaksın.

Bu egzersiz

PyTorch ile Orta Düzey Deep Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Alfabe sınıflandırma kaybını hesapla ve loss_alpha değişkenine ata.
  • Karakter sınıflandırma kaybını hesapla ve loss_char değişkenine ata.
  • Toplam kaybı, iki kısmi kaybın toplamı olarak hesapla ve loss değişkenine ata.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

net = Net()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.05)

for epoch in range(1):
    for images, labels_alpha, labels_char in dataloader_train:
        optimizer.zero_grad()
        outputs_alpha, outputs_char = net(images)
        # Compute alphabet classification loss
        loss_alpha = ____
        # Compute character classification loss
        loss_char = ____
        # Compute total loss
        loss = ____
        loss.backward()
        optimizer.step()
Kodu Düzenle ve Çalıştır