CommencezCommencez gratuitement

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

Chez PyBooks, on vous confie la création d'un générateur de texte automatique pour aider les auteurs à surmonter le blocage d'écriture. En utilisant des GAN (Generative Adversarial Networks), vous pensez pouvoir bâtir un système où un réseau, le générateur, produit du nouveau texte, tandis que l'autre réseau, le discriminateur, évalue son authenticité. Pour y arriver, 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 créer du texte nouveau et crédible.

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

Cette activité fait partie du cours

Apprentissage profond pour le texte avec PyTorch

Voir le cours

Instructions de l’exercice

  • Définissez la classe Generator avec une couche linéaire pour les données séquentielles et une fonction d'activation sigmoïde.
  • 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 portant attention à la définition des dimensions.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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