LoslegenKostenlos starten

Der Encoder-Transformer-Body

Dein reiner Encoder-Transformer-Body ist fast fertig! Jetzt ist es an der Zeit, die Klassen InputEmbeddings, PositionalEncoding und EncoderLayer, die du zuvor erstellt hast, zu einer Klasse TransformerEncoder zu kombinieren.

Diese Übung ist Teil des Kurses

<Kurs>Transformer-Modelle mit PyTorch</Kurs>
Kurs ansehen

Übungsanweisungen

  • Definiere die Token-Embeddings, die Positionskodierung und die Encoder-Schichten (verwende das List Comprehension, um num_layers Encoder-Schichten zu erstellen).
  • Führe den Forward-Pass durch diese Schichten aus.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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