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, kursun bir parçasıdır
PyTorch ile Transformer Modelleri
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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