Kom igångKom igång gratis

Bygga en generator och diskriminator

På PyBooks har du fått i uppgift att arbeta med en automatisk textgenerator som ska hjälpa skribenter att övervinna skrivkramp. Med hjälp av GAN:er, eller Generative Adversarial Networks, tror du att det går att skapa ett system där ett nätverk – generatorn – skapar ny text, medan det andra nätverket – diskriminatorn – bedömer om texten är trovärdig. För att komma igång behöver du initialisera både ett generator- och ett diskriminatornätverk. Dessa nätverk tränas sedan mot varandra för att producera ny, övertygande text.

Följande har importerats åt dig: torch, torch.nn as nn.

Den här övningen är en del av kursen

Djupinlärning för text med PyTorch

Visa kurs

Övningsinstruktioner

  • Definiera klassen Generator med ett linjärt lager för sekventiella data och en sigmoid-aktiveringsfunktion.
  • Skicka indata genom den definierade modellen i forward()-metoden i klassen Generator.
  • Definiera en klass Discriminator med samma lager och aktiveringsfunktion, och var noga med att definiera dimensionerna korrekt.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Define the generator class
class Generator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.____(x)

# Define the discriminator networks
class Discriminator(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.____(nn.____(____), nn.____())
    def forward(self, x):
        return self.model(x)
Redigera och kör kod