fusionlab.nn.components.DynamicTimeWindow¶
- class fusionlab.nn.components.DynamicTimeWindow[source]¶
Bases:
Layer,NNLearnerDynamicTimeWindow layer that slices the last max_window_size steps from the input sequence.
This helps in focusing on the most recent time steps if the sequence is longer than max_window_size.
\[\mathbf{Z} = \mathbf{X}[:, -W:, :]\]where W = max_window_size.
- Parameters:
max_window_size (
int) – Number of time steps to keep from the end of the sequence.
Notes
This can be used for models that only need the last few time steps instead of the entire sequence.
Examples
>>> from fusionlab.nn.components import DynamicTimeWindow >>> import tensorflow as tf >>> x = tf.random.normal((32, 50, 64)) >>> # Keep last 10 time steps >>> dtw = DynamicTimeWindow(max_window_size=10) >>> y = dtw(x) >>> y.shape TensorShape([32, 10, 64])
See also
MultiResolutionAttentionFusionAnother layer that can be used after slicing to fuse temporal features.
References
- __init__(max_window_size)[source]¶
Initialize the DynamicTimeWindow layer.
- Parameters:
max_window_size (
int) – Number of steps to slice from the end of the sequence.
Methods
__init__(max_window_size)Initialize the DynamicTimeWindow layer.
add_loss(losses, **kwargs)Add loss tensor(s), potentially dependent on layer inputs.
add_metric(value[, name])Adds metric tensor to the layer.
add_update(updates)Add update op(s), potentially dependent on layer inputs.
add_variable(*args, **kwargs)Deprecated, do NOT use! Alias for add_weight.
add_weight([name, shape, dtype, ...])Adds a new variable to the layer.
build(input_shape)Creates the variables of the layer (for subclass implementers).
build_from_config(config)Builds the layer's states with the supplied config dict.
call(inputs[, training])Forward pass that slices the last max_window_size steps.
compute_mask(inputs[, mask])Computes an output mask tensor.
compute_output_shape(input_shape)Computes the output shape of the layer.
compute_output_signature(input_signature)Compute the output tensor signature of the layer based on the inputs.
count_params()Count the total number of scalars composing the weights.
finalize_state()Finalizes the layers state after updating layer weights.
from_config(config)Creates a new DynamicTimeWindow layer from config.
get_build_config()Returns a dictionary with the layer's input shape.
Returns configuration dictionary.
get_input_at(node_index)Retrieves the input tensor(s) of a layer at a given node.
get_input_mask_at(node_index)Retrieves the input mask tensor(s) of a layer at a given node.
get_input_shape_at(node_index)Retrieves the input shape(s) of a layer at a given node.
get_output_at(node_index)Retrieves the output tensor(s) of a layer at a given node.
get_output_mask_at(node_index)Retrieves the output mask tensor(s) of a layer at a given node.
get_output_shape_at(node_index)Retrieves the output shape(s) of a layer at a given node.
get_params([deep])Get the parameters for this learner.
get_weights()Returns the current weights of the layer, as NumPy arrays.
help(**kwargs)load(file_path[, format])Load the learner's state from a specified file in the desired format.
load_own_variables(store)Loads the state of the layer.
save([file_path, format, overwrite, ...])Save the learner's state to a specified file in the desired format.
save_own_variables(store)Saves the state of the layer.
set_params(**params)Set the parameters of this learner.
set_weights(weights)Sets the weights of the layer, from NumPy arrays.
summary()Provide a summary of the learner's parameters.
with_name_scope(method)Decorator to automatically enter the module name scope.
Attributes
activity_regularizerOptional regularizer function for the output of this layer.
compute_dtypeThe dtype of the layer's computations.
dtypeThe dtype of the layer weights.
dtype_policyThe dtype policy associated with this layer.
dynamicWhether the layer is dynamic (eager-only); set in the constructor.
inbound_nodesReturn Functional API nodes upstream of this layer.
inputRetrieves the input tensor(s) of a layer.
input_maskRetrieves the input mask tensor(s) of a layer.
input_shapeRetrieves the input shape(s) of a layer.
input_specInputSpec instance(s) describing the input format for this layer.
lossesList of losses added using the add_loss() API.
metricsList of metrics attached to the layer.
nameName of the layer (string), set in the constructor.
name_scopeReturns a tf.name_scope instance for this class.
non_trainable_variablesSequence of non-trainable variables owned by this module and its submodules.
non_trainable_weightsList of all non-trainable weights tracked by this layer.
outbound_nodesReturn Functional API nodes downstream of this layer.
outputRetrieves the output tensor(s) of a layer.
output_maskRetrieves the output mask tensor(s) of a layer.
output_shapeRetrieves the output shape(s) of a layer.
statefulsubmodulesSequence of all sub-modules.
supports_maskingWhether this layer supports computing a mask using compute_mask.
trainabletrainable_variablesSequence of trainable variables owned by this module and its submodules.
trainable_weightsList of all trainable weights tracked by this layer.
updatesvariable_dtypeAlias of Layer.dtype, the dtype of the weights.
variablesReturns the list of all layer variables/weights.
weightsReturns the list of all layer variables/weights.
- __init__(max_window_size)[source]¶
Initialize the DynamicTimeWindow layer.
- Parameters:
max_window_size (
int) – Number of steps to slice from the end of the sequence.
- call(inputs, training=False)[source]¶
Forward pass that slices the last max_window_size steps.
- Parameters:
inputs (
tf.Tensor) – Tensor of shape \((B, T, D)\).training (
bool, optional) – Unused. Defaults toFalse.
- Returns:
A sliced tensor of shape \((B, W, D)\) where W = max_window_size.
- Return type:
tf.Tensor
- get_config()[source]¶
Returns configuration dictionary.
- Returns:
Contains ‘max_window_size’.
- Return type:
dict
- classmethod from_config(config)[source]¶
Creates a new DynamicTimeWindow layer from config.
- Parameters:
config (
dict) – Must include ‘max_window_size’.- Returns:
A new instance of this layer.
- Return type:
- help(**kwargs)¶
- my_params = DynamicTimeWindow(max_window_size)¶