ÎncepețiÎncepe gratuit

Construirea unui U-Net: metoda forward

Cu straturile encoder și decoder definite, poți implementa acum metoda forward() a U-Net-ului. Intrările au fost deja trecute prin encoder. Trebuie să definești ultimul bloc al decoder-ului.

Scopul decoder-ului este de a upsampling hărțile de caracteristici, astfel încât rezultatul său să aibă aceeași înălțime și lățime ca imaginea de intrare a U-Net-ului. Aceasta îți va permite să obții măști semantice la nivel de pixel.

Acest exercițiu face parte din cursul

Deep Learning pentru imagini cu PyTorch

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește ultimul bloc al decoder-ului, folosind torch.cat() pentru a forma conexiunea skip.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul