FNetEncoder
類別keras_hub.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 程式碼中,padding 標記會被添加到輸入中。然而,padding 遮罩會被刪除,也就是說,所有標記都會被混合。這是因為如果我們在每個編碼器層中都應用 padding 遮罩,某些頻率將會歸零。因此,我們在 call() 函數中不將 padding 遮罩作為輸入。
參數
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_hub.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)
參考文獻