通過使用掩碼值跳過時間步來掩碼序列。
用法
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。