U-Net बनाना: forward मेथड
एन्कोडर और डिकोडर लेयर परिभाषित होने के बाद, अब आप U-Net के forward() मेथड को इम्प्लीमेंट कर सकते हैं. आपके लिए इनपुट पहले ही एन्कोडर से पास किए जा चुके हैं. हालाँकि, आपको आख़िरी डिकोडर ब्लॉक परिभाषित करना है.
डिकोडर का लक्ष्य फीचर मैप्स को upsample करना है ताकि उसका आउटपुट U-Net की इनपुट इमेज की समान ऊँचाई और चौड़ाई का हो. इससे आप पिक्सेल-स्तर के semantic मास्क प्राप्त कर पाएँगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PyTorch के साथ इमेज के लिए डीप लर्निंग
अभ्यास निर्देश
- स्किप कनेक्शन बनाने के लिए
torch.cat()का उपयोग करते हुए आख़िरी डिकोडर ब्लॉक परिभाषित करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def forward(self, x):
x1 = self.enc1(x)
x2 = self.enc2(self.pool(x1))
x3 = self.enc3(self.pool(x2))
x4 = self.enc4(self.pool(x3))
x = self.upconv3(x4)
x = torch.cat([x, x3], dim=1)
x = self.dec1(x)
x = self.upconv2(x)
x = torch.cat([x, x2], dim=1)
x = self.dec2(x)
# Define the last decoder block with skip connections
x = ____
x = ____
x = ____
return self.out(x)