शुरू करेंमुफ़्त में शुरू करें

Convolutional Discriminator

DCGAN का generator तैयार है. इसे ट्रेन करने से पहले आखिरी चरण है — convolutional discriminator को परिभाषित करना.

torch.nn को उसके सामान्य उपनाम के साथ आपके लिए import किया गया है. Convolutional discriminator बनाने के लिए, आप एक custom gc_disc_block() फंक्शन का उपयोग करेंगे जो convolution, उसके बाद batch norm, और leaky ReLU activation वाला ब्लॉक लौटाता है. आप नीचे dc_disc_block() की परिभाषा देख सकते हैं.

def dc_disc_block(in_dim, out_dim, kernel_size, stride):
    return nn.Sequential(
        nn.Conv2d(in_dim, out_dim, kernel_size, stride=stride),
        nn.BatchNorm2d(out_dim),
        nn.LeakyReLU(0.2),
    )

यह अभ्यास पाठ्यक्रम का हिस्सा है

PyTorch के साथ इमेज के लिए डीप लर्निंग

पाठ्यक्रम देखें

अभ्यास निर्देश

  • Custom dc_disc_block() फंक्शन का उपयोग करते हुए पहला discriminator ब्लॉक जोड़ें, जिसमें 3 input feature maps हों और 512 output feature maps हों.
  • Output size 1 वाली convolutional लेयर जोड़ें.
  • forward() मेथड में, __init__() में परिभाषित sequential ब्लॉक के जरिए इनपुट को पास करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

class DCDiscriminator(nn.Module):
    def __init__(self, kernel_size=4, stride=2):
        super(DCDiscriminator, self).__init__()
        self.disc = nn.Sequential(
          	# Add first discriminator block
            dc_disc_block(3, 512, kernel_size, stride),
            dc_disc_block(512, 1024, kernel_size, stride),
          	# Add a convolution
            nn.Conv2d(1024, 1, kernel_size, stride=stride),
        )

    def forward(self, x):
        # Pass input through sequential block
        x = ____
        return x.view(len(x), -1)
कोड संपादित करें और चलाएँ