Keras 3 API 文件 / KerasHub / 建模層 / TokenAndPositionEmbedding 層

TokenAndPositionEmbedding 層

[來源]

TokenAndPositionEmbedding 類別

keras_hub.layers.TokenAndPositionEmbedding(
    vocabulary_size,
    sequence_length,
    embedding_dim,
    tie_weights=True,
    embeddings_initializer="uniform",
    mask_zero=False,
    **kwargs
)

將詞嵌入和位置嵌入相加的層。

詞嵌入和位置嵌入是表示句子中詞彙及其順序的方法。此層建立一個 keras.layers.Embedding 詞嵌入和一個 keras_hub.layers.PositionEmbedding 位置嵌入,並在呼叫時將它們的輸出相加。此層假設輸入中的最後一個維度對應於序列維度。

參數

  • vocabulary_size:詞彙量大小。
  • sequence_length:輸入序列的最大長度。
  • embedding_dim:嵌入層的輸出維度。
  • tie_weights:布林值,表示嵌入矩陣和 reverse 投射矩陣是否應該共享相同的權重。
  • embeddings_initializer:用於嵌入層的初始化器。
  • mask_zero:布林值,表示輸入值 0 是否為應被遮蔽的特殊「填充」值。這在使用可能採用變長輸入的循環層時非常有用。如果為 True,則模型中的所有後續層都需要支援遮蔽,否則將引發異常。如果 `mask_zero` 設定為 True,則索引 0 不能在詞彙表中使用(input_dim 應等於詞彙表大小 + 1)。
  • **kwargs:傳遞給 keras.layers.Layer 的其他關鍵字參數,包括 nametrainabledtype 等。

範例

inputs = np.ones(shape=(1, 50), dtype="int32")
embedding_layer = keras_hub.layers.TokenAndPositionEmbedding(
    vocabulary_size=10_000,
    sequence_length=50,
    embedding_dim=128,
)
outputs = embedding_layer(inputs)