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, каждый из которых является тензором формы [размер_пакета, размер_входа], или вложенной кортежем таких элементов. |
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 | VariableScope для созданного подграфа; по умолчанию «bidirectional_rnn» |
| Возвращаемое значение | |
|---|---|
Кортеж (выходы, состояние_выхода_прямого, состояние_выхода_обратного), где: выходы — список выходов длины T (по одному для каждого входного), представляющий собой конкатенированные по глубине прямые и обратные выходы. состояние_выхода_прямого — конечное состояние прямого rnn. состояние_выхода_обратного — конечное состояние обратного rnn. |
| Исключения | |
|---|---|
TypeError | Если cell_fw или cell_bw не является экземпляром RNNCell. |
ValueError | Если inputs равно None или является пустым списком. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/nn/static_bidirectional_rnn