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
Anleitung zur Übung
- Definiere die Klasse
Generatormit einer linearen Schicht für sequenzielle Daten und einer Sigmoid-Aktivierungsfunktion. - Leite die Eingabe im
forward()-Methode der KlasseGeneratordurch das definierte Modell weiter. - Definiere eine Klasse
Discriminatormit 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)