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

PyTorch मॉडल

आप मॉडल आर्किटेक्चर को परिभाषित करने के लिए OOP अप्रोच का उपयोग करेंगे। ध्यान रखें कि इसके लिए एक मॉडल क्लास सेटअप करना और उसके भीतर दो मेथड परिभाषित करना ज़रूरी है:

  • .__init__(), जिसमें आप वे लेयर्स परिभाषित करते हैं जिन्हें आप उपयोग करना चाहते हैं;

  • forward(), जिसमें आप यह परिभाषित करते हैं कि मॉडल को इनपुट मिलने पर क्या होता है; यहीं आप इनपुट्स को पहले से परिभाषित लेयर्स से पास करते हैं।

आइए तीन लीनियर लेयर्स और ReLU एक्टिवेशन वाला एक मॉडल बनाते हैं। आख़िरी लीनियर लेयर के बाद, आपको इसके बजाय sigmoid एक्टिवेशन चाहिए, जो हमारे water potability प्रेडिक्शन जैसे बाइनरी क्लासिफिकेशन कार्यों के लिए उपयुक्त है। यहाँ nn.Sequential() का उपयोग करके परिभाषित किया गया मॉडल दिया है, जिससे आप शायद पहले से परिचित हैं:

net = nn.Sequential(
  nn.Linear(9, 16),
  nn.ReLU(),
  nn.Linear(16, 8),
  nn.ReLU(),
  nn.Linear(8, 1),
  nn.Sigmoid(),
)

अब इसी मॉडल को एक क्लास के रूप में फिर से लिखते हैं!

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

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

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

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

  • .__init__() मेथड में, दिए गए मॉडल डेफिनिशन के अनुरूप डायमेंशन्स के साथ तीनों लीनियर लेयर्स परिभाषित करें और उन्हें क्रमशः self.fc1, self.fc2, और self.fc3 को असाइन करें।
  • forward() मेथड में, मॉडल इनपुट x को सभी लेयर्स से पास करें और उनके ऊपर एक्टिवेशन लगाना न भूलें, ठीक वैसे ही जैसे पहली लेयर के लिए पहले से किया गया है.

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

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

import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        # Define the three linear layers
        self.fc1 = ____
        self.fc2 = ____
        self.fc3 = ____
        
    def forward(self, x):
        # Pass x through linear layers adding activations
        x = nn.functional.relu(self.fc1(x))
        x = ____
        x = ____
        return x
कोड संपादित करें और चलाएँ