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) 嵌入和位置嵌入相加的層。

詞元嵌入和位置嵌入是表示句子中單字及其順序的方法。此層會建立一個 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 的其他關鍵字參數,包括 `name`、`trainable`、`dtype` 等。

範例

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)