PyTorch LSTM - использование встраивания слов вместо nn.Embedding () - PullRequest
0 голосов
/ 15 мая 2018

Является ли nn.Embedding () необходимым для обучения для LSTM?

Я использую LSTM в PyTorch для прогнозирования NER - пример аналогичной задачи здесь - https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html

Код мудрый, я использую код, почти идентичный коду из учебника выше.

Единственная деталь - я использую word2Vec вместо nn.Embedding ().

Поэтому я удаляюслой nn.Embedding () и обеспечивает прямую функцию функциями непосредственно из word2Vec.RNN не изучает.

Следовательно, является ли nn.Embedding () необходимым для обучения для LSTM?

1 Ответ

0 голосов
/ 15 мая 2018

nn.Embedding предоставляет вам слой для встраивания.

Это означает, что слой берет ваши идентификаторы токенов слов и преобразует их в векторы слов.

Вы можете узнать веса для вашего слоя nn.Embedding во время процесса обучения, или вы можете альтернативно загрузитьпредварительно обученные вложения веса.

Если вы хотите использовать предварительно обученную модель word2vec (встраивание), вы просто загружаете предварительно обученные веса в слой nn.Embedding.

Здесь вы можете посмотреть как загрузить слой внедрения word2vec с помощью библиотеки gensim.

Надеюсь, это поможет.

...