KerasHub:預訓練模型 / API 文件 / 模型層 / TokenAndPositionEmbedding 層

TokenAndPositionEmbedding 層

[原始碼]

TokenAndPositionEmbedding 類別

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

一個將詞元 (token) 和位置嵌入 (position embedding) 相加的層。

詞元和位置嵌入是用於表示詞語及其在句子中順序的方法。此層創建一個 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)