Модель бінарної класифікації
Як фахівець із глибокого навчання, ви часто навчаєте моделі для класифікації зображень. Поширена задача — бінарна класифікація, де потрібно розрізняти два класи. Щоб спростити робочий процес і забезпечити багаторазове використання, ви вирішили створити шаблон CNN‑моделі для бінарної класифікації зображень, який можна застосовувати в майбутніх проєктах.
Пакети torch і torch.nn як nn уже імпортовано. Усі зображення мають розмір 64x64 пікселі.
Ця вправа є частиною курсу
Глибоке навчання для зображень із PyTorch
Інструкції до вправи
- Створіть згортковий шар з 3 каналами, 16 вихідними каналами, розміром ядра 3, кроком 1 і доповненням (padding) 1.
- Створіть повнозв'язний шар з розміром входу 16x32x32 і кількістю класів, що дорівнює 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 = ____