Een sequentieel blok maken
Je hebt besloten je binaire CNN-modeltemplate te herontwerpen door een blok van convolutionele lagen te maken. Zo kun je meerdere lagen achter elkaar stapelen. Met dit verbeterde model kun je eenvoudig verschillende CNN-architecturen ontwerpen.
torch en torch.nn als nn zijn geïmporteerd.
Deze oefening maakt deel uit van de cursus
Deep Learning voor afbeeldingen met PyTorch
Oefeninstructies
- Definieer in de methode
__init__()een blok met convolutionele lagen en wijs dit toe aanself.conv_block. - Laat in de
forward()-pass de inputs door het convolutionele blok gaan dat je hebt gedefinieerd.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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