GRU ネットワーク
LSTM と並んで広く使われている再帰型ニューラルネットワークの一種が Gated Recurrent Unit(GRU)です。魅力はそのシンプルさにあり、GRU セルは LSTM セルより計算量が少ない一方で、しばしば同等の性能を発揮します。
ここでは、これまでに作成した RNN モデル定義のコードが与えられています。これを GRU ネットワークになるように書き換えてください。torch と torch.nn as nn はすでにインポートされています。
この演習はコースの一部です
PyTorchによる中級ディープラーニング
演習の手順
- RNN のモデル定義を更新して GRU ネットワークを作成し、GRU レイヤーを
self.gruに代入してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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