Vytvoření modelu RNN pro generování textu
V PyBooks máš za úkol vyvinout algoritmus pro generování textu. Projekt se zaměřuje na automatické doplňování názvů knih. Jako první krok se rozhodneš experimentovat s rekurentní neuronovou sítí (RNN) – díky tomu pochopíš, jak RNN funguje, než přejdeš ke složitějším modelům.
K dispozici máš následující importy: torch, torch.nn jako nn.
Proměnná data je inicializována úryvkem z knihy Alenka v říši divů od Lewise Carrolla.
Toto cvičení je součástí kurzu
Deep Learning for Text with PyTorch
Pokyny k cvičení
- Do třídy
RNNmodelpřidej vrstvu RNN a lineární vrstvu. - Vytvoř instanci modelu RNN se vstupní velikostí odpovídající délce
chars, skrytou vrstvou o velikosti 16 a výstupní velikostí odpovídající délcechars.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(____, ____, ____)