Encoder transformer gövdesi
Sadece-encoder kullanan transformer gövden neredeyse hazır! Daha önce oluşturduğun InputEmbeddings, PositionalEncoding ve EncoderLayer sınıflarını bir araya getirip bir TransformerEncoder sınıfı oluşturmanın zamanı geldi.
Bu egzersiz
PyTorch ile Transformer Modelleri
kursunun bir parçasıdırEgzersiz talimatları
- Token gömme, konumsal kodlama ve encoder katmanlarını tanımla (
num_layerskadar encoder katmanını oluşturmak için liste üreteci kullan). - Bu katmanlar üzerinden ileri geçişi gerçekleştir.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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