gpt4 book ai didi

python - 如何在 tf.keras 中屏蔽 lstm 的输入

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:02 25 4
gpt4 key购买 nike

我正在构建一个混合模型(CNN 之上的 RNN),我想屏蔽输入,问题是
卷积层不支持 mask_zero。 我尝试过进行屏蔽并将其传递给 lstm,如下所示:

inputs = tf.keras.layers.Input(shape=(100,))
mask = tf.keras.layers.Masking().compute_mask(inputs)
embedding = tf.keras.layers.Embedding(self.preprocess["max_features"]+1, 300, input_length=100,
weights=[self.preprocess["matrix"]], trainable=True)(inputs)
lstm = tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(200,recurrent_dropout=0.2, dropout=0.2,return_sequences=True))(embedding,mask=mask)
conv = tf.keras.layers.Conv1D(filters=200, kernel_size=3, padding='same', activation='relu')(lstm)

矩阵的第 0 个索引是零向量。

我从 lstm 层收到以下错误:IndexError:列表分配索引超出范围

最佳答案

您是否尝试过查看 Tensorflow 的文档?转到此link我想这会对你有帮助。
在上面的示例中,他们添加了 mask_zero=True

embedding = layers.Embedding(input_dim=5000, output_dim=16, mask_zero=True)
masked_output = embedding(padded_inputs)

print(masked_output._keras_mask)

关于python - 如何在 tf.keras 中屏蔽 lstm 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59590085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com