fusionlab.nn.components.DynamicTimeWindow

class fusionlab.nn.components.DynamicTimeWindow[source]

Bases: Layer, NNLearner

DynamicTimeWindow 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.

call(`inputs`, training=False)[source]

Slice the last max_window_size steps.

get_config()[source]

Returns configuration dictionary.

from_config(`config`)[source]

Recreates the layer from config.

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

MultiResolutionAttentionFusion

Another 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(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_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, previous_mask)

compute_output_shape(*args, **kwargs)

compute_output_spec(*args, **kwargs)

count_params()

Count the total number of scalars composing the weights.

from_config(config)

Creates a new DynamicTimeWindow layer from config.

get_build_config()

Returns a dictionary with the layer's input shape.

get_config()

Returns configuration dictionary.

get_params([deep])

Get the parameters for this learner.

get_weights()

Return the values of layer.weights as a list of 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.

quantize(mode[, type_check, config])

quantized_build(input_shape, mode)

quantized_call(*args, **kwargs)

rematerialized_call(layer_call, *args, **kwargs)

Enable rematerialization dynamically for layer's call method.

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 values of layer.weights from a list of NumPy arrays.

stateless_call(trainable_variables, ...[, ...])

Call the layer without any side effects.

summary()

Provide a summary of the learner's parameters.

symbolic_call(*args, **kwargs)

Attributes

compute_dtype

The dtype of the computations performed by the layer.

dtype

Alias of layer.variable_dtype.

dtype_policy

input

Retrieves the input tensor(s) of a symbolic operation.

input_dtype

The dtype layer inputs should be converted to.

input_spec

losses

List of scalar losses from add_loss, regularizers and sublayers.

metrics

List of all metrics.

metrics_variables

List of all metric variables.

my_params

non_trainable_variables

List of all non-trainable layer state.

non_trainable_weights

List of all non-trainable weight variables of the layer.

output

Retrieves the output tensor(s) of a layer.

path

The path of the layer.

quantization_mode

The quantization mode of this layer, None if not quantized.

supports_masking

Whether this layer supports computing a mask using compute_mask.

trainable

Settable boolean, whether this layer should be trainable or not.

trainable_variables

List of all trainable layer state.

trainable_weights

List of all trainable weight variables of the layer.

variable_dtype

The dtype of the state (weights) of the layer.

variables

List of all layer state, including random seeds.

weights

List of all weight variables of the layer.

__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 to False.

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:

DynamicTimeWindow

help(**kwargs)
my_params = DynamicTimeWindow(max_window_size)