Spec-Zone.ru › TensorFlow 2.4

tf.keras.layers.AbstractRNNCell

Просмотреть исходный код на GitHub

Абстрактный объект, представляющий ячейку RNN.

Наследуется от: Layer, Module

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

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

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

tf.compat.v1.keras.layers.AbstractRNNCell

tf.keras.layers.AbstractRNNCell(
    trainable=True, name=None, dtype=None, dynamic=False, **kwargs
)

См. руководство по API RNN Keras для получения подробной информации об использовании API RNN.

Это базовый класс для реализации ячеек RNN с настраиваемым поведением.

Каждая RNNCell должна иметь свойства ниже и реализовать call со сигнатурой (output, next_state) = call(input, state).

Примеры:

class MinimalRNNCell(AbstractRNNCell):

  def __init__(self, units, **kwargs):
    self.units = units
    super(MinimalRNNCell, self).__init__(**kwargs)

  @property
  def state_size(self):
    return self.units

  def build(self, input_shape):
    self.kernel = self.add_weight(shape=(input_shape[-1], self.units),
                                  initializer='uniform',
                                  name='kernel')
    self.recurrent_kernel = self.add_weight(
        shape=(self.units, self.units),
        initializer='uniform',
        name='recurrent_kernel')
    self.built = True

  def call(self, inputs, states):
    prev_output = states[0]
    h = K.dot(inputs, self.kernel)
    output = h + K.dot(prev_output, self.recurrent_kernel)
    return output, output

Это определение ячейки отличается от определения, используемого в литературе. В литературе «ячейка» относится к объекту с одним скалярным выходом. Это определение относится к горизонтальному массиву таких единиц.

Ячейка RNN в самой абстрактной постановке — это всё, что имеет состояние и выполняет некоторую операцию, которая принимает матрицу входных данных. Эта операция приводит к матрице выходных данных с self.output_size столбцами. Если self.state_size является целым числом, эта операция также приводит к новой матрице состояния с self.state_size столбцами. Если self.state_size является (возможно, вложенной кортежем) объектом TensorShape, то он должен возвращать соответствующую структуру тензоров, имеющих форму [batch_size].concatenate(s) для каждого s в self.batch_size.

Атрибуты
output_size Целое число или TensorShape: размер выходных данных, производимых этой ячейкой.
state_size Размер(ы) состояния(ий), используемого(ых) этой ячейкой.

Он может быть представлен целым числом, TensorShape или кортежем целых чисел или TensorShapes.

Методы

get_initial_state

Просмотреть исходный код

get_initial_state(
    inputs=None, batch_size=None, dtype=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.4/api_docs/python/tf/keras/layers/AbstractRNNCell

Spec-Zone.ru

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