как изменить input_length в слое внедрения TensorFlow? - PullRequest
0 голосов
/ 14 апреля 2019

Мой первый слой - слой для встраивания. У большинства встраиваемых слоев фиксированная длина ввода, например: максимальная длина предложения, например: (https://www.tensorflow.org/alpha/tutorials/sequences/word_embeddings):

embedding_dim=16

model = tf.layers.Embedding(vocab_size, embedding_dim, input_length=maxlen)
y=model(x)

Но длины предложений в моем наборе данных разные, я хочу изменить input_length встраивания каждого предложения, как изменить модель? как это назвать?

1 Ответ

0 голосов
/ 14 апреля 2019

Вы не должны изменять параметр input_length для каждого предложения, вам нужно определить константу MAXIMUM_SENTENCE_LENGTH, где вы будете дополнять все свои предложения специальным значением 0, если они меньше этой максимальной длины, или просто обрезать от чрезмерных слов, если они превосходят его.

Затем вы должны использовать параметр mask_zero, установив его в True, чтобы просто маскировать эти избыточные 0 токенов, чтобы они не влияли на выходные данные модели или обратное распространение градиентов во время обучения.

Проверьте этот учебник для более подробной информации.

...