Metin üretimi için bir RNN modeli oluşturma
PyBooks'ta, metin üretimi yapabilen bir algoritma geliştirmen istendi. Proje, kitap adlarının otomatik tamamlanmasını içeriyor. Bu projeye hızlı bir başlangıç yapmak için, önce Bir Yinelemeli Sinir Ağı (RNN) ile denemeler yapmaya karar verdin. Böylece, daha karmaşık modellere geçmeden önce RNN'lerin inceliklerini anlayabilirsin.
Senin için şunlar içe aktarıldı: torch, torch.nn olarak nn.
data değişkeni, Lewis Carroll'ın Alice Harikalar Diyarında eserinden bir alıntıyla başlatıldı.
Bu egzersiz
PyTorch ile Metin için Deep Learning
kursunun bir parçasıdırEgzersiz talimatları
RNNmodelsınıfına bir RNN katmanı ve bir doğrusal katman ekle- RNN modelini, girdi boyutu
charsuzunluğu, gizli katman boyutu 16 ve çıktı boyutucharsuzunluğu olacak şekilde örnekle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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(____, ____, ____)