НачатьНачать бесплатно

Создание последовательного блока

Вы решили переработать шаблон своей бинарной CNN, создав блок свёрточных слоёв. Это позволит последовательно объединять несколько слоёв в единую структуру. С такой улучшенной моделью вы сможете легко проектировать различные архитектуры CNN.

torch и torch.nn импортированы как nn.

Это упражнение является частью курса

Глубокое обучение для работы с изображениями на PyTorch

Посмотреть курс

Инструкции к упражнению

  • В методе __init__() определите блок свёрточных слоёв и присвойте его атрибуту self.conv_block.
  • В методе forward() пропустите входные данные через определённый вами свёрточный блок.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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
Редактировать и запускать код