FNetEncoder
类keras_nlp.layers.FNetEncoder(
intermediate_dim,
dropout=0,
activation="relu",
layer_norm_epsilon=1e-05,
kernel_initializer="glorot_uniform",
bias_initializer="zeros",
**kwargs
)
FNet 编码器。
此类遵循 FNet 论文 中 FNet 编码器层的架构。用户可以实例化此类的多个实例来堆叠编码器。
关于掩码的说明:在官方的 FNet 代码中,填充标记被添加到输入中。但是,填充掩码被删除,即所有标记的混合都被执行。这是因为如果我们在每个编码器层中应用填充掩码,某些频率将被清零。因此,我们在 call() 函数中不将填充掩码作为输入。
参数
0.
。keras.activations
。前馈网络的激活函数。默认为 "relu"
。1e-5
。str
或 keras.initializers
初始化器。密集层的内核初始化器。默认为 "glorot_uniform"
。keras.initializers
初始化器。密集层的偏置初始化器。默认为 "zeros"
。keras.layers.Layer
的其他关键字参数,包括 name
、trainable
、dtype
等。示例
# Create a single FNet encoder layer.
encoder = keras_nlp.layers.FNetEncoder(
intermediate_dim=64)
# Create a simple model containing the encoder.
input = keras.Input(shape=(10, 64))
output = encoder(input)
model = keras.Model(inputs=input, outputs=output)
# Call encoder on the inputs.
input_data = np.random.uniform(size=(1, 10, 64))
output = model(input_data)
参考文献