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

Скрытое состояние в TensorFlow

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

Параметр return_sequences при создании слоя включает такой режим. Тогда вместо одной строки на цепочку возвращают тензор с тем же числом шагов, что на входе.

Сравним форму для одной цепочки из четырёх шагов без параметра и с включённым параметром return_sequences:

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

Размер сводки на шаг совпадает с размером итога в обычном режиме. Меняется только наличие оси шагов между партией и признаками:

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

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

Соберите партию из двух цепочек длины три. Настройте рекуррентный блок так, чтобы на выходе была строка состояния после каждого шага, и выведите форму ответа при размере сводки 6.

Создайте вход формы (1, 7, 2). Узнайте форму результата после рекуррентного блока с выходом 10 на каждом шаге.

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