tf.keras.layers.Masking
| Просмотреть исходный код на GitHub |
Маскирует последовательность, используя значение маски для пропуска временных шагов.
tf.keras.layers.Masking(
mask_value=0.0, **kwargs
)
Для каждого временного шага в тензоре входных данных (размерность #1 в тензоре), если все значения в тензоре входных данных в этот момент времени равны mask_value, то временной шаг будет замаскирован (пропущен) во всех последующих слоях (при условии, что они поддерживают маску).
Если какой-либо последующий слой не поддерживает маску, но получает такую маску ввода, будет выброшено исключение.
Пример:
Рассмотрим массив данных Numpy x формы (samples, timesteps, features), который необходимо передать в слой LSTM. Вы хотите замаскировать временной шаг #3 и #5, потому что у вас нет данных для этих временных шагов. Вы можете:
- Установить
x[:, 3, :] = 0.иx[:, 5, :] = 0. - Вставить слой
Maskingсо значениемmask_value=0.перед слоем LSTM:
samples, timesteps, features = 32, 10, 8
inputs = np.random.random([samples, timesteps, features]).astype(np.float32)
inputs[:, 3, :] = 0.
inputs[:, 5, :] = 0.
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Masking(mask_value=0.,
input_shape=(timesteps, features)))
model.add(tf.keras.layers.LSTM(32))
output = model(inputs)
# The time step 3 and 5 will be skipped from LSTM calculation.
См. руководство по маске и дополнению для получения дополнительной информации.
© 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/r2.4/api_docs/python/tf/keras/layers/Masking