當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。