Keras遮罩层似乎无法正常工作。

问题描述 投票:0回答:1

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。

keras keras-layer masking
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.