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

LSTM नेटवर्क

जैसा कि आप पहले से जानते हैं, साधारण RNN सेल्स का व्यवहार में बहुत ज़्यादा इस्तेमाल नहीं होता. लंबी sequences को बेहतर तरीके से हैंडल करने के लिए जो विकल्प अधिक प्रचलित है, वह है Long Short-Term Memory सेल्स, यानी LSTMs. इस अभ्यास में, आप खुद एक LSTM नेटवर्क बनाएँगे!

RNN नेटवर्क से सबसे महत्वपूर्ण implementation अंतर यह है कि LSTMs में एक की बजाय दो hidden states होते हैं. इसका मतलब है कि आपको इस अतिरिक्त hidden state को initialize करना होगा और LSTM सेल को पास करना होगा.

torch और torch.nn पहले से आपके लिए इम्पोर्ट किए गए हैं, तो कोड लिखना शुरू कीजिए!

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

इंटरमीडिएट Deep Learning with PyTorch

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

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

  • .__init__() मेथड में एक LSTM लेयर परिभाषित करें और उसे self.lstm में असाइन करें.
  • forward() मेथड में पहला long-term memory hidden state c0 को zeros से initialize करें.
  • forward() मेथड में LSTM लेयर को तीनों इनपुट पास करें: current time step के इनपुट्स, और दोनों hidden states वाला एक ट्यूपल.

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

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

class Net(nn.Module):
    def __init__(self, input_size):
        super().__init__()
        # Define lstm layer
        ____ = ____(
            input_size=1,
            hidden_size=32,
            num_layers=2,
            batch_first=True,
        )
        self.fc = nn.Linear(32, 1)

    def forward(self, x):
        h0 = torch.zeros(2, x.size(0), 32)
        # Initialize long-term memory
        c0 = ____
        # Pass all inputs to lstm layer
        out, _ = ____
        out = self.fc(out[:, -1, :])
        return out
कोड संपादित करें और चलाएँ