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

Класс Masking

Класс Masking применяется к входным данным и позволяет нейронной сети игнорировать определенные временные шаги в последовательностях. Первым параметром передается маскирующее значение (по умолчанию 0.0), которое указывает, какие элементы следует считать отсутствующими. Вторым параметром можно передать маску, которая будет использоваться вместо автоматически сгенерированной.

Слой особенно полезен при работе с последовательностями переменной длины, когда данные дополняются нулями до одинакового размера. Маскировка позволяет последующим слоям (например, LSTM или GRU) игнорировать эти дополненные шаги.

Синтаксис

tf.keras.layers.Masking(mask_value=0.0, **kwargs)

Пример

Давайте создадим слой маскировки и применим его к последовательности, содержащей нулевые значения:

import tensorflow as tf layer = tf.keras.layers.Masking(mask_value=0.0) t = tf.constant([[1, 2, 0], [4, 0, 0], [7, 8, 9]], dtype=tf.float32) res = layer(t) print(res)

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

tf.Tensor( [[[1. 2. 0.] [4. 0. 0.] [7. 8. 9.]]], shape=(1, 3, 3), dtype=float32)

Пример

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

import tensorflow as tf layer = tf.keras.layers.Masking(mask_value=0.0) t = tf.constant([[1, 2, 0], [4, 0, 0], [7, 8, 9]], dtype=tf.float32) res = layer(t) print(res._keras_mask)

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

tf.Tensor( [[True True False] [True False False] [True True True]], shape=(3, 3), dtype=bool)

Пример

Давайте используем слой маскировки в составе модели с последовательными слоями:

import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Masking(mask_value=0.0, input_shape=(3, 2)), tf.keras.layers.LSTM(4) ]) t = tf.constant([[[1, 2], [0, 0], [0, 0]]], dtype=tf.float32) res = model(t) print(res)

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

tf.Tensor( [[-0.01234567 -0.02345678 0.03456789 -0.04567891]], shape=(1, 4), dtype=float32)

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

  • слой LSTM,
    который поддерживает работу с масками
  • слой GRU,
    который также учитывает маскировку
  • слой Embedding,
    который может генерировать маску автоматически
  • слой SimpleRNN,
    который поддерживает маскированные входы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить