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

Discriminator

Generator तय हो जाने के बाद, GAN बनाने का अगला कदम discriminator बनाना है. यह generator के आउटपुट को इनपुट के रूप में लेता है और एक बाइनरी प्रेडिक्शन देता है: इनपुट जनरेटेड है या असली?

आपके लिए torch.nn पहले से nn नाम से इम्पोर्ट किया गया है. आप एक कस्टम disc_block() फंक्शन भी उपयोग कर सकते हैं, जो एक लीनियर लेयर के बाद LeakyReLU एक्टिवेशन वाला ब्लॉक लौटाता है. आप इसे discriminator के बिल्डिंग ब्लॉक के रूप में उपयोग करेंगे.

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

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

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

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

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

  • मॉडल में आखिरी discriminator ब्लॉक जोड़ें, सही इनपुट साइज के साथ और आउटपुट 256 रखें.
  • आखिरी discriminator ब्लॉक के बाद, आउटपुट को साइज 1 पर मैप करने के लिए एक लीनियर लेयर जोड़ें.
  • forward() मेथड परिभाषित करें ताकि इनपुट इमेज __init__() में परिभाषित sequential ब्लॉक से होकर पास हो.

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

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

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
        ____
कोड संपादित करें और चलाएँ