Tworzenie bloku sekwencyjnego
Postanowiłeś(-aś) przeprojektować szablon binarnego modelu CNN, tworząc blok warstw konwolucyjnych. Dzięki temu łatwiej ułożysz wiele warstw jedna po drugiej. Ulepszony model pozwoli ci swobodnie projektować różne architektury CNN.
torch oraz torch.nn jako nn zostały już zaimportowane.
To ćwiczenie jest częścią kursu
Głębokie uczenie dla obrazów z PyTorch
Instrukcje do ćwiczenia
- W metodzie
__init__()zdefiniuj blok warstw konwolucyjnych i przypisz go doself.conv_block. - W metodzie
forward()przepuść dane wejściowe przez zdefiniowany blok konwolucyjny.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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