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
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),
)