① RNN 계층에 대한 구문으로 파라미터는 다음과 같습니다.
ⓐ embed_dim: 훈련 데이터셋의 특성(feature) 개수(칼럼 개수)
ⓑ self.hidden_dim: 은닉 계층의 뉴런(유닛) 개수
ⓒ num_layers: RNN 계층의 개수
ⓓ batch_first: 기본값은 False로, 입력 데이터의 형태는 (시퀀스의 길이, 배치 크기, 특성 개수)입니다. 하지만 True로 설정하면 배치 크기가 가장 앞으로 오면서 (배치 크기, 시퀀스의 길이, 특성 개수) 형태가 됩니다.
모델에서 사용할 손실 함수와 옵티마이저를 설정합니다.
코드 7-24 손실 함수와 옵티마이저 설정
model = BasicRNN(n_layers=1, hidden_dim=256, n_vocab=vocab_size, embed_dim=128, n_classes=n_classes, dropout_p=0.5)
model.to(device)
loss_fn = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.0001)