Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • W metodzie __init__() zdefiniuj blok warstw konwolucyjnych i przypisz go do self.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
Edytuj i uruchom kod