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

Долгая память в TensorFlow

LSTM - рекуррентный слой, который на каждом шаге обновляет внутреннюю память и передаёт сводку дальше по цепочке. Его удобно ставить после векторов слов или над числовым рядом.

Вход слоя LSTM имеет три оси: партия, число шагов и число признаков на шаг. При создании задают размер выходного вектора - сколько чисел будет в сводке после обхода всей цепочки.

Возьмём одну короткую последовательность из четырёх чисел по одному признаку и блок на пять выходных чисел. Выведем форму ответа:

import tensorflow as tf tf.keras.utils.set_random_seed(0) steps = tf.constant([[[1.0], [2.0], [3.0], [4.0]]]) layer = tf.keras.layers.LSTM(5) out = layer(steps) print(out.shape) # выведет (1, 5)

Партия из двух цепочек той же длины даёт строку ответа по каждой цепочке. Число шагов на входе не попадает в форму итога - остаются только партия и размер сводки:

import tensorflow as tf steps = tf.constant([[[1.0], [0.0]], [[2.0], [3.0]]]) layer = tf.keras.layers.LSTM(4) out = layer(steps) print(out.shape)

Соберите партию из одной цепочки [1, 2, 3] с одним признаком на шаг. Пропустите её через рекуррентный блок на шесть выходных чисел и выведите форму ответа.

Задайте две строки по три шага с одним признаком в каждом. Получите сводку размера 3 для каждой строки и выведите форму результата.

Создайте нулевую партию формы (2, 5, 1). Примените к ней блок с восьмью выходными числами и выведите форму выхода.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить