tf.contrib.rnn.stack_bidirectional_rnn
Создаёт двунаправленную рекуррентную нейронную сеть.
tf.contrib.rnn.stack_bidirectional_rnn(
cells_fw, cells_bw, inputs, initial_states_fw=None, initial_states_bw=None,
dtype=None, sequence_length=None, scope=None
)
Укладывает несколько слоёв двунаправленной рекуррентной нейронной сети. Объединённые вперёд и назад выходные слои используются в качестве входных данных следующего слоя. tf.bidirectional_rnn не позволяет обмениваться информацией между слоями вперёд и назад. Размеры входных данных для первых ячеек вперёд и назад должны совпадать. Начальное состояние для обоих направлений равно нулю, и промежуточные состояния не возвращаются.
Как описано в https://arxiv.org/abs/1303.5778
| Аргументы | |
|---|---|
cells_fw | Список экземпляров RNNCell, по одному на каждый слой, используемый для направления вперёд. |
cells_bw | Список экземпляров RNNCell, по одному на каждый слой, используемый для обратного направления. |
inputs | Список из T элементов, каждый из которых представляет собой тензор формы [размер_пакета, размер_входа], или вложенную кортеж таких элементов. |
initial_states_fw | (необязательно) Список начальных состояний (по одному на каждый слой) для рекуррентной сети вперёд. Каждый тензор должен иметь соответствующий тип и форму [batch_size, cell_fw.state_size]. |
initial_states_bw | (необязательно) Аналогично initial_states_fw, но использует соответствующие свойства cells_bw. |
dtype | (необязательно) Тип данных для начального состояния. Требуется, если ни одно из начальных состояний не указано. |
sequence_length | (необязательно) Вектор int32/int64, размер [batch_size], содержащий фактические длины каждой последовательности. |
scope | Область переменных для создаваемого подграфа; по умолчанию None. |
| Возвращает | |
|---|---|
Кортеж (выходы, состояние_выхода_вперёд, состояние_выхода_назад), где: выходы — список выходов длиной T, по одному на каждый вход, который представляет собой результат конкатенации вперёд и назад выходов. состояние_выхода_вперёд — конечные состояния, по одному тензору на каждый слой, рекуррентной сети вперёд. состояние_выхода_назад — конечные состояния, по одному тензору на каждый слой, рекуррентной сети назад. |
| Исключения | |
|---|---|
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_rnn