Spec-Zone.ru › TensorFlow 1.15

tf.contrib.rnn.IndyGRUCell

Ячейка независимого управляемого рекуррентного блока.

Наследуется от: LayerRNNCell

tf.contrib.rnn.IndyGRUCell(
    num_units, activation=None, reuse=None, kernel_initializer=None,
    bias_initializer=None, name=None, dtype=None
)

Основана на IndRNN (https://arxiv.org/abs/1803.04831) и похожа на GRUCell, но с матрицами \(U_r\), \(U_z\), и \(U\) в уравнениях 5, 6 и 8 http://arxiv.org/abs/1406.1078 соответственно заменены на диагональные матрицы, т.е. скалярное произведение с единственным вектором:

$$r_j = \sigma\left([\mathbf W_r\mathbf x]_j + [\mathbf u_r\circ \mathbf h_{(t-1)}]_j\right)$$
$$z_j = \sigma\left([\mathbf W_z\mathbf x]_j + [\mathbf u_z\circ \mathbf h_{(t-1)}]_j\right)$$
$$\tilde{h}^{(t)}_j = \phi\left([\mathbf W \mathbf x]_j + [\mathbf u \circ \mathbf r \circ \mathbf h_{(t-1)}]_j\right)$$

где \(\circ\) обозначает оператор Хэдэмэра. Это означает, что каждый узел IndyGRU видит только своё собственное состояние, а не все состояния в том же слое.

Аргументы
num_units int, Количество единиц в ячейке GRU.
activation Нелинейность для использования. По умолчанию: tanh.
reuse (необязательно) Логическое значение Python, описывающее, следует ли повторно использовать переменные в существующем пространстве имен. Если не True, и существующее пространство имен уже содержит заданные переменные, возникает ошибка.
kernel_initializer (необязательно) Инициализатор для применения матриц весов к входу.
bias_initializer (необязательно) Инициализатор для смещения.
name Строка, имя слоя. Слои с одинаковым именем будут использовать общие веса, но для предотвращения ошибок необходимо задать reuse=True в таких случаях.
dtype Тип данных по умолчанию для слоя (по умолчанию None означает использование типа первого входного значения). Требуется, когда build вызывается перед call.
Атрибуты
graph УСТАРЕВШАЯ ФУНКЦИЯ
Предупреждение: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: прекратите использовать этот атрибут, так как слои tf.layers больше не отслеживают свой граф.
output_size Целое число или TensorShape: размер выходов, производимых этой ячейкой.
scope_name
state_size Размер(ы) состояния(й), используемого(ых) этой ячейкой.

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

Методы

get_initial_state

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

get_initial_state(
    inputs=None, batch_size=None, dtype=None
)

zero_state

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

zero_state(
    batch_size, dtype
)

Возвращает тензор(ы) состояния с нулевыми значениями.

Аргументы
batch_size int, float или тензор единиц, представляющий размер пакетной обработки.
dtype тип данных для использования состояния.
Возвращаемое значение
Если state_size является целым числом или TensorShape, то возвращаемое значение — это тензор N-D с формой [batch_size, state_size] заполненный нулями.

Если state_size является вложенным списком или кортежем, то возвращаемое значение — это вложенный список или кортеж (той же структуры) тензоров 2-D с формами [batch_size, s] для каждого s в state_size.

© 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/contrib/rnn/IndyGRUCell

Spec-Zone.ru

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