Spec-Zone.ru › TensorFlow 1.15

tf.nn.static_rnn

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

Просмотр псевдонимов

Основные псевдонимы

`tf.contrib.rnn.static_rnn`

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.nn.static_rnn

tf.nn.static_rnn(
    cell, inputs, initial_state=None, dtype=None, sequence_length=None, scope=None
)
Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: Используйте 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, каждый элемент — тензор формы [batch_size, input_size], или вложенная кортеж таких элементов.
initial_state (необязательно) Начальное состояние RNN. Если cell.state_size — целое число, это должен быть тензор соответствующего типа и формы [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 Область переменных для создаваемой подграфа; по умолчанию "rnn".
Возвращаемое значение
Пара (outputs, state), где:
  • outputs — список выходов длиной T (по одному на каждый вход) или вложенный кортеж таких элементов.
  • state — конечное состояние
Исключения
TypeError Если cell не является экземпляром 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/nn/static_rnn

Spec-Zone.ru

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