Если я правильно вас понимаю, первый вопрос касается различий между tf.contrib.layers.embed_sequence
и tf.nn.embedding_lookup
.
Согласно официальным документам (https://www.tensorflow.org/api_docs/python/tf/contrib/layers/embed_sequence),
Типичным вариантом использования будет повторное использование вложений между кодером и декодером.
Я думаю, tf.contrib.layers.embed_sequence
предназначен для моделей seq2seq.
Я нашел следующий пост:
, где @ispirmustafa упомянул:
embedding_lookup не поддерживает недопустимые идентификаторы.
Также, в другом посте: tf.contrib.layers.embed_sequence () для чего?
@ user1930402 сказал:
- При построении нейронныхСетевая модель, которая имеет несколько шлюзов, которые принимают функции в качестве входных данных, с помощью tenorflow.contrib.layers.embed_sequence, вы можете уменьшить количество параметров в вашей сети, сохраняя при этом глубину. Например, она устраняет необходимость для каждого шлюза LSTM длявыполнить собственную линейную проекцию функций.
- Он допускает произвольные формы ввода, что помогает реализации быть простой и гибкой.
По второму вопросу, извините, что я не использовал TrainingHelper
и не могу ответить на ваш вопрос.