A number of changes to make factorized top-K metric computation more accurate
and less prone to user error.
Changed
- `tfrs.layers.embedding.TPUEmbedding` now supports input features with
dynamic shape. `batch_size` argument is deprecated and no longer required.
- `tfrs.layers.embedding.TPUEmbedding` now supports running on different
versions of TPU.
- Pinned TensorFlow to >= 2.9.0 which works with Scann 1.2.7.
- `tfrs.tasks.Ranking.call` now accepts a `compute_batch_metrics` argument to
allow switching off batch metric computation. Following this change,
'compute_metrics'argument does not impact computation of batch metrics.
Breaking changes
- `tfrs.metrics.FactorizedTopK` requires the candidate ids for positive
candidates to be supplied when using approximate top-K sources. Each top-K
layer now has an `exact` method to broadcast its ability to return exact or
approximate top-K results.
- Removed `metrics` constructor parameter for `tfrs.metrics.FactorizedTopK`.
`FactorizedTopK` only makes sense with top-k metrics, and this change
enforces this.
- Replaced the `k` constructor argument in `tfrs.metrics.FactorizedTopK` with
`ks`: a list of `k` values at which to compute the top k metric.
Changed
- The `tfrs.metrics.FactorizedTopK` metric can now compute candidate-id based
metrics when given the `true_candidate_ids` argument in its `call` method.
Added
- The `Retrieval` task now also accepts a `loss_metrics` argument.