텍스트 생성을 위한 RNN 모델 만들기
PyBooks에서 텍스트 생성 알고리즘을 개발하는 업무를 맡으셨어요. 이 프로젝트는 책 제목 자동 완성을 목표로 합니다. 프로젝트를 시작하기 위해 Recurrent Neural Network(RNN)를 먼저 실험해 보려고 합니다. 이렇게 하면 더 복잡한 모델로 넘어가기 전에 RNN의 특징을 충분히 이해할 수 있습니다.
다음이 미리 임포트되어 있습니다: torch, torch.nn as nn.
data 변수에는 Lewis Carroll의 Alice's Adventures in Wonderland 일부 발췌문이 초기화되어 있습니다.
이 연습은 강의의 일부입니다
PyTorch로 배우는 텍스트 딥러닝
연습 안내
RNNmodel클래스에 RNN 레이어와 선형 레이어를 포함하세요.- 입력 크기를
chars의 길이, hidden size를 16, 출력 크기를chars의 길이로 하여 RNN 모델을 인스턴스화하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Include an RNN layer and linear layer in RNNmodel class
class RNNmodel(nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super(RNNmodel, self).__init__()
self.hidden_size = hidden_size
self.rnn = nn.____(input_size, hidden_size, batch_first=True)
self.fc = nn.____(hidden_size, output_size)
def forward(self, x):
h0 = torch.zeros(1, x.size(0), self.hidden_size)
out, _ = self.rnn(x, h0)
out = self.fc(out[:, -1, :])
return out
# Instantiate the RNN model
model = RNNmodel(____, ____, ____)