Embedding
類別keras.layers.Embedding(
input_dim,
output_dim,
embeddings_initializer="uniform",
embeddings_regularizer=None,
embeddings_constraint=None,
mask_zero=False,
weights=None,
lora_rank=None,
**kwargs
)
將非負整數(索引)轉換為固定大小的密集向量。
例如,[[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]
此層只能用於固定範圍的非負整數輸入。
範例
>>> model = keras.Sequential()
>>> model.add(keras.layers.Embedding(1000, 64))
>>> # The model will take as input an integer matrix of size (batch,
>>> # input_length), and the largest integer (i.e. word index) in the input
>>> # should be no larger than 999 (vocabulary size).
>>> # Now model.output_shape is (None, 10, 64), where `None` is the batch
>>> # dimension.
>>> input_array = np.random.randint(1000, size=(32, 10))
>>> model.compile('rmsprop', 'mse')
>>> output_array = model.predict(input_array)
>>> print(output_array.shape)
(32, 10, 64)
參數
embeddings
矩陣的初始化器(請參閱 keras.initializers
)。embeddings
矩陣的正規化函數(請參閱 keras.regularizers
)。embeddings
矩陣的約束函數(請參閱 keras.constraints
)。True
,則模型中的所有後續層都需要支援遮罩,否則會引發例外。如果 mask_zero
設定為 True
,則詞彙表中不能使用索引 0(input_dim
應等於詞彙表大小 + 1)。(input_dim, output_dim)
。要使用的初始嵌入值。layer.enable_lora(rank)
在現有的 Embedding
層上啟用 LoRA。輸入形狀
形狀為 (batch_size, input_length)
的 2D 張量。
輸出形狀
形狀為 (batch_size, input_length, output_dim)
的 3D 張量。