Síť GRU
Vedle LSTM sítí patří mezi oblíbené varianty rekurentních neuronových sítí také Gated Recurrent Unit, neboli GRU. Jeho hlavní předností je jednoduchost: GRU buňky vyžadují méně výpočetních prostředků než LSTM buňky, přičemž jim výkonností velmi často vyrovnají.
Níže máš k dispozici definici modelu RNN, kterou jsi napsal/a v předchozím cvičení. Tvojím úkolem je upravit ji tak, aby vznikla síť GRU. torch a torch.nn as nn jsou již naimportovány.
Toto cvičení je součástí kurzu
Intermediate Deep Learning with PyTorch
Pokyny k cvičení
- Uprav definici modelu RNN tak, aby vznikla síť GRU; GRU vrstvu přiřaď do
self.gru.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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