tf.compat.v1.nn.static_bidirectional_rnn
Создаёт двунаправленную рекуррентную нейронную сеть. (устаревшая)
tf.compat.v1.nn.static_bidirectional_rnn(
cell_fw, cell_bw, inputs, initial_state_fw=None, initial_state_bw=None,
dtype=None, sequence_length=None, scope=None
)
Аналогично однонаправленному случаю выше (rnn), но принимает входные данные и создаёт независимые прямые и обратные RNN с окончательными прямым и обратным выходами, объединёнными по глубине, таким образом, что вывод будет иметь формат [время][пакет][cell_fw.output_size + cell_bw.output_size]. Размер входных данных для прямой и обратной ячейки должен совпадать. Начальное состояние для обоих направлений по умолчанию равно нулю (но может быть установлено необязательно), и промежуточные состояния никогда не возвращаются — сеть полностью развернута для заданной (переданной) длины(ы) последовательности(ей) или полностью развернута, если длина(ы) не задана.
| Аргументы | |
|---|---|
cell_fw | Экземпляр RNNCell, используемый для прямого направления. |
cell_bw | Экземпляр RNNCell, используемый для обратного направления. |
inputs | Список длинной T входных данных, каждый — тензор формы [batch_size, input_size], или вложенная кортеж таких элементов. |
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 | (необязательно) Тип данных для начального состояния. Требуется, если ни одно из начальных состояний не предоставлено. |
sequence_length | (необязательно) Вектор int32/int64, размер [batch_size], содержащий фактические длины каждой последовательности. |
scope | Область переменных для созданного подграфа; по умолчанию "bidirectional_rnn" |
| Возвращает | |
|---|---|
Кортеж (выходы, состояние_выхода_прямое, состояние_выхода_обратное), где: выходы — список длиной T выходов (по одному для каждого входа), которые представляют собой объединённые по глубине прямые и обратные выходы. состояние_выхода_прямое — конечное состояние прямого rnn. состояние_выхода_обратное — конечное состояние обратного 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/r2.3/api_docs/python/tf/compat/v1/nn/static_bidirectional_rnn