通过使用掩码值跳过时间步来掩码序列。
用法
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.
有关更多详细信息,请参阅遮罩和填充指南。
相关用法
- Python tf.keras.layers.MaxPool3D用法及代码示例
- Python tf.keras.layers.MaxPool2D用法及代码示例
- Python tf.keras.layers.Maximum用法及代码示例
- Python tf.keras.layers.MaxPool1D用法及代码示例
- Python tf.keras.layers.Multiply用法及代码示例
- Python tf.keras.layers.MultiHeadAttention用法及代码示例
- Python tf.keras.layers.Minimum用法及代码示例
- Python tf.keras.layers.InputLayer用法及代码示例
- Python tf.keras.layers.serialize用法及代码示例
- Python tf.keras.layers.Dropout用法及代码示例
- Python tf.keras.layers.maximum用法及代码示例
- Python tf.keras.layers.LayerNormalization用法及代码示例
- Python tf.keras.layers.Conv2D用法及代码示例
- Python tf.keras.layers.RepeatVector用法及代码示例
- Python tf.keras.layers.Activation用法及代码示例
- Python tf.keras.layers.Conv1D用法及代码示例
- Python tf.keras.layers.experimental.preprocessing.PreprocessingLayer.adapt用法及代码示例
- Python tf.keras.layers.CategoryEncoding用法及代码示例
- Python tf.keras.layers.subtract用法及代码示例
- Python tf.keras.layers.experimental.preprocessing.HashedCrossing用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.Masking。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。