merlin.models.tf.ParallelPredictionBlock

class merlin.models.tf.ParallelPredictionBlock(*args, **kwargs)[source]

Bases: merlin.models.tf.blocks.core.combinators.ParallelBlock, merlin.models.tf.utils.mixins.LossMixin, merlin.models.tf.utils.mixins.MetricsMixin

Multi-task prediction block.

Parameters
  • prediction_tasks (*PredictionTask) – List of tasks to be used for prediction.

  • task_blocks (Optional[Union[Layer, Dict[str, Layer]]]) – Task blocks to be used for prediction.

  • task_weights (Optional[List[float]]) – Weights for each task.

  • bias_block (Optional[Layer]) – Bias block to be used for prediction.

  • loss_reduction (Callable) – Reduction function for loss.

__init__(*prediction_tasks: merlin.models.tf.prediction_tasks.base.PredictionTask, task_blocks: Optional[Union[keras.engine.base_layer.Layer, Dict[str, keras.engine.base_layer.Layer]]] = None, task_weights: Optional[List[float]] = None, bias_block: Optional[keras.engine.base_layer.Layer] = None, loss_reduction=<function reduce_mean>, pre: Optional[Union[merlin.models.tf.blocks.core.base.Block, str, Sequence[str]]] = None, post: Optional[Union[merlin.models.tf.blocks.core.base.Block, str, Sequence[str]]] = None, **kwargs)[source]

Methods

__init__(*prediction_tasks[, task_blocks, …])

add_branch(name, block)

add_loss(losses, **kwargs)

Add loss tensor(s), potentially dependent on layer inputs.

add_metric(value[, name])

Adds metric tensor to the layer.

add_task(task[, task_weight])

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.

apply_to_all(inputs[, columns_to_filter])

apply_to_branch(branch_name, *block)

as_tabular([name])

build(input_shape)

calculate_batch_size_from_input_shapes(…)

calculate_metrics(outputs[, mode, forward, …])

Calculate metrics on a batch of data, each metric is stateful and this updates the state.

call(inputs[, training, bias_outputs])

call_outputs(outputs[, training])

check_schema([schema])

compute_call_output_shape(input_shape)

compute_loss(inputs, targets[, training])

compute_mask(inputs[, mask])

Computes an output mask tensor.

compute_output_shape(input_shapes)

compute_output_signature(input_signature)

Compute the output tensor signature of the layer based on the inputs.

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, **kwargs)

from_features(features[, pre, post, …])

Initializes a TabularLayer instance where the contents of features will be filtered out

from_layer(layer)

from_schema(schema[, task_blocks, …])

Built Multi-task prediction Block from schema

get_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_tasks_from_schema(schema[, task_weight_dict])

get_weights()

Returns the current weights of the layer, as NumPy arrays.

metric_result_dict([mode])

metric_results([mode])

parse(*block)

parse_block(input)

parse_config(config[, custom_objects])

pop_labels(inputs)

post_call(inputs[, transformations, …])

Method that’s typically called after the forward method for post-processing.

pre_call(inputs[, transformations])

Method that’s typically called before the forward method for pre-processing.

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.

repr_add()

repr_extra()

repr_ignore()

reset_metrics()

select_by_name(name)

Select a parallel block by name

set_aggregation(value)

param value

set_post(value)

set_pre(value)

set_schema([schema])

set_weights(weights)

Sets the weights of the layer, from NumPy arrays.

super()

task_names_from_schema(schema)

to_model(schema[, input_block, prediction_tasks])

Wrap the block between inputs & outputs to create a model.

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.

aggregation

returns: :rtype: TabularAggregation, optional

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.

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.

is_input

is_tabular

losses

List of losses added using the add_loss() API.

metrics

name

Name of the layer (string), set in the constructor.

name_scope

Returns a tf.name_scope instance for this class.

non_trainable_variables

non_trainable_weights

List of all non-trainable weights tracked by this layer.

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.

parallel_dict

parallel_values

post

returns: :rtype: SequentialTabularTransformations, optional

pre

returns: :rtype: SequentialTabularTransformations, optional

registry

schema

stateful

submodules

Sequence of all sub-modules.

supports_masking

Whether this layer supports computing a mask using compute_mask.

task_blocks

task_names

trainable

trainable_variables

trainable_weights

List of all trainable weights tracked by this layer.

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.

classmethod get_tasks_from_schema(schema, task_weight_dict=None)[source]
classmethod from_schema(schema: merlin.schema.schema.Schema, task_blocks: Optional[Union[keras.engine.base_layer.Layer, Dict[str, keras.engine.base_layer.Layer]]] = None, task_weight_dict: Optional[Dict[str, float]] = None, bias_block: Optional[keras.engine.base_layer.Layer] = None, loss_reduction=<function reduce_mean>, **kwargs)merlin.models.tf.prediction_tasks.base.ParallelPredictionBlock[source]

Built Multi-task prediction Block from schema

Parameters
  • schema (Schema) – The Schema with the input features

  • task_blocks (Optional[Union[Layer, Dict[str, Layer]]], optional) – Task blocks to be used for prediction, by default None

  • task_weight_dict (Optional[Dict[str, float]], optional) – Weights for each task, by default None

  • bias_block (Optional[Layer], optional) – Bias block to be used for prediction, by default None

  • loss_reduction (_type_, optional) – Reduction function for loss, by default tf.reduce_mean

classmethod task_names_from_schema(schema: merlin.schema.schema.Schema)List[str][source]
add_task(task: merlin.models.tf.prediction_tasks.base.PredictionTask, task_weight=1)[source]
pop_labels(inputs: Dict[str, tensorflow.python.framework.ops.Tensor])[source]
call(inputs: Union[Dict[str, tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor], training: bool = False, bias_outputs=None, **kwargs)[source]
compute_call_output_shape(input_shape)[source]
compute_loss(inputs: Union[tensorflow.python.framework.ops.Tensor, Dict[str, tensorflow.python.framework.ops.Tensor]], targets, training=False, **kwargs)tensorflow.python.framework.ops.Tensor[source]
metric_results(mode=None)[source]
metric_result_dict(mode=None)[source]
reset_metrics()[source]
property task_blocks
property task_names
property metrics
repr_ignore()List[str][source]
classmethod from_config(config, **kwargs)[source]
get_config()[source]
parallel_layers: Union[List[TabularBlock], Dict[str, TabularBlock]]