Réseau GRU
En plus des LSTM, une autre variante populaire des réseaux de neurones récurrents est l'unité récurrente à portes, ou GRU. Son avantage réside dans sa simplicité : les cellules GRU exigent moins de calcul que les cellules LSTM, tout en offrant souvent des performances comparables.
Le code fourni est la définition du modèle RNN que vous avez programmée plus tôt. Votre tâche consiste à l'adapter pour obtenir un réseau GRU. torch et torch.nn as nn ont déjà été importés pour vous.
Cette activité fait partie du cours
Apprentissage profond intermédiaire avec PyTorch
Instructions de l’exercice
- Mettez à jour la définition du modèle RNN afin d'obtenir un réseau GRU; affectez la couche GRU à
self.gru.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
class Net(nn.Module):
def __init__(self):
super().__init__()
# Define RNN layer
self.rnn = nn.RNN(
input_size=1,
hidden_size=32,
num_layers=2,
batch_first=True,
)
self.fc = nn.Linear(32, 1)
def forward(self, x):
h0 = torch.zeros(2, x.size(0), 32)
out, _ = self.rnn(x, h0)
out = self.fc(out[:, -1, :])
return out