शुरू करेंमुफ़्त में शुरू करें

डिकोडर ट्रांसफॉर्मर को पूरा करना

अब डिकोडर ट्रांसफॉर्मर का मुख्य भाग बनाइए! इसके लिए आपको पहले बनाई हुई InputEmbeddings, PositionalEncoding, और DecoderLayer क्लासों को मिलाना होगा.

यह अभ्यास पाठ्यक्रम का हिस्सा है

PyTorch के साथ Transformer Models

पाठ्यक्रम देखें

अभ्यास निर्देश

  • लिस्ट कॉम्प्रिहेंशन और DecoderLayer क्लास का इस्तेमाल करके num_layers डिकोडर लेयर्स की एक सूची परिभाषित करें.
  • हिडन स्टेट्स को शब्द-सम्भावनाओं में प्रोजेक्ट करने के लिए एक लीनियर लेयर परिभाषित करें.
  • __init__ में परिभाषित लेयर्स के माध्यम से फॉरवर्ड पास पूरा करें.
  • एक डिकोडर ट्रांसफॉर्मर इंस्टैंशिएट करें और उसे input_tokens और tgt_mask पर लागू करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

class TransformerDecoder(nn.Module):
    def __init__(self, vocab_size, d_model, num_layers, num_heads, d_ff, dropout, max_seq_length):
        super(TransformerDecoder, self).__init__()
        self.embedding = InputEmbeddings(vocab_size, d_model)
        self.positional_encoding = PositionalEncoding(d_model, max_seq_length)
        # Define the list of decoder layers and linear layer
        self.layers = nn.____([____(d_model, num_heads, d_ff, dropout) for _ in range(num_layers)])
        # Define a linear layer to project hidden states to likelihoods
        self.fc = ____
  
    def forward(self, x, tgt_mask):
        # Complete the forward pass
        x = self.____(x)
        x = self.____(x)
        for layer in self.layers:
            x = ____
        x = self.____(x)
        return F.log_softmax(x, dim=-1)

# Instantiate a decoder transformer and apply it to input_tokens and tgt_mask
transformer_decoder = ____(vocab_size, d_model, num_layers, num_heads, d_ff, dropout, max_seq_length)   
output = ____
print(output)
print(output.shape)
कोड संपादित करें और चलाएँ