RotaryEmbedding
類別keras_hub.layers.RotaryEmbedding(
max_wavelength=10000, scaling_factor=1.0, sequence_axis=1, feature_axis=-1, **kwargs
)
旋轉位置編碼層。
此層使用旋轉矩陣編碼絕對位置資訊。它使用幾何級數增加波長的正弦和餘弦函數混合計算旋轉編碼。定義和公式化於 RoFormer:使用旋轉位置嵌入增強的 Transformer 中。輸入必須是具有序列維度和特徵維度的張量。通常,這將是形狀為 (batch_size, sequence_length, feature_length)
或 (batch_size, sequence_length, num_heads, feature_length)
的輸入。此層將返回一個新張量,其中旋轉嵌入已應用於輸入張量。
引數
keras.layers.Layer
的其他關鍵字引數,包括 name
、trainable
、dtype
等。呼叫引數
inputs
並返回。範例
batch_size = 16
feature_length = 18
sequence_length = 256
num_heads = 8
# No multi-head dimension.
tensor = np.ones((batch_size, sequence_length, feature_length))
rot_emb_layer = RotaryEmbedding()
tensor_rot = rot_emb_layer(tensor)
# With multi-head dimension.
tensor = np.ones((batch_size, sequence_length, num_heads, feature_length))
tensor_rot = rot_emb_layer(tensor)
參考文獻