tfr.keras.losses.PrecisionLambdaWeight

Keras serializable class for Precision.

topn (int) The K in Precision@K metric.
positive_fn (function): A function on Tensor that output boolean True for positive examples. The rest are negative examples.

Methods

get_config

View source

individual_weights

View source

Returns the weight Tensor for individual examples.

Args
labels A dense Tensor of labels with shape [batch_size, list_size].
ranks A dense Tensor of ranks with the same shape as labels that are sorted by logits.

Returns
A Tensor that can weight individual examples.

pair_weights

View source

See _LambdaWeight.

The current implementation here is that for any pairs of documents i and j, we set the weight to be 1 if

  • i and j have different labels.
  • i <= topn and j > topn or i > topn and j <= topn. This is exactly the same as the original LambdaRank method. The weight is the gain of swapping a pair of documents.

Args
labels A dense Tensor of labels with shape [batch_size, list_size].
ranks A dense Tensor of ranks with the same shape as labels that are sorted by logits.

Returns
A Tensor that can weight example pairs.