Создание последовательного блока
Вы решили переработать шаблон своей бинарной 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