Spec-Zone.ru › TensorFlow 1.15

tf.contrib.rnn.stack_bidirectional_dynamic_rnn

Создаёт динамическую двунаправленную рекуррентную нейронную сеть.

tf.contrib.rnn.stack_bidirectional_dynamic_rnn(
    cells_fw, cells_bw, inputs, initial_states_fw=None, initial_states_bw=None,
    dtype=None, sequence_length=None, parallel_iterations=None, time_major=False,
    scope=None, swap_memory=False
)

Упаковывает несколько двунаправленных слоёв rnn. Объединённые выходы прямого и обратного слоёв используются в качестве входных данных следующего слоя. tf.bidirectional_rnn не позволяет совместно использовать информацию между слоями прямого и обратного направления. Размеры входных данных для первых ячеек прямого и обратного направления должны совпадать. Начальное состояние для обоих направлений равно нулю, и промежуточные состояния не возвращаются.

Аргументы
cells_fw Список экземпляров RNNCell, по одному на слой, используемых для прямого направления.
cells_bw Список экземпляров RNNCell, по одному на слой, используемых для обратного направления.
inputs Входные данные RNN. Это должен быть тензор формы: [batch_size, max_time, ...], или вложенная кортеж таких элементов.
initial_states_fw (необязательно) Список начальных состояний (по одному на слой) для RNN прямого направления. Каждый тензор должен иметь соответствующий тип и форму [batch_size, cell_fw.state_size].
initial_states_bw (необязательно) Аналогично initial_states_fw, но использует соответствующие свойства cells_bw.
dtype (необязательно) Тип данных для начального состояния. Требуется, если любое из начальных состояний не задано.
sequence_length (необязательно) Вектор int32/int64, размер [batch_size], содержащий фактические длины каждой последовательности.
parallel_iterations (по умолчанию: 32). Количество итераций, выполняемых параллельно. Те операции, которые не зависят во времени и могут быть выполнены параллельно, будут. Этот параметр балансирует время и память. Значения >> 1 используют больше памяти, но занимают меньше времени, а меньшие значения используют меньше памяти, но вычисления занимают больше времени.
time_major Формат формы тензоров входных и выходных данных. Если true, эти тензоры должны иметь форму [max_time, batch_size, depth]. Если false, эти тензоры должны иметь форму [batch_size, max_time, depth]. Использование time_major = True немного эффективнее, потому что оно избегает транспонирования в начале и в конце вычисления RNN. Однако большинство данных TensorFlow имеют форму batch-major, поэтому по умолчанию эта функция принимает входные данные и выводит выходные данные в форме batch-major.
scope VariableScope для созданной подсети; по умолчанию None.
swap_memory Прозрачно меняет местами тензоры, полученные при прямом выводе, но необходимые для обратного распространения, с GPU на CPU. Это позволяет обучать RNN, которые обычно не помещаются на одном GPU, с минимальной (или без) потерей производительности.
Возвращает
Кортеж (outputs, output_state_fw, output_state_bw), где: outputs: Выход Tensor формы: [batch_size, max_time, layers_output]. Где выходы слоёв конкатенированы по глубине, в прямом и обратном направлениях. output_states_fw - конечные состояния, по одному тензору на слой, RNN прямого направления. output_states_bw - конечные состояния, по одному тензору на слой, RNN обратного направления.
Возбуждает исключения
TypeError Если cell_fw или cell_bw не является экземпляром RNNCell.
ValueError Если inputs - None.

© 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/rnn/stack_bidirectional_dynamic_rnn

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API