Masking 类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. 设置为mask_value=0. 的 Masking 层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.
有关更多详细信息,请参阅 掩码和填充指南。