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ırEgzersiz talimatları
- Modele son discriminator bloğunu, uygun giriş boyutuyla ve
256çıkışıyla ekle. - Son discriminator bloğundan sonra, çıktıyı
1boyutuna eşleyen bir doğrusal katman ekle. __init__()içinde tanımlanan sıralı bloktan giriş görüntüsünü geçirmek içinforward()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
____