tf.contrib.rnn.GLSTMCell
Группа ячеек LSTM (G-LSTM).
Наследуется от: RNNCell
tf.contrib.rnn.GLSTMCell(
num_units, initializer=None, num_proj=None, number_of_groups=1, forget_bias=1.0,
activation=tf.math.tanh, reuse=None
)
Реализация основана на:
https://arxiv.org/abs/1703.10722
О. Кучаев и Б. Гинзбург «Уловки факторизации для сетей LSTM», семинар ICLR 2017.
Вкратце, ячейка G-LSTM состоит из одной подячейки LSTM на группу, где каждая подячейка работает с подвектором входных данных одинакового размера и производит подвeктор выходных данных такого же размера. Например, ячейка G-LSTM с 128 единицами и 4 группами состоит из 4 подячеек LSTM с 32 единицами каждая. Если эта ячейка G-LSTM получает входные данные размерностью 200, то каждая подячейка получает 50-мерную часть входных данных и производит 32-мерную часть выходных данных.
| Аргументы | |
|---|---|
num_units | целое число, количество единиц в ячейке G-LSTM |
initializer | (необязательно) инициализатор, который нужно использовать для весовых и проекционных матриц. |
num_proj | (необязательно) целое число, размерность выходных данных для проекционных матриц. Если None, проекция не выполняется. |
number_of_groups | (необязательно) целое число, количество групп. Если number_of_groups равно 1, то это должно быть эквивалентно ячейке LSTM. |
forget_bias | Смещения забывающейся вентили по умолчанию инициализируются значением 1, чтобы уменьшить масштаб забывания в начале обучения. |
activation | Функция активации внутренних состояний. |
reuse | (необязательно) булево значение, описывающее, нужно ли повторно использовать переменные в существующем контексте. Если не True, и в существующем контексте уже есть заданные переменные, возникает ошибка. |
| Возникающие исключения | |
|---|---|
ValueError | Если num_units или num_proj не делится на number_of_groups. |
| Атрибуты | |
|---|---|
graph | УСТАРЕВШАЯ ФУНКЦИЯ |
output_size | Целое число или TensorShape: размер выходных данных, производимых этой ячейкой. |
scope_name | |
state_size | Размер(ы) состояний, используемых этой ячейкой. Он может быть представлен целым числом, TensorShape или кортежем целых чисел или TensorShape. |
Методы
get_initial_state
get_initial_state(
inputs=None, batch_size=None, dtype=None
)
zero_state
zero_state(
batch_size, dtype
)
Возвращает тензор(ы) состояния, заполненные нулями.
| Аргументы | |
|---|---|
batch_size | целое число, число с плавающей точкой или тензор, представляющий размер пакетной обработки. |
dtype | тип данных, который нужно использовать для состояния. |
| Возвращаемое значение | |
|---|---|
Если state_size является целым числом или TensorShape, то возвращаемое значение — тензор N-D формы [batch_size, 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/GLSTMCell