Skapa en RNN-modell för textgenerering
På PyBooks har du fått i uppdrag att utveckla en algoritm för textgenerering. Projektet handlar om att automatiskt komplettera boktitlar. Som utgångspunkt väljer du att experimentera med ett Recurrent Neural Network (RNN), så att du kan förstå RNN-modellernas egenskaper innan du går vidare till mer avancerade modeller.
Följande har importerats åt dig: torch, torch.nn som nn.
Variabeln data har initierats med ett utdrag ur Alice's Adventures in Wonderland av Lewis Carroll.
Den här övningen är en del av kursen
Djupinlärning för text med PyTorch
Övningsinstruktioner
- Lägg till ett RNN-lager och ett linjärt lager i klassen
RNNmodel. - Instansiera RNN-modellen med indatastorlek lika med längden på
chars, dold storlek på 16 och utdatastorlek lika med längden påchars.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____, ____, ____)