当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.layers.Masking用法及代码示例


通过使用掩码值跳过时间步来掩码序列。

继承自:LayerModule

用法

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

对于输入张量中的每个时间步(张量中的第 1 维),如果该时间步中输入张量中的所有值都等于 mask_value ,则该时间步将在所有下游层中被屏蔽(跳过)(只要他们支持掩蔽)。

如果任何下游层不支持掩码但接收到这样的输入掩码,则会引发异常。

例子:

考虑将形状为 (samples, timesteps, features) 的 Numpy 数据数组 x 馈送到 LSTM 层。您想要屏蔽时间步 #3 和 #5,因为您缺少这些时间步的数据。你可以:

  • 设置x[:, 3,:] = 0.x[:, 5,:] = 0.
  • 在 LSTM 层之前插入带有 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.

有关更多详细信息,请参阅遮罩和填充指南。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.Masking。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。