
Моделирование последовательных данных с помощью рекуррентных нейронных сетей
505
>>> class RNN(nn.Module):
... def __init__(self, vocab_size, embed_dim, rnn_hidden_size, fc_hidden_size):
... super().__init__()
... self.embedding = nn.Embedding(
... vocab_size, embed_dim, padding_idx=0
... )
... self.rnn = nn.LSTM(embed_dim, rnn_hidden_size,
... batch_first=True, bidirectional=True)
... self.fc1 = nn.Linear(rnn_hidden_size*2, fc_hidden_size)
... self.relu = nn.ReLU()
... self.fc2 = nn.Linear(fc_hidden_size, 1)
... self.sigmoid = nn.Sigmoid()
...
... def forward(self, text, lengths):
... out = self.embedding(text)
... out = nn.ut ...