merlin.models.tf.ItemRetrievalTask
-
class
merlin.models.tf.ItemRetrievalTask(*args, **kwargs)[source] Bases:
merlin.models.tf.prediction_tasks.classification.MultiClassClassificationTaskPrediction-task for item-retrieval.
- Parameters
schema (Schema) – The schema object including features to use and their properties.
loss (Optional[LossType]) – Loss function. Defaults to categorical_crossentropy.
metrics (MetricOrMetrics) – List of top-k ranking metrics. Defaults to a number of ranking metrics.
samplers (List[ItemSampler]) – List of samplers for negative sampling, by default [InBatchSampler()]
extra_pre_call (Optional[PredictionBlock]) – Optional extra pre-call block. Defaults to None.
target_name (Optional[str]) – If specified, name of the target tensor to retrieve from dataloader. Defaults to None.
task_name (Optional[str]) – name of the task. Defaults to None.
task_block (Block) – The Block that applies additional layers op to inputs. Defaults to None.
logits_temperature (float) – Parameter used to reduce the model overconfidence, so that logits / T. Defaults to 1.
normalize (bool) – Apply L2 normalization before computing dot interactions. Defaults to True.
- Returns
The item retrieval prediction task
- Return type
-
__init__(schema: merlin.schema.schema.Schema, loss: Optional[Union[str, keras.losses.Loss]] = 'categorical_crossentropy', metrics: Union[Sequence[Union[keras.metrics.base_metric.Metric, Type[keras.metrics.base_metric.Metric]]], keras.metrics.base_metric.Metric, Type[keras.metrics.base_metric.Metric]] = [RecallAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), MRRAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), NDCGAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), AvgPrecisionAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), PrecisionAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() )], samplers: Sequence[merlin.models.tf.blocks.sampling.base.ItemSampler] = (), target_name: Optional[str] = None, task_name: Optional[str] = None, task_block: Optional[tensorflow.python.keras.legacy_tf_layers.base.Layer] = None, extra_pre_call: Optional[merlin.models.tf.blocks.core.base.Block] = None, logits_temperature: float = 1.0, normalize: bool = True, cache_query: bool = False, **kwargs)[source]
Methods
__init__(schema[, loss, metrics, samplers, …])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.
attach_metrics_calculation_to_loss(outputs, …)build(input_shape)Creates the variables of the layer (optional, for subclass implementers).
build_task(input_shape, schema, body, **kwargs)calculate_metrics(outputs[, sample_weight, …])Method to compute the metrics.
call(inputs[, training])child_name(name)compute_loss(predictions, targets[, …])Method to compute the loss and metrics during training/evaluation.
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)from_schema(schema[, feature_name, loss, …])Create 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_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_weights()Returns the current weights of the layer, as NumPy arrays.
metric_result_dict([mode])metric_results([mode])pre_call(inputs, **kwargs)Apply PredictionTask to inputs to get predictions scores
pre_loss(outputs, **kwargs)Apply call_outputs method of pre block to transform predictions and targets before computing loss and metrics.
repr_add()reset_metrics()set_retrieval_cache_query(value)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
activity_regularizerOptional regularizer function for the output of this layer.
compute_dtypeThe dtype of the layer’s computations.
contextdtypeThe 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 added using the add_metric() API.
nameName of the layer (string), set in the constructor.
name_scopeReturns a tf.name_scope instance for this class.
non_trainable_variablesnon_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.
pre_eval_topkstatefulsubmodulesSequence of all sub-modules.
supports_maskingWhether this layer supports computing a mask using compute_mask.
task_nametrainabletrainable_variablestrainable_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.
-
DEFAULT_LOSS= 'categorical_crossentropy'
-
DEFAULT_METRICS: Union[Sequence[Union[keras.metrics.base_metric.Metric, Type[keras.metrics.base_metric.Metric]]], keras.metrics.base_metric.Metric, Type[keras.metrics.base_metric.Metric]] = [RecallAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), MRRAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), NDCGAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), AvgPrecisionAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() ), PrecisionAt( (total): <tf.Variable 'total:0' shape=() dtype=float32, numpy=0.0> (count): <tf.Variable 'count:0' shape=() dtype=float32, numpy=0.0> (_fn_kwargs): Dict() )]
-
property
retrieval_scorer