Keras Masking层没有正确屏蔽嵌入输出。这是我的代码示例 -
-- 输入数据
raw_inputs = [
[711, 632, 71],
[73, 8, 3215, 55, 927],
[83, 91, 1, 645, 1253, 927],
]
padded_inputs = tf.keras.preprocessing.sequence.pad_sequences(
raw_inputs, padding="post"
)
print(padded_inputs)
[[ 711 632 71 0 0 0]
[ 73 8 3215 55 927 0]
[ 83 91 1 645 1253 927]]
---填充代码
from tensorflow.python.keras import layers
embedding = layers.Embedding(input_dim=5000, output_dim=16)
masked_output = embedding(padded_inputs)
masking_layer = layers.Masking(mask_value=0.0)
masked_embedding = masking_layer(masked_output)
print(masked_embedding._keras_mask)
我得到了如下的输出----------------------------。
tf.Tensor(
[[ True True True True True True]
[ True True True True True True]
[ True True True True True True]], shape=(3, 6), dtype=bool)
知道为什么屏蔽不能正常发生吗?所有带0的值都应该被屏蔽False。