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, kursun bir parçasıdır

PyTorch ile Orta Düzey Deep Learning

Kursa Göz Atın

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ı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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