Programming/인공지능
[딥러닝] RNN에게 hello 학습시키기
mj73
2022. 5. 31. 19:41
RNN을 돌려보는 코드
학습결과 h 다음엔 e가, e다음에는 l이 나오는 것을 예측할 수 있도록 학습시킬 것이다.
import torch
import numpy as np
input_size = 4
hidden_size = 2
h = [1,0,0,0]
e = [0,1,0,0]
l = [0,0,1,0]
o = [0,0,0,1]
input_data_np = np.array([[h,e,l,l,o],
[e,o,o,l,l],
[l.l,e,e,l]], dtype=np.float32)
input_data = torch.Tensor(input_data_np)
rnn = torch.nn.RNN(input_size, hidden_size) outputs, _status = rnn(input_data)
위 코드에서 RNN을 실행하는 코드는 단 두 줄이다.
input_data = torch.Tensor(input_data_np)
rnn = torch.nn.RNN(input_size, hidden_size) outputs, _status = rnn(input_data)
두 줄을 제외한 나머지는 데이터를 준비하는 과정임
input_data에서 input_data shape=(3,5,4)이면 순서대로 3은 배치사이즈, 5는 시퀀스길이, 4는 차원이다.
즉 한번에 입력하는 입력 샘플의 수는 3개,
입력 길이는 5,
4차원
으로 된 데이터라는 의미이다.
입력데이터와 출력데이터에서 배치사이즈와 시퀀스 랭스는 같아야한다.