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

Üreteç kaybı

GAN'ini eğitmeden önce hem üreteç hem de ayrıştırıcı için kayıp fonksiyonlarını tanımlaman gerekiyor. Önce üreteç ile başlayacaksın.

Üretecın görevi, ayrıştırıcıyı kandırıp gerçek olarak sınıflandıracağı sahte görüntüler üretmektir. Bu nedenle, üreteç tarafından üretilen görüntüler ayrıştırıcı tarafından sahte (etiket 0) olarak sınıflandırılırsa üreteç kayıp yaşar.

Üreteç kaybını hesaplayan gen_loss() fonksiyonunu tanımla. Bu fonksiyon dört argüman alır:

  • gen, üreteç model
  • disc, ayrıştırıcı model
  • num_images, batch içindeki görüntü sayısı
  • z_dim, giriş rastgele gürültüsünün boyutu

Bu egzersiz

PyTorch ile Görüntüler için Deep Learning

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

Egzersiz talimatları

  • Şekli num_images x z_dim olan rastgele gürültü üret ve noise değişkenine ata.
  • Üreteci kullanarak noise için sahte bir görüntü üret ve fake değişkenine ata.
  • Üretilen sahte görüntü için ayrıştırıcının tahminini al.
  • Ayrıştırıcının tahminleri ve aynı şekle sahip birlerden oluşan bir tensör üzerinde criterion çağırarak üretecin kaybını hesapla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

def gen_loss(gen, disc, criterion, num_images, z_dim):
    # Define random noise
    noise = ____(num_images, z_dim)
    # Generate fake image
    fake = ____
    # Get discriminator's prediction on the fake image
    disc_pred = ____
    # Compute generator loss
    criterion = nn.BCEWithLogitsLoss()
    gen_loss = ____(____, ____)
    return gen_loss
Kodu Düzenle ve Çalıştır