파이토치에서는 torch.nn.RNN이라는 명령어를 통해 RNN을 구현할 수 있다.
import torch
torch.nn.RNN(*args, **kwargs)
input_size
: input의 feature dimension
hidden_size
: hidden state의 feature dimension
num_layers
: RNN layer를 몇 층으로 쌓을지 (Default: 1)
nonlinearity
: 'tanh' or 'relu' (Default: 'tanh')
bias
: False인 경우 해당 layer는 bias 사용 x (Default: True)
batch_first
: 입력으로 받는 데이터의 shape중 첫 번째 차원을 batch로 설정할지. True인 경우 (batch, seq, feature) (Default: False)
dropout
: 0이 아닌 경우, 마지막 layer를 제외한 각 RNN layer의 출력에 dropout layer 추가 (Default: 0)
bidirectional
: True인 경우, bidirectional RNN (Default: False)