LoslegenKostenlos loslegen

Einen Generator und einen Diskriminator erstellen

Bei PyBooks bekommst du die Aufgabe, an einem automatischen Textgenerator zu arbeiten, der Autorinnen und Autoren bei Schreibblockaden hilft. Mit GANs (Generative Adversarial Networks) willst du ein System aufbauen, in dem ein Netzwerk — der Generator — neuen Text erzeugt, während das andere — der Diskriminator — dessen Authentizität bewertet. Dafür musst du sowohl ein Generator- als auch ein Diskriminator-Netzwerk initialisieren. Diese Netzwerke werden anschließend gegeneinander trainiert, um neuen, glaubwürdigen Text zu erzeugen.

Folgendes wurde bereits für dich importiert: torch, torch.nn als nn.

Diese Übung ist Teil des Kurses

Deep Learning für Text mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Definiere die Klasse Generator mit einer linearen Schicht für sequenzielle Daten und einer Sigmoid-Aktivierungsfunktion.
  • Leite die Eingabe im forward()-Methode der Klasse Generator durch das definierte Modell weiter.
  • Definiere eine Klasse Discriminator mit denselben Schichten und derselben Aktivierungsfunktion und achte dabei sorgfältig auf die Dimensionen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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)
Code bearbeiten und ausführen