РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
215 of 824 menu

Класс GRU

Класс GRU создает слой gated recurrent unit (GRU) - разновидность рекуррентного слоя, который эффективно обрабатывает последовательности и борется с проблемой затухающих градиентов. Первым параметром передается целое число - размерность выходного пространства (количество нейронов). Вторым параметром можно передать функцию активации. Также доступны параметры return_sequences, return_state, dropout и recurrent_dropout.

Синтаксис

tf.keras.layers.GRU(units, activation='tanh', return_sequences=False, return_state=False)

Пример

Давайте создадим слой GRU с 4 нейронами и применим его к последовательности:

import tensorflow as tf tf.random.set_seed(0) layer = tf.keras.layers.GRU(4) t = tf.constant([[[1.0], [2.0], [3.0]]]) res = layer(t) print(res)

Результат выполнения кода:

tf.Tensor( [[-0.23548102 -0.37833548 0.50695163 0.21987328]], shape=(1, 4), dtype=float32)

Пример

Давайте создадим слой GRU с параметром return_sequences=True, чтобы получить выход для каждого шага последовательности:

<+python+> import tensorflow as tf tf.random.set_seed(0) layer = tf.keras.layers.GRU(4, return_sequences=True) t = tf.constant([[[1.0], [2.0], [3.0]]]) res = layer(t) print(res) <-python+>

Результат выполнения кода:

tf.Tensor( [[[-0.15536177 -0.38335723 0.22135894 0.40063828] [-0.28858376 -0.35685158 0.47121152 0.27366146] [-0.23548102 -0.37833548 0.50695163 0.21987328]]], shape=(1, 3, 4), dtype=float32)

Пример

Давайте создадим модель с входным слоем, слоем GRU и полносвязным слоем:

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Input(shape=(3, 1)), tf.keras.layers.GRU(4), tf.keras.layers.Dense(1) ]) t = tf.constant([[[1.0], [2.0], [3.0]]]) res = model(t) print(res)

Результат выполнения кода:

tf.Tensor([[-0.25899073]], shape=(1, 1), dtype=float32)

Смотрите также

  • класс LSTM,
    который создает слой long short-term memory
  • класс SimpleRNN,
    который создает простой рекуррентный слой
  • класс Bidirectional,
    который создает двунаправленную обертку для рекуррентных слоев
  • класс Dense,
    который создает полносвязный слой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить