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

Discriminator

Üreteci tanımladıktan sonra, bir GAN kurmanın bir sonraki adımı discriminator’ı inşa etmektir. Discriminator, üretecin çıktısını girdi olarak alır ve ikili bir tahmin üretir: girdi üretilmiş mi yoksa gerçek mi?

torch.nn modülü senin için nn olarak zaten içe aktarılmış durumda. Ayrıca, bir doğrusal katmanı takiben bir LeakyReLU aktivasyonundan oluşan bir blok döndüren özel bir disc_block() işlevine erişebilirsin. Discriminator’ı oluştururken bunu yapı taşı olarak kullanacaksın.

def disc_block(in_dim, out_dim):
    return nn.Sequential(
        nn.Linear(in_dim, out_dim),
        nn.LeakyReLU(0.2)
    )

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ı

  • Modele son discriminator bloğunu, uygun giriş boyutuyla ve 256 çıkışıyla ekle.
  • Son discriminator bloğundan sonra, çıktıyı 1 boyutuna eşleyen bir doğrusal katman ekle.
  • __init__() içinde tanımlanan sıralı bloktan giriş görüntüsünü geçirmek için forward() yöntemini tanımla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class Discriminator(nn.Module):
    def __init__(self, im_dim):
        super(Discriminator, self).__init__()
        self.disc = nn.Sequential(
            disc_block(im_dim, 1024),
            disc_block(1024, 512),
            # Define last discriminator block
            ____,
            # Add a linear layer
            ____,
        )

    def forward(self, x):
        # Define the forward method
        ____
Kodu Düzenle ve Çalıştır