我想训练一个将输入向量映射到输出向量的转换器模型。输入向量用零填充以使所有输入向量具有相同的长度。要跳过填充值,我使用
tf.keras.layers.Masking
层。这是完整的模型:
import tensorflow as tf
from tf.keras.layers import Input, Dense, Masking, Flatten
from keras_nlp.layers import TransformerEncoder
values = Input(shape=(max_len,))
masked_values = Masking(mask_value=0.)(values) # Create a mask to ignore padded values
cont_emb = TransformerEncoder(num_heads=num_head,intermediate_dim=ffn_dim)(masked_values)
cont_emb_2 = Flatten()(cont_emb)
output = Dense(V)(cont_emb_2)
TransformerEncoder
的文档可以在这里找到:https://keras.io/api/keras_nlp/layers/transformer_encoder/
这个模型可以工作并生成输出,但我不知道是否跳过了填充值。谁能告诉我这个模型好不好?或者我如何检查填充值是否被跳过?