tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq
Модель последовательности «последовательность-в-последовательность» с вложением RNN.
tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq(
encoder_inputs, decoder_inputs, cell, num_encoder_symbols, num_decoder_symbols,
embedding_size, output_projection=None, feed_previous=False, dtype=None,
scope=None
)
В этой модели сначала кодируются вложения encoder_inputs с помощью нового вложения (размера [число_символов_кодера x размер_вложения]). Затем выполняется RNN для кодирования встроенных encoder_inputs в вектор состояния. Далее кодируются вложения decoder_inputs с помощью другого нового вложения (размера [число_символов_декодера x размер_вложения]). Затем выполняется декодер RNN, инициализированный последним состоянием кодера, по встроенным decoder_inputs.
| Аргументы | |
|---|---|
encoder_inputs | Список 1D тензоров типа int32 размера [размер_пакета]. |
decoder_inputs | Список 1D тензоров типа int32 размера [размер_пакета]. |
cell | tf.compat.v1.nn.rnn_cell.RNNCell, определяющий функцию и размер ячейки. |
num_encoder_symbols | Целое число; число символов на стороне кодера. |
num_decoder_symbols | Целое число; число символов на стороне декодера. |
embedding_size | Целое число, длина вектора вложения для каждого символа. |
output_projection | None или пара (W, B) весов и смещений проекции вывода; W имеет размер [размер_вывода x число_символов_декодера], а B имеет размер [число_символов_декодера]; если предоставлены и feed_previous=True, каждый предыдущий вывод сначала умножается на W и прибавляется B. |
feed_previous | Булево значение или скалярный булев тензор; если True, используется только первый из decoder_inputs (символ "GO"), а все остальные decoder_inputs берутся из предыдущих выходов (как в embedding_rnn_decoder). Если False, decoder_inputs используются как есть (стандартный случай декодера). |
dtype | Тип данных начального состояния как для кодера, так и для ячеек кодера RNN (по умолчанию: tf.float32). |
scope | Область переменных для созданной подграфа; по умолчанию "embedding_rnn_seq2seq" |
| Возвращаемое значение | |
|---|---|
| Кортеж вида (выходы, состояние), где: выходы: Список той же длины, что и decoder_inputs, состоящий из 2D тензоров. Вывод имеет размер [размер_пакета x размер_выхода_ячейки], когда output_projection не None (и представляет плотное представление предсказанных токенов). Он имеет размер [размер_пакета x число_символов_декодера], когда output_projection None. состояние: Состояние каждой ячейки декодера в каждом шаге времени. Это список длиной len(decoder_inputs) — один элемент для каждого шага времени. Это 2D тензор размера [размер_пакета x размер_состояния_ячейки]. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/legacy_seq2seq/embedding_rnn_seq2seq