CommencerCommencer gratuitement

Créer un générateur et un discriminateur

Chez PyBooks, votre mission est de travailler sur un générateur de texte automatique pour aider les auteurs à surmonter le syndrome de la page blanche. En utilisant des GAN (Generative Adversarial Networks), vous pensez pouvoir créer un système où un réseau, le générateur, produit du nouveau texte tandis qu’un autre réseau, le discriminateur, en évalue l’authenticité. Pour cela, vous devez initialiser à la fois un réseau générateur et un réseau discriminateur. Ces réseaux seront ensuite entraînés l’un contre l’autre pour produire un texte nouveau et crédible.

Les éléments suivants ont été importés pour vous : torch, torch.nn sous le nom nn.

Cet exercice fait partie du cours

Deep Learning pour le texte avec PyTorch

Afficher le cours

Instructions

  • Définissez la classe Generator avec une couche linéaire adaptée aux données séquentielles et une fonction d’activation sigmoid.
  • Faites passer l’entrée à travers le modèle défini dans la méthode forward() de la classe Generator.
  • Définissez une classe Discriminator avec les mêmes couches et la même fonction d’activation, en veillant aux dimensions lors de la définition.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
Modifier et exécuter le code