概要 PyTorchでRNNを使った実装しようとするとき、torch.nn.RNNとtorch.nn.RNNCellというものがあることに気がつきました。 それぞれの違いを明らかにして、注意点を整理しておきたいのです。 リカレント層の実装方法 PyTorchチュートリアルの、名前分類をこなしていて、RNNの実装方法について調べようと思ったのがことの発端。チュートリアルでは、RNNモジュールをイチからで実装しているが、実務上イチからRNNを実装することはほぼ無いと思われるので、調べてみたら、torch.nn.RNNとtorch.nn.RNNCellを見つけました。また、代表的なリカレント系レイヤーであるLSTMとGRUについても、torch.nn.LSTM、torch.nn.GRU以外に、torch.nn.LSTMCellとtorch.nn.GRUCellがあることがわかりました。 そんなわ
![PyTorchのRNNとRNNCell - 人工知能とか犬とか](https://cdn-ak-scissors.b.st-hatena.com/image/square/8044430a699f13bd1c426447d685f0243e113fac/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fw%2Fwanchan-daisuki%2F20180610%2F20180610152755.png)