Modèle de classification binaire
En tant que spécialiste du deep learning, l'une de vos principales tâches consiste à entraîner des modèles de classification d'images. Vous rencontrez souvent des problèmes de classification binaire, où il faut distinguer deux classes. Pour optimiser votre flux de travail et favoriser la réutilisation, vous avez décidé de créer un gabarit de modèle CNN pour la classification binaire d'images, réutilisable dans vos projets futurs.
Les modules torch et torch.nn sous le nom nn ont été importés. Toutes les images ont une taille de 64x64 pixels.
Cette activité fait partie du cours
Deep Learning pour les images avec PyTorch
Instructions de l’exercice
- Créez une couche de convolution avec 3 canaux d'entrée, 16 canaux de sortie, une taille de noyau de 3, un pas (stride) de 1 et un remplissage (padding) de 1.
- Créez une couche entièrement connectée avec une taille d'entrée de 16x32x32 et un nombre de classes égal à 1; incluez seulement les valeurs dans l'ordre fourni
(16*32*32, 1). - Créez une fonction d'activation
sigmoid.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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 = ____