GANs परिचय

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

Michal Oleszak

Machine Learning Engineer

General Adversarial Networks

जनरेट की गई बिल्ली की इमेज.

  • https://thesecatsdonotexist.com
  • Generative Adversarial Networks (GANs)
  • प्रशिक्षण डेटा के आधार पर नए सैंपल जनरेट करें
PyTorch के साथ इमेज के लिए डीप लर्निंग

Pokemon Sprites डेटासेट

Pokemon Sprites डेटासेट से इमेज के नमूने

  • PokeAPI से Pokemon Sprites डेटासेट
  • Pokemon वीडियो गेम के लगभग 1300 पशु- जैसे क्रीचर्स के स्प्राइट्स
  • लक्ष्य: नए Pokemon जनरेट करें!
PyTorch के साथ इमेज के लिए डीप लर्निंग

GANs आर्किटेक्चर

GAN वर्कफ़्लो आरेख.

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

GANs आर्किटेक्चर

GAN वर्कफ़्लो आरेख.

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

GANs आर्किटेक्चर

GAN वर्कफ़्लो आरेख.

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

GANs आर्किटेक्चर

GAN वर्कफ़्लो आरेख.

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

GANs का लर्निंग प्रोसेस

 

 

GAN वर्कफ़्लो आरेख.

  • Generator: वास्तविक-सी दिखने वाली इमेज बनाना सीखता है
  • Discriminator: नकली और असली इमेज में फर्क करना सीखता है
  • टकराते उद्देश्य हर नेटवर्क को उसके काम में बेहतर बनाते हैं
  • अंत में, जेनरेटर को यथार्थपरक इमेज जनरेट करनी चाहिए
PyTorch के साथ इमेज के लिए डीप लर्निंग

बेसिक Generator

class Generator(nn.Module):
    def __init__(self, in_dim, out_dim):
        super(Generator, self).__init__()

self.generator = nn.Sequential( gen_block(in_dim, 256), gen_block(256, 512), gen_block(512, 1024), nn.Linear(1024, out_dim), nn.Sigmoid(), )
def forward(self, x): return self.generator(x)
  • Generator क्लास परिभाषित करें
  • जेनरेटर ब्लॉक्स का क्रम, एक लीनियर लेयर, और sigmoid एक्टिवेशन
    def gen_block(in_dim, out_dim):
      return nn.Sequential(
          nn.Linear(in_dim, out_dim),
          nn.BatchNorm1d(out_dim),
          nn.ReLU(inplace=True)
      )
    
  • इनपुट को सभी लेयर्स से पास करें
  • इनपुट: आकार in_dim का शोर
  • आउटपुट: आकार out_dim की इमेज
PyTorch के साथ इमेज के लिए डीप लर्निंग

बेसिक Discriminator

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), disc_block(512, 256), nn.Linear(256, 1), )
def forward(self, x): return self.disc(x)
  • Discriminator क्लास परिभाषित करें
  • डिस्क्रिमिनेटर ब्लॉक्स का क्रम और एक लीनियर लेयर
    def disc_block(in_dim, out_dim):
      return nn.Sequential(
          nn.Linear(in_dim, out_dim),
          nn.LeakyReLU(0.2)
      )
    
  • इनपुट को सभी लेयर्स से पास करें
  • इनपुट: आकार in_dim की इमेज
  • आउटपुट: आकार 1 की क्लासिफिकेशन
PyTorch के साथ इमेज के लिए डीप लर्निंग

अभ्यास करते हैं!

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

Preparing Video For Download...