tf.contrib.legacy_seq2seq.embedding_tied_rnn_seq2seq
Модель последовательности-последовательности RNN с встраиванием и связанными (общими) параметрами.
tf.contrib.legacy_seq2seq.embedding_tied_rnn_seq2seq(
encoder_inputs, decoder_inputs, cell, num_symbols, embedding_size,
num_decoder_symbols=None, output_projection=None, feed_previous=False,
dtype=None, scope=None
)
В этой модели сначала кодируются encoder_inputs с помощью нового встраивания (размер [число_символов x размер_ввода]). Затем выполняется RNN для кодирования встроенных encoder_inputs в вектор состояния. Далее, кодируются decoder_inputs с использованием того же встраивания. Затем выполняется декодер RNN, инициализированный последним состоянием кодировщика, на встроенных decoder_inputs. Выход декодера определяется символами от 0 до num_decoder_symbols - 1, если num_decoder_symbols не задан; в противном случае он определяется символами от 0 до num_symbols - 1.
| Аргументы | |
|---|---|
encoder_inputs | Список 1D int32 тензоров размером [размер_пакета]. |
decoder_inputs | Список 1D int32 тензоров размером [размер_пакета]. |
cell | tf.compat.v1.nn.rnn_cell.RNNCell, определяющий функцию и размер ячейки. |
num_symbols | Целое число; количество символов для кодировщика и декодера. |
embedding_size | Целое число, длина вектора встраивания для каждого символа. |
num_decoder_symbols | Целое число; количество выходных символов для декодера. Если задано, выход декодера определяется символами от 0 до num_decoder_symbols - 1. В противном случае, выход декодера определяется символами от 0 до num_symbols - 1. Обратите внимание, что это предполагает, что словарь организован таким образом, что первые num_decoder_symbols из num_symbols входят в декодирование. |
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_tied_rnn_seq2seq". |
| Возвращаемые значения | |
|---|---|
| Кортеж вида (выходы, состояние), где: выходы: Список той же длины, что и decoder_inputs, содержащий 2D тензоры размером [размер_пакета x число_выходных_символов], содержащие сгенерированные выходы, где число_выходных_символов = num_decoder_symbols, если num_decoder_symbols не равно None, в противном случае число_выходных_символов = num_symbols. состояние: Состояние каждой ячейки декодера в последний момент времени. Это 2D тензор размером [размер_пакета x размер_состояния_ячейки]. |
| Исключения | |
|---|---|
ValueError | При неправильной форме output_projection. |
© 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_tied_rnn_seq2seq