Я пытаюсь понять реализацию предварительно обученного встраивания слова в этой модели .
Автор загружает вложение ( train.py: 144 ) и передает его заполнителю embed_matrix
модели ( train.py: 73 ).
Однако, embed_matrix
никогда не читается, даже не используется вне своей собственной инициализации ( model.py: 70 ).Вместо этого, когда вложения вычисляются ( model.py: 114 ), создается новая переменная для встраивания:
self.Embedding = tf.get_variable('Embedding', [self.n_vocab, self.embedding_size], tf.float32)
Я знаю, get_variable()
может использоваться для извлечениясуществующей переменной дано имя и область видимости.Но здесь имя не совпадает (embed_matrix
против Embedding
).
Я не понимаю, как это привело бы к реализации встраивания функционирующего слова.Похоже, что во время выполнения предварительно обученное вложение слова передается в заполнитель и забывается, а затем создается новое и используется без обучения.Что-то я не вижу или это ошибка?