Введите вектор слов Gensim в двунаправленный RNN Pytorch для предсказания слов - PullRequest
0 голосов
/ 12 февраля 2019

Я пытался сделать это сам, используя приведенный ниже код, но мой двунаправленный RNN Pytorch выводит все NaN?Может кто-нибудь посоветовать или предоставить код для ввода вектора слов Генсим в Pytorch RNN и вывода предсказания следующего слова.В коде используется Python 3.6 и последняя версия Pytorch от февраля 2019 года.

import gensim
import gensim.downloader as api
import torch
import torch, torch.nn as nn
from torch.autograd import Variable

word_vectors = api.load("glove-wiki-gigaword-100")

before_blank_vectors = []
after_blank_vectors = []
for word in before_blank:
    before_blank_vectors.append(word_vectors.get_vector(word))
for word in after_blank:
    after_blank_vectors.append(word_vectors.get_vector(word))

seq_len = 3
batch_size = 1
embedding_size = 100
hidden_size = 1
output_size = 1

before_blank_vectors_tensor = Variable(torch.FloatTensor(3, 1, 100))

bi_rnn = torch.nn.RNN(input_size=100, hidden_size=1, num_layers=1, batch_first=False, bidirectional=True)

bi_output, bi_hidden = bi_rnn(before_blank_vectors_tensor)

print(bi_output)

Распечатывается:

tensor([[[nan, nan]],

        [[nan, nan]],

        [[nan, nan]]], grad_fn=<CatBackward>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...