एन्कोडर-डिकोडर ट्रांसफॉर्मर का निर्माण
अब जब आपने DecoderLayer क्लास अपडेट कर ली है, और TransformerDecoder में भी समान बदलाव कर दिए गए हैं, तो आप सब कुछ जोड़ने के लिए तैयार हैं. क्योंकि आपने अपनी क्लासेस को मॉड्यूलर और हाइरार्किकल तरीके से बनाया है, एन्कोडर-डिकोडर ट्रांसफॉर्मर बनाने के लिए आपको बस इनमें से दो को instantiate करना है: TransformerDecoder और TransformerEncoder.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PyTorch के साथ Transformer Models
अभ्यास निर्देश
- एन्कोडर और डिकोडर आउटपुट निकालने के लिए
forward()पास को पूरा करें. - दिए गए
src_mask,tgt_mask, औरcross_maskका उपयोग करकेinput_tokensपर ट्रांसफॉर्मर को instantiate करें और कॉल करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
class Transformer(nn.Module):
def __init__(self, vocab_size, d_model, num_heads, num_layers, d_ff, max_seq_length, dropout):
super().__init__()
self.encoder = TransformerEncoder(vocab_size, d_model, num_layers, num_heads, d_ff, dropout, max_seq_length)
self.decoder = TransformerDecoder(vocab_size, d_model, num_layers, num_heads, d_ff, dropout, max_seq_length)
def forward(self, x, src_mask, tgt_mask, cross_mask):
# Complete the forward pass
encoder_output = self.encoder(____, ____)
decoder_output = self.decoder(____, ____, tgt_mask, cross_mask)
return decoder_output
# Instantiate and call the transformer
transformer = ____(vocab_size, d_model, num_heads, num_layers, d_ff, max_seq_length, dropout)
outputs = ____
print(outputs)
print(outputs.shape)