merlin.models.tf.SequentialBlock#
- class merlin.models.tf.SequentialBlock(*args, **kwargs)[source]#
Bases:
merlin.models.tf.core.base.Block
The SequentialLayer represents a sequence of Keras layers. It is a Keras Layer that can be used instead of tf.keras.layers.Sequential, which is actually a Keras Model. In contrast to keras Sequential, this layer can be used as a pure Layer in tf.functions and when exporting SavedModels, without having to pre-declare input and output shapes. In turn, this layer is usable as a preprocessing layer for TF Agents Networks, and can be exported via PolicySaver. Usage:
c = SequentialLayer([layer1, layer2, layer3]) output = c(inputs) # Equivalent to: output = layer3(layer2(layer1(inputs)))
- __init__(*layers, filter: Optional[Union[merlin.schema.schema.Schema, merlin.schema.tags.Tags, List[str], merlin.models.tf.core.tabular.Filter]] = None, pre_aggregation: Optional[Union[str, merlin.models.tf.core.tabular.TabularAggregation]] = None, block_name: Optional[str] = None, copy_layers: bool = False, **kwargs)[source]#
Create a sequential composition.
- Parameters
layers – A list or tuple of layers to compose.
**kwargs – Arguments to pass to Keras layer initializer, including name.
- Raises
TypeError: – If any of the layers are not instances of keras Layer.
Methods
__init__
(*layers[, filter, pre_aggregation, ...])Create a sequential composition.
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.
as_tabular
([name])build
([input_shape])Builds the sequential block
build_from_config
(config)call
(inputs[, training])call_outputs
(outputs[, training])check_schema
([schema])compute_loss
(inputs, targets, **kwargs)compute_mask
(inputs[, mask])Computes an output mask tensor.
compute_output_shape
(input_shape)Computes the output shape based on the input shape
compute_output_signature
(input_signature)connect
(*block[, block_name, context])Connect the block to other blocks sequentially.
connect_branch
(*branches[, add_rest, post, ...])Connect the block to one or multiple branches.
connect_debug_block
([append])Connect the block to a debug block.
connect_with_residual
(block[, activation])Connect the block to other blocks sequentially with a residual connection.
connect_with_shortcut
(block[, ...])Connect the block to other blocks sequentially with a shortcut connection.
copy
()count_params
()Count the total number of scalars composing the weights.
finalize_state
()Finalizes the layers state after updating layer weights.
from_config
(config[, custom_objects])from_layer
(layer)get_build_config
()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_item_ids_from_inputs
(inputs)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_padding_mask_from_item_id
(inputs[, ...])get_weights
()Returns the current weights of the layer, as NumPy arrays.
parse
(*block)parse_block
(input)prepare
([block, post, aggregation])Transform the inputs of this block.
register_features
(feature_shapes)repeat
([num])Repeat the block num times.
repeat_in_parallel
([num, prefix, names, ...])Repeat the block num times in parallel.
select_by_name
(name)select_by_tag
(tags)set_schema
([schema])set_weights
(weights)Sets the weights of the layer, from NumPy arrays.
with_name_scope
(method)Decorator to automatically enter the module name scope.
Attributes
REQUIRES_SCHEMA
activity_regularizer
Optional regularizer function for the output of this layer.
compute_dtype
The dtype of the layer's computations.
context
dtype
The dtype of the layer weights.
dtype_policy
The dtype policy associated with this layer.
dynamic
Whether the layer is dynamic (eager-only); set in the constructor.
Returns the first block in the SequenceBlock
has_schema
inbound_nodes
Return Functional API nodes upstream of this layer.
input
Retrieves the input tensor(s) of a layer.
input_mask
Retrieves the input mask tensor(s) of a layer.
input_shape
Retrieves the input shape(s) of a layer.
input_spec
InputSpec instance(s) describing the input format for this layer.
Returns the InputBlock, if it is the first block within SequenceBlock
Returns the last block in the SequenceBlock
metrics
List of metrics added using the add_metric() API.
name
Name of the layer (string), set in the constructor.
name_scope
Returns a tf.name_scope instance for this class.
non_trainable_variables
Returns non-trainable weights of all layers of this block
outbound_nodes
Return Functional API nodes downstream of this layer.
output
Retrieves the output tensor(s) of a layer.
output_mask
Retrieves the output mask tensor(s) of a layer.
output_shape
Retrieves the output shape(s) of a layer.
registry
schema
stateful
submodules
Sequence of all sub-modules.
supports_masking
Whether this layer supports computing a mask using compute_mask.
Returns whether all layer within SequentialBlock are trainable
trainable_variables
Returns trainable weights of all layers of this block
updates
variable_dtype
Alias of Layer.dtype, the dtype of the weights.
variables
Returns the list of all layer variables/weights.
weights
Returns the list of all layer variables/weights.
- compute_output_shape(input_shape)[source]#
Computes the output shape based on the input shape
- Parameters
input_shape (tf.TensorShape) – The input shape
- Returns
The output shape
- Return type
tf.TensorShape
- build(input_shape=None)[source]#
Builds the sequential block
- Parameters
input_shape (tf.TensorShape, optional) – The input shape, by default None
- property inputs#
Returns the InputBlock, if it is the first block within SequenceBlock
- Returns
The input block
- Return type
InputBlock
- property first#
Returns the first block in the SequenceBlock
- Returns
The first block of SequenceBlock
- Return type
Block
- property last#
Returns the last block in the SequenceBlock
- Returns
The last block of SequenceBlock
- Return type
Block
- property trainable_weights#
Returns trainable weights of all layers of this block
- Returns
List with trainable weights
- Return type
List
- property non_trainable_weights#
Returns non-trainable weights of all layers of this block
- Returns
List with non-trainable weights
- Return type
List
- property trainable#
Returns whether all layer within SequentialBlock are trainable
- Returns
True if any layer within SequentialBlock are trainable, otherwise False
- Return type
- property losses#
- property regularizers#
- call_outputs(outputs: merlin.models.tf.core.base.PredictionOutput, training=False, **kwargs) merlin.models.tf.core.base.PredictionOutput [source]#
- property is_tabular#