Creare un blocco sequenziale
Hai deciso di ridisegnare il template del tuo modello CNN binario creando un blocco di livelli convoluzionali. Questo ti aiuterà a impilare più livelli in sequenza. Con questo modello migliorato, potrai progettare facilmente varie architetture di CNN.
torch e torch.nn come nn sono già stati importati.
Questo esercizio fa parte del corso
Deep Learning per Immagini con PyTorch
Istruzioni dell'esercizio
- Nel metodo
__init__(), definisci un blocco di livelli convoluzionali e assegnalo aself.conv_block. - Nel passaggio
forward(), fai passare gli input attraverso il blocco convoluzionale che hai definito.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
class BinaryImageClassification(nn.Module):
def __init__(self):
super(BinaryImageClassification, self).__init__()
# Create a convolutional block
self.conv_block = ____(
nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1),
nn.ReLU(),
nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1),
nn.ReLU(),
)
def forward(self, x):
# Pass inputs through the convolutional block
x = ____
return x