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

Jeneratör

Bir GAN jeneratörü, girdi olarak rastgele bir gürültü vektörü alır ve üretilmiş bir görüntü üretir. Mimarinin yeniden kullanılabilirliğini artırmak için, hem girdi hem de çıktı şekillerini modele parametre olarak geçireceksin. Böylece aynı modeli farklı boyutlarda girdi gürültüsü ve farklı şekillerdeki görüntülerle kullanabilirsin.

torch.nn senin için nn kısaltmasıyla önceden içe aktarılmış durumda. Ayrıca, doğrusal katman, batch norm ve ReLU aktivasyonundan oluşan bir blok döndüren özel bir gen_block() işlevine erişebilirsin. Bunu jeneratör için yapı taşı olarak kullanacaksın.

def gen_block(in_dim, out_dim):
    return nn.Sequential(
        nn.Linear(in_dim, out_dim),
        nn.BatchNorm1d(out_dim),
        nn.ReLU(inplace=True)
    )

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ı

  • self.generator'ı sıralı bir model olarak tanımla.
  • Son gen_block'tan sonra, uygun giriş boyutuna ve çıkış boyutu out_dim olacak şekilde bir doğrusal katman ekle.
  • Doğrusal katmandan sonra bir sigmoid aktivasyonu ekle.
  • forward() yönteminde, modelin girdisini self.generator içinden geçir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class Generator(nn.Module):
    def __init__(self, in_dim, out_dim):
        super(Generator, self).__init__()
        # Define generator block
        self.generator = ____(
            gen_block(in_dim, 256),
            gen_block(256, 512),
            gen_block(512, 1024),
          	# Add linear layer
            ____
            # Add activation
            ____
        )

    def forward(self, x):
      	# Pass input through generator
        return ____
Kodu Düzenle ve Çalıştır