Spec-Zone.ru › TensorFlow 2.3

tf.compat.v1.nn.bidirectional_dynamic_rnn

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

tf.compat.v1.nn.bidirectional_dynamic_rnn(
    cell_fw, cell_bw, inputs, sequence_length=None, initial_state_fw=None,
    initial_state_bw=None, dtype=None, parallel_iterations=None, swap_memory=False,
    time_major=False, scope=None
)
Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: Используйте keras.layers.Bidirectional(keras.layers.RNN(cell)), которое эквивалентно этому API

Принимает входные данные и строит независимые прямые и обратные RNN. Размер входных данных для прямой и обратной ячеек должен совпадать. Начальное состояние для обоих направлений по умолчанию равно нулю (но может быть установлено необязательно), и промежуточные состояния никогда не возвращаются — сеть полностью развернута для заданной (переданной) длины последовательности (ей) или полностью развернута, если длина (ы) не задана.

Аргументы
cell_fw Экземпляр RNNCell, используемый для прямого направления.
cell_bw Экземпляр RNNCell, используемый для обратного направления.
inputs Входные данные RNN. Если time_major == False (по умолчанию), это должен быть тензор формы: [batch_size, max_time, ...], или вложенная кортеж таких элементов. Если time_major == True, это должен быть тензор формы: [max_time, batch_size, ...], или вложенная кортеж таких элементов.
sequence_length (необязательно) Вектор int32/int64, размер [batch_size], содержащий фактические длины каждой из последовательностей в пачке. Если не указано, предполагается, что все записи пакет содержат полные последовательности; и обратная замена времени применяется от времени 0 до max_time для каждой последовательности.
initial_state_fw (необязательно) Начальное состояние для прямой RNN. Это должен быть тензор соответствующего типа и формы [batch_size, cell_fw.state_size]. Если cell_fw.state_size является кортежем, это должен быть кортеж тензоров с формами [batch_size, s] for s in cell_fw.state_size.
initial_state_bw (необязательно) Аналогично для initial_state_fw, но используя соответствующие свойства cell_bw.
dtype (необязательно) Тип данных для начальных состояний и ожидаемого вывода. Требуется, если начальные состояния не заданы или состояния RNN имеют разнородный тип данных.
parallel_iterations (По умолчанию: 32). Количество итераций для выполнения в параллели. Те операции, которые не имеют временной зависимости и могут выполняться параллельно, будут. Этот параметр обеспечивает компромисс между временем и памятью. Значения >> 1 используют больше памяти, но занимают меньше времени, а меньшие значения используют меньше памяти, но вычисления занимают больше времени.
swap_memory Прозрачно меняет местами тензоры, созданные в процессе прямой инференции, но необходимые для обратного распространения, с видеокарты на процессор. Это позволяет обучать RNN, которые обычно не помещаются на одной видеокарте, с очень минимальными (или без) потерями производительности.
time_major Формат формы тензоров inputs и outputs. Если true, эти Tensors должны иметь форму [max_time, batch_size, depth]. Если false, эти Tensors должны иметь форму [batch_size, max_time, depth]. Использование time_major = True немного эффективнее, потому что это позволяет избежать транспонирования в начале и в конце вычислений RNN. Однако большинство данных TensorFlow являются пакетно-главными, поэтому по умолчанию эта функция принимает входные данные и выдает вывод в форме пакетно-главного.
scope VariableScope для созданного подграфа; по умолчанию "bidirectional_rnn"
Возвращает
Кортеж (выводы, состояния_вывода), где: выводы: Кортеж (вывод_прямой, вывод_обратный), содержащий прямой и обратный вывод rnn Tensor. Если time_major == False (по умолчанию), output_fw будет Tensor формы: [batch_size, max_time, cell_fw.output_size] и output_bw будет Tensor формы: [batch_size, max_time, cell_bw.output_size]. Если time_major == True, output_fw будет Tensor формы: [max_time, batch_size, cell_fw.output_size] и output_bw будет Tensor формы: [max_time, batch_size, cell_bw.output_size]. Возвращает кортеж вместо одного конкатенированного Tensor, в отличие от bidirectional_rnn. Если предпочтительнее конкатенированный, то прямой и обратный выводы можно конкатенировать как tf.concat(outputs, 2). состояния_вывода: Кортеж (состояние_вывода_прямой, состояние_вывода_обратное), содержащий конечные состояния прямой и обратной двунаправленной rnn.
Исключения
TypeError Если cell_fw или cell_bw не является экземпляром RNNCell.

© 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/r2.3/api_docs/python/tf/compat/v1/nn/bidirectional_dynamic_rnn

Spec-Zone.ru

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