CommencerCommencer gratuitement

Modèle à deux entrées

Les données étant prêtes, il est temps de construire l’architecture du modèle à deux entrées ! Pour cela, vous allez créer une classe de modèle avec les méthodes suivantes :

  • .__init__(), dans laquelle vous définirez des sous-réseaux en regroupant des couches ; c’est ici que vous définirez les deux couches pour traiter les deux entrées, ainsi que le classifieur qui renvoie un score de classification pour chaque classe.

  • forward(), dans laquelle vous ferez passer les deux entrées dans les sous-réseaux correspondants, concaténerez les sorties, puis les passerez au classifieur.

torch.nn est déjà importé sous le nom nn. Allons-y !

Cet exercice fait partie du cours

Deep learning intermédiaire avec PyTorch

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        # Define sub-networks as sequential models
        ____ = ____(
            nn.Conv2d(1, 16, kernel_size=3, padding=1),
            nn.MaxPool2d(kernel_size=2),
            nn.ELU(),
            nn.Flatten(),
            nn.Linear(16*32*32, 128)
        )
        ____ = ____(
            nn.Linear(30, 8),
            nn.ELU(), 
        )
        ____ = ____(
            nn.Linear(128 + 8, 964), 
        )
Modifier et exécuter le code