U-Net kurma: forward yöntemi
Encoder ve decoder katmanları tanımlandığına göre, artık U-Net'in forward() yöntemini uygulayabilirsin. Girdiler senin için zaten encoder'dan geçirildi. Ancak son decoder bloğunu tanımlaman gerekiyor.
Decoder'ın amacı, çıktı U-Net'in girdi görüntüsüyle aynı yükseklik ve genişliğe sahip olacak şekilde öznitelik haritalarını yukarı örneklemektir. Bu sayede piksel düzeyinde semantik maskeler elde edebilirsin.
Bu egzersiz
PyTorch ile Görüntüler için Deep Learning
kursunun bir parçasıdırEgzersiz talimatları
- Atlama bağlantısını (skip connection) oluşturmak için
torch.cat()kullanarak son decoder bloğunu tanımla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)