Releases: tensorflow/recommenders
v0.7.3
Changed
- The
Retrievaltask now accepts a list of factorized metrics instead of a
single optional metric.
Added
tfrs.experimental.optimizers.ClippyAdagrad: a new optimizer based on
tf.keras.optimizers.Adagradthat is able to improve training stability.tfrs.metrics.FactorizedTopKnow accepts sample weights which are used to
compute weighted top k metrics.
v0.7.2
- Improved support for using TPUEmbedding under parameter server strategy.
v0.7.1
Release fixes.
v0.7.0
[0.7.0][2022-07-07]
A number of changes to make factorized top-K metric computation more accurate
and less prone to user error.
Changed
-
tfrs.layers.embedding.TPUEmbeddingnow supports input features with
dynamic shape.batch_sizeargument is deprecated and no longer required. -
tfrs.layers.embedding.TPUEmbeddingnow supports running on different
versions of TPU. -
Pinned TensorFlow to >= 2.9.0 which works with Scann 1.2.7.
-
tfrs.tasks.Ranking.callnow accepts acompute_batch_metricsargument to
allow switching off batch metric computation. Following this change,
'compute_metrics'argument does not impact computation of batch metrics.
Breaking changes
tfrs.metrics.FactorizedTopKrequires the candidate ids for positive
candidates to be supplied when using approximate top-K sources. Each top-K
layer now has anexactmethod to broadcast its ability to return exact or
approximate top-K results.- Removed
metricsconstructor parameter fortfrs.metrics.FactorizedTopK.
FactorizedTopKonly makes sense with top-k metrics, and this change
enforces this. - Replaced the
kconstructor argument intfrs.metrics.FactorizedTopKwith
ks: a list ofkvalues at which to compute the top k metric.
Changed
- The
tfrs.metrics.FactorizedTopKmetric can now compute candidate-id based
metrics when given thetrue_candidate_idsargument in itscallmethod.
Added
- The
Retrievaltask now also accepts aloss_metricsargument.
v0.6.0
Changed
- Pinned TensorFlow to >= 2.6.0, which works with Scann 1.2.3.
Breaking changes
TopKlayer indexing API changed. Indexing with datasets is now done via
theindex_from_datasetmethod. This change reduces the possibility of
misaligning embeddings and candidate identifiers when indexing via
indeterministic datasets.
v0.5.2
Fixed
- Fixed error in default arguments to
tfrs.experimental.models.Ranking
(#311). - Fix TPUEmbedding layer to use named parameters.
Added
- Added
batch_metricstotfrs.tasks.Retrievalfor measuring how good the
model is at picking out the true candidate for a query from other candidates
in the batch. - Added
tfrs.experimental.layers.embedding.PartialTPUEmbeddinglayer, which
usestfrs.layers.embedding.TPUEmbeddingfor large embedding lookups and
tf.keras.layers.Embeddingfor smaller embedding lookups.
v0.5.1
v0.5.0
Added
tfrs.experimental.models.Ranking, an experimental pre-built model for
ranking tasks. Can be used as DLRM like model with Dot Product feature
interaction or DCN like model with Cross layer.
Changed
- Fixed the bug in
tfrs.layers.loss.SamplingProbablityCorrectionthat logits
should subtract the log of item probability. tfrs.experimental.optimizers.CompositeOptimizer: an optimizer that
composes multiple individual optimizers which can be applied to different
subsets of the model's variables.tfrs.layers.dcn.CrossandDotInteractionlayers have been moved to
tfrs.layers.feature_interactionpackage.
v0.4.0
Added
TopKlayers now come with aquery_with_exclusionsmethod, allowing
certain candidates to be excluded from top-k retrieval.TPUEmbeddingKeras layer for accelerating embedding lookups for large
tables with TPU.
Changed
-
factorized_top_k.Streaminglayer now accepts a query model, like other
factorized_top_klayers. -
Updated ScaNN to 1.2.0, which requires TensorFlow 2.4.x. When not using
ScaNN, any TF >= 2.3 is still supported.
v0.3.2
Changed
- Pinned TensorFlow to >= 2.3 when ScaNN is not being installed. When ScaNN is
being installed, we pin on >= 2.3, < 2.4. This allows users to use TFRS on
TF 2.4 when they are not using ScaNN.