FNetEncoder 層

[原始碼]

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 程式碼中,填充符號會被添加到輸入中。然而,填充遮罩會被刪除,也就是說,所有符號都會被混合。這是因為如果我們在每個編碼器層中應用填充遮罩,某些頻率將會歸零。因此,我們在 call() 函數中不將填充遮罩作為輸入。

引數

  • intermediate_dim:int。前饋網路的隱藏層大小。
  • dropout:float。應用於前饋網路的 dropout 值。預設值為 0.
  • activation:string 或 keras.activations。前饋網路的激活函數。預設值為 "relu"
  • layer_norm_epsilon:float。層標準化組件中的 epsilon 值。預設值為 1e-5
  • kernel_initializerstrkeras.initializers 初始化器。密集層的 kernel 初始化器。預設值為 "glorot_uniform"
  • bias_initializer:"string" 或 keras.initializers 初始化器。密集層的 bias 初始化器。預設值為 "zeros"
  • **kwargs:傳遞給 keras.layers.Layer 的其他關鍵字引數,包括 nametrainabledtype 等。

範例

# 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)

參考文獻