Bắt đầu ngayBắt đầu miễn phí

Phần thân encoder transformer

Phần thân transformer chỉ-encoder của bạn sắp hoàn thiện rồi! Đến lúc kết hợp các lớp InputEmbeddings, PositionalEncodingEncoderLayer mà bạn đã tạo trước đó vào một lớp TransformerEncoder.

Bài tập này là một phần của khóa học

Các mô hình Transformer với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa token embedding, positional encoding và các lớp encoder (dùng list comprehension để tạo num_layers lớp encoder).
  • Thực hiện forward pass qua các lớp này.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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
Chỉnh sửa và Chạy Mã