Deep Learning Academy · पाठ

nn.Module का Subclass: __init__ और forward

मानक PyTorch मॉडल का ढाँचा

पाठ 1, कुल 4 में से13 चरण

nn.Module का Subclass: __init__ और forward, CoddyKit पर Deep Learning Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Deep Learning Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Deep Learning Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

मॉडल केवल क्लास होते हैं

PyTorch में हर मॉडल एक Python क्लास होता है। आप nn.Module की उपक्लास बनाकर अपना मॉडल तैयार करते हैं, जो सभी नेटवर्क का आधार है।

दो मेथड काम संभालते हैं

किसी मॉडल को काम करने के लिए केवल दो मेथड चाहिए: __init__ परतें तैयार करता है और forward बताता है कि डेटा उनके बीच कैसे प्रवाहित होता है।

हमेशा super().__init__ कॉल करें

__init__ के अंदर की पहली पंक्ति में super().__init__() कॉल होना चाहिए। इससे आपका मॉडल PyTorch से जुड़ता है और उसे हर चीज़ ट्रैक करने की सुविधा मिलती है। 🔌

class Net(nn.Module):
    def __init__(self):
        super().__init__()

__init__ में परतें परिभाषित करें

__init__ के अंदर अपनी परतें बनाएँ और उन्हें विशेषताओं के रूप में संग्रहीत करें। उन्हें self पर सहेजने से PyTorch उन्हें अपने-आप register कर लेता है।

self.fc1 = nn.Linear(4, 8)
self.fc2 = nn.Linear(8, 2)

forward नुस्खा है

forward मेथड एक इनपुट tensor लेता है और एक आउटपुट लौटाता है। इसमें ठीक-ठीक क्रम लिखा होता है जिसमें आपकी परतें डेटा को संसाधित करती हैं।

def forward(self, x):
    x = self.fc1(x)
    return self.fc2(x)

forward को सीधे कभी कॉल न करें

मॉडल को फ़ंक्शन की तरह कॉल करें, model.forward(x) की तरह नहीं। model(x) का उपयोग करने पर hooks और अन्य प्रबंधन कार्य भी चलते हैं, जिन्हें केवल forward छोड़ देता है।

out = model(x)   # preferred
# not: out = model.forward(x)

परतें पैरामीटर बन जाती हैं

परतें self पर मौजूद होने के कारण उनके वेट मॉडल के parameters के रूप में एकत्र हो जाते हैं। बाद में ऑप्टिमाइज़र ठीक इन्हीं को अपडेट करता है।

पहले बनाएँ, फिर उपयोग करें

मॉडल को एक बार बनाएँ, फिर उसे कई बार tensor दें। हर कॉल उन्हीं सीखे हुए weights से होकर गुजरती है।

model = Net()
prediction = model(sample_input)

आकारों का मेल आवश्यक है

हर परत का आउटपुट आकार अगली परत के इनपुट आकार से मेल खाना चाहिए। forward में डेटा के प्रवाहित होने के अनुसार इन dimensions की योजना बनाएँ।

यह ढाँचा क्यों सफल है

उपक्लास बनाने से तैयारी और डेटा-प्रवाह साफ़ तौर पर अलग रहते हैं। यही सरल skeleton छोटे नेटवर्क से लेकर बहुत बड़े नेटवर्क तक काम आता है।

डिज़ाइन से ही लचीला

forward के अंदर आप स्वतंत्र रूप से शाखाएँ बना सकते हैं, आकार बदल सकते हैं या परतों का फिर उपयोग कर सकते हैं। इसी स्वतंत्रता के कारण कस्टम nn.Module क्लास इतनी शक्तिशाली होती हैं। 💪

त्वरित जाँच

सोचिए कि नेटवर्क में डेटा किस मेथड से होकर गुजरता है।

पुनरावृत्ति

आप nn.Module की उपक्लास बनाकर मॉडल तैयार करते हैं, __init__ में परतें और forward में डेटा-प्रवाह परिभाषित करते हैं। फिर बस model(x) कॉल करें। 🎯

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “nn.Module का Subclass: __init__ और forward” पाठ निःशुल्क है?

हाँ—“nn.Module का Subclass: __init__ और forward” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Deep Learning Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Deep Learning Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“nn.Module का Subclass: __init__ और forward” में मैं क्या सीखूँगा?

मानक PyTorch मॉडल का ढाँचा आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Deep Learning Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Deep Learning Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Deep Learning Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“nn.Module का Subclass: __init__ और forward” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Deep Learning Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Deep Learning Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. nn.Module का Subclass: __init__ और forward
  2. Linear Layers को जोड़ना
  3. त्वरित मॉडलों के लिए nn.Sequential
  4. Parameters और Layer Shapes की जाँच
← Deep Learning Academy पर वापस जाएँ