tf.contrib.recurrent.bidirectional_functional_rnn
Создаёт двунаправленную рекуррентную нейронную сеть.
tf.contrib.recurrent.bidirectional_functional_rnn(
cell_fw, cell_bw, inputs, initial_state_fw=None, initial_state_bw=None,
dtype=None, sequence_length=None, time_major=False, use_tpu=False,
fast_reverse=False, scope=None
)
Выполняет полностью динамическое развертывание входных данных в обоих направлениях. Разработан для совместимости API с tf.compat.v1.nn.bidirectional_dynamic_rnn, но реализован с функциональным управлением потоком для совместимости с TPU.
| Аргументы | |
|---|---|
cell_fw | Экземпляр tf.compat.v1.nn.rnn_cell.RNNCell. |
cell_bw | Экземпляр tf.compat.v1.nn.rnn_cell.RNNCell. |
inputs | Входные данные RNN. Если time_major == False (по умолчанию), это должен быть тензор (или иерархическая структура тензоров) формы [batch_size, max_time, ...]. Если time_major == True, это должен быть тензор (или иерархическая структура тензоров) формы: [max_time, batch_size, ...]. Первые два измерения должны совпадать во всех входных данных, но в противном случае могут отличаться ранги и другие компоненты формы. |
initial_state_fw | Необязательное начальное состояние для cell_fw. Должно соответствовать cell_fw.zero_state по структуре и типу. |
initial_state_bw | Необязательное начальное состояние для cell_bw. Должно соответствовать cell_bw.zero_state по структуре и типу. |
dtype | (необязательно) Тип данных для начального состояния и ожидаемого результата. Требуется, если initial_states не заданы или состояние RNN имеет разнородный тип. |
sequence_length | Необязательный целочисленный вектор int32/int64 размером [batch_size]. Используется для копирования состояния и обнуления выходов при достижении длины последовательности элемента партии. Поэтому он больше связан с корректностью, чем с производительностью. |
time_major | Является ли тензор inputs в формате "time major". |
use_tpu | Включить совместимую с TPU операцию. Если True, не действительно обращает inputs в обратном RNN. После исправления b/69305369, мы можем убрать этот флаг. |
fast_reverse | Используйте ли быстрый tf.reverse для замены tf.reverse_sequence. Это возможно только тогда, когда все длины последовательностей внутри пакета одинаковы или когда функция ячейки не изменяет состояние на заполненном входе. |
scope | Необязательное имя области для динамического RNN. |
| Возвращает | |
|---|---|
outputs | Кортеж (output_fw, output_bw). Результат прямого и обратного RNN. Если time_major == False (по умолчанию), это будут тензоры формы: [batch_size, max_time, cell.output_size]. Если time_major == True, это будут тензоры формы: [max_time, batch_size, cell.output_size]. Обратите внимание, что если cell.output_size является (возможно, вложенным) кортежем целых чисел или объектов TensorShape, то вывод для этого направления будет кортежем, имеющим такую же структуру, как cell.output_size, содержащим тензоры с формами, соответствующими данным формы в cell.output_size. |
final_states | Кортеж (final_state_fw, final_state_bw). Тензор или иерархическая структура тензоров, указывающая конечное состояние ячейки в каждом направлении. Должна иметь такую же структуру и форму, как cell.zero_state. |
| Исключения | |
|---|---|
ValueError | Если initial_state_fw равно None или initial_state_bw равно None, и dtype не задано. |
© 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/recurrent/bidirectional_functional_rnn