1. Learn
  2. /
  3. Courses
  4. /
  5. Apprentissage profond intermédiaire avec PyTorch

Connected

Exercise

Modèle PyTorch

Vous allez utiliser l'approche POO pour définir l'architecture du modèle. Rappelez-vous que cela implique de créer une classe de modèle et d'y définir deux méthodes :

  • .__init__(), où vous définissez les couches que vous voulez utiliser ;

  • forward(), où vous définissez ce qui arrive aux entrées du modèle lorsqu'il les reçoit ; c'est là que vous faites passer les entrées à travers les couches prédéfinies.

Créons un modèle avec trois couches linéaires et des activations ReLU. Après la dernière couche linéaire, vous aurez plutôt besoin d'une activation sigmoïde, bien adaptée aux tâches de classification binaire comme notre problème de prédiction de la potabilité de l'eau. Voici le modèle défini avec nn.Sequential(), avec lequel vous êtes peut-être plus à l'aise :

net = nn.Sequential(
  nn.Linear(9, 16),
  nn.ReLU(),
  nn.Linear(16, 8),
  nn.ReLU(),
  nn.Linear(8, 1),
  nn.Sigmoid(),
)

Réécrivons maintenant ce modèle sous forme de classe !

Instructions

100 XP
  • Dans la méthode .__init__(), définissez les trois couches linéaires avec des dimensions correspondant à la définition du modèle fournie et assignez-les respectivement à self.fc1, self.fc2 et self.fc3.
  • Dans la méthode forward(), faites passer l'entrée du modèle x à travers toutes les couches, en n'oubliant pas d'ajouter les fonctions d'activation par-dessus, comme c'est déjà fait pour la première couche.