CommencezCommencez gratuitement

Le corps de l'encodeur du transformer

Votre corps de transformer en mode encodeur seulement est presque terminé! Il est temps de combiner les classes InputEmbeddings, PositionalEncoding et EncoderLayer que vous avez créées précédemment pour former une classe TransformerEncoder.

Cette activité fait partie du cours

Modèles Transformer avec PyTorch

Voir le cours

Instructions de l’exercice

  • Définissez l'intégration des jetons, le codage positionnel et les couches d'encodeur (utilisez une compréhension de liste pour créer num_layers couches d'encodeur).
  • Effectuez le passage en avant (forward pass) à travers ces couches.

Exercice interactif pratique

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

class TransformerEncoder(nn.Module):
    def __init__(self, vocab_size, d_model, num_layers, num_heads, d_ff, dropout, max_seq_length):
        super().__init__()
        # Define the embedding, positional encoding, and encoder layers
        self.embedding = ____(vocab_size, d_model)
        self.positional_encoding = ____(d_model, max_seq_length)
        self.layers = nn.____([____(d_model, num_heads, d_ff, dropout) for _ in range(num_layers)])

    def forward(self, x, src_mask):
        # Perform the forward pass through the layers
        x = self.____(x)
        x = self.____(x)
        for layer in ____:
            x = layer(x, src_mask)
        return x
Modifier et exécuter le code