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

Модель бинарной классификации

Одна из ключевых задач специалиста по глубокому обучению — обучение моделей для классификации изображений. Бинарная классификация встречается особенно часто: в этом случае нужно различать объекты двух классов. Чтобы упростить рабочий процесс и обеспечить возможность повторного использования кода, вы решили создать шаблон сверточной нейронной сети для бинарной классификации изображений, который можно применять в будущих проектах.

Пакеты torch и torch.nn (как nn) уже импортированы. Размер всех изображений — 64×64 пикселя.

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

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

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

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

  • Создайте свёрточный слой с 3 входными каналами, 16 выходными каналами, размером ядра 3, шагом 1 и отступом 1.
  • Создайте полносвязный слой с размером входа 16×32×32 и числом классов равным 1; укажите значения строго в заданном порядке: (16*32*32, 1).
  • Создайте функцию активации sigmoid.

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

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

class BinaryImageClassifier(nn.Module):
    def __init__(self):
        super(BinaryImageClassifier, self).__init__()
        
        # Create a convolutional layer
        self.conv1 = ____(____)
        self.relu = nn.ReLU()
        self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
        self.flatten = nn.Flatten()
        
        # Create a fully connected layer
        self.fc = ____(____)
        
        # Create an activation function
        self.sigmoid = ____
Редактировать и запускать код