Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.nn.static_rnn

Создает рекуррентную нейронную сеть, заданную RNNCell cell. (устарело)

tf.compat.v1.nn.static_rnn(
    cell,
    inputs,
    initial_state=None,
    dtype=None,
    sequence_length=None,
    scope=None
)
Deprecated: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: Пожалуйста, используйте keras.layers.RNN(cell, unroll=True), что эквивалентно этому API

Простейшая форма генерируемой сети RNN:

state = cell.zero_state(...)
outputs = []
for input_ in inputs:
  output, state = cell(input_, state)
  outputs.append(output)
return (outputs, state)

Однако доступны несколько других вариантов:

Может быть предоставлено начальное состояние. Если предоставлен вектор sequence_length, выполняется динамический расчет. Этот метод вычисления не вычисляет шаги RNN, превышающие максимальную длину последовательности мини-пакета (тем самым экономя вычислительное время), и правильно распространяет состояние на длине последовательности примера на конечный выходной результат.

Выполняемый динамический расчет во времени t для строки пакета b,

(output, state)(b, t) =
  (t >= sequence_length(b))
    ? (zeros(cell.output_size), states(b, sequence_length(b) - 1))
    : cell(input(b, t), state(b, t - 1))
Аргументы
cell Экземпляр RNNCell.
inputs Список входных данных длиной T, каждый из которых имеет форму Tensor размера [batch_size, input_size], или вложенный кортеж таких элементов.
initial_state (необязательно) Начальное состояние для RNN. Если cell.state_size является целым числом, это должен быть Tensor соответствующего типа и формы [batch_size, cell.state_size]. Если cell.state_size является кортежем, это должен быть кортеж тензоров, имеющих формы [batch_size, s] for s in cell.state_size.
dtype (необязательно) Тип данных для начального состояния и ожидаемого результата. Требуется, если initial_state не предоставлен или состояние RNN имеет неоднородный тип данных.
sequence_length Задает длину каждой последовательности во входных данных. Вектор (тензор) типа int32 или int64 размером [batch_size], значения в [0, T).
scope VariableScope для созданного подграфа; по умолчанию "rnn".
Возвращает
Пару (outputs, state), где:
  • outputs - список выходных данных длиной T (по одному для каждого входа) или вложенный кортеж таких элементов.

  • state - конечное состояние

Исключения
TypeError Если cell не является экземпляром 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/versions/r2.9/api_docs/python/tf/compat/v1/nn/static_rnn

Spec-Zone.ru

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