RelativePositionEmbedding#
- class tfts.layers.position_layer.RelativePositionEmbedding(*args, **kwargs)[source]#
Bases:
LayerRelative position embedding layer that adds relative positional information.
This layer implements relative position embeddings as described in the paper “Self-Attention with Relative Position Representations” (Shaw et al., 2018). It learns embeddings for relative positions between query and key positions.
- Parameters:
max_len (int, optional) – Maximum sequence length. Defaults to 512.
output_dim (int, optional) – Output embedding dimension. Defaults to 512.
name (str, optional) – Layer name. Defaults to None.
- Input shape:
- Tuple of two tensors:
Query tensor of shape (batch_size, query_length, embedding_dim)
Value tensor of shape (batch_size, value_length, embedding_dim)
- Output shape:
Tensor of shape (batch_size, query_length, value_length, output_dim)
- Inherited-members:
Methods
add_loss(loss)Can be called inside of the call() method to add a scalar loss.
add_metric(*args, **kwargs)add_variable(shape, initializer[, dtype, ...])Add a weight variable to the layer.
add_weight([shape, initializer, dtype, ...])Add a weight variable to the layer.
build(input_shape)Build the layer by creating the embedding weights.
build_from_config(config)Builds the layer's states with the supplied config dict.
call(inputs)Applies relative position embeddings to the input tensors.
compute_mask(inputs, previous_mask)compute_output_shape(input_shape)compute_output_spec(*args, **kwargs)count_params()Count the total number of scalars composing the weights.
from_config(config)Creates an operation from its config.
get_build_config()Returns a dictionary with the layer's input shape.
Get layer configuration.
get_weights()Return the values of layer.weights as a list of NumPy arrays.
load_own_variables(store)Loads the state of the layer.
quantize(mode[, type_check])quantized_build(input_shape, mode)quantized_call(*args, **kwargs)rematerialized_call(layer_call, *args, **kwargs)Enable rematerialization dynamically for layer's call method.
save_own_variables(store)Saves the state of the layer.
set_weights(weights)Sets the values of layer.weights from a list of NumPy arrays.
stateless_call(trainable_variables, ...[, ...])Call the layer without any side effects.
symbolic_call(*args, **kwargs)Attributes
compute_dtypeThe dtype of the computations performed by the layer.
dtypeAlias of layer.variable_dtype.
dtype_policyinputRetrieves the input tensor(s) of a symbolic operation.
input_dtypeThe dtype layer inputs should be converted to.
input_speclossesList of scalar losses from add_loss, regularizers and sublayers.
metricsList of all metrics.
metrics_variablesList of all metric variables.
non_trainable_variablesList of all non-trainable layer state.
non_trainable_weightsList of all non-trainable weight variables of the layer.
outputRetrieves the output tensor(s) of a layer.
pathThe path of the layer.
quantization_modeThe quantization mode of this layer, None if not quantized.
supports_maskingWhether this layer supports computing a mask using compute_mask.
trainableSettable boolean, whether this layer should be trainable or not.
trainable_variablesList of all trainable layer state.
trainable_weightsList of all trainable weight variables of the layer.
variable_dtypeThe dtype of the state (weights) of the layer.
variablesList of all layer state, including random seeds.
weightsList of all weight variables of the layer.
- build(input_shape: Tuple[Tuple[int | None, ...], Tuple[int | None, ...]]) None[source]#
Build the layer by creating the embedding weights.
- Parameters:
input_shape – Shape of the input tensors
- call(inputs: Tuple[Tensor, Tensor]) Tensor[source]#
Applies relative position embeddings to the input tensors.
- Parameters:
inputs – Tuple of (query_tensor, value_tensor) where: - query_tensor: Shape (batch_size, query_length, embedding_dim) - value_tensor: Shape (batch_size, value_length, embedding_dim)
- Returns:
Tensor of shape (batch_size, query_length, value_length, output_dim) containing relative position embeddings.