Releases: tensorflow/recommenders
v0.7.3
Changed
- The
Retrieval
task 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.Adagrad
that is able to improve training stability.tfrs.metrics.FactorizedTopK
now 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.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 acompute_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 anexact
method to broadcast its ability to return exact or
approximate top-K results.- Removed
metrics
constructor parameter fortfrs.metrics.FactorizedTopK
.
FactorizedTopK
only makes sense with top-k metrics, and this change
enforces this. - Replaced the
k
constructor argument intfrs.metrics.FactorizedTopK
with
ks
: a list ofk
values at which to compute the top k metric.
Changed
- The
tfrs.metrics.FactorizedTopK
metric can now compute candidate-id based
metrics when given thetrue_candidate_ids
argument in itscall
method.
Added
- The
Retrieval
task now also accepts aloss_metrics
argument.
v0.6.0
Changed
- Pinned TensorFlow to >= 2.6.0, which works with Scann 1.2.3.
Breaking changes
TopK
layer indexing API changed. Indexing with datasets is now done via
theindex_from_dataset
method. 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_metrics
totfrs.tasks.Retrieval
for 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.PartialTPUEmbedding
layer, which
usestfrs.layers.embedding.TPUEmbedding
for large embedding lookups and
tf.keras.layers.Embedding
for 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.SamplingProbablityCorrection
that 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.Cross
andDotInteraction
layers have been moved to
tfrs.layers.feature_interaction
package.
v0.4.0
Added
TopK
layers now come with aquery_with_exclusions
method, allowing
certain candidates to be excluded from top-k retrieval.TPUEmbedding
Keras layer for accelerating embedding lookups for large
tables with TPU.
Changed
-
factorized_top_k.Streaming
layer now accepts a query model, like other
factorized_top_k
layers. -
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.