CommencerCommencer gratuitement

Modèle de classification binaire

En tant que praticien du deep learning, l’une de vos principales missions est d’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 fluidifier votre workflow et favoriser la réutilisation, vous avez décidé de créer un modèle type de CNN pour la classification binaire d’images, que vous pourrez appliquer à de futurs projets.

Le package torch et torch.nn sous le nom nn ont été importés. Toutes les images mesurent 64×64 pixels.

Cet exercice fait partie du cours

Deep Learning pour l’image avec PyTorch

Afficher le cours

Instructions

  • Créez une couche de convolution avec 3 canaux en entrée, 16 canaux en sortie, une taille de noyau de 3, un stride de 1 et un 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 uniquement 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 cet exemple de code.

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 = ____
Modifier et exécuter le code