recommenders

TensorFlow Recommenders is a library for building recommender system models using TensorFlow.

APACHE-2.0 License

Downloads
445.5K
Stars
1.8K
Committers
42
recommenders - v0.7.3 Latest Release

Published by maciejkula over 1 year ago

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.
recommenders - v0.7.2

Published by maciejkula about 2 years ago

  • Improved support for using TPUEmbedding under parameter server strategy.
recommenders - v0.7.1

Published by maciejkula over 2 years ago

Release fixes.

recommenders - v0.7.0

Published by maciejkula over 2 years ago

[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 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.
recommenders - v0.6.0

Published by maciejkula about 3 years ago

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
    the index_from_dataset method. This change reduces the possibility of
    misaligning embeddings and candidate identifiers when indexing via
    indeterministic datasets.
recommenders - v0.5.2

Published by maciejkula over 3 years ago

Fixed

Added

  • Added batch_metrics to tfrs.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
    uses tfrs.layers.embedding.TPUEmbedding for large embedding lookups and
    tf.keras.layers.Embedding for smaller embedding lookups.
recommenders - v0.5.1

Published by maciejkula over 3 years ago

Changed

recommenders - v0.5.0

Published by maciejkula over 3 years ago

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 and DotInteraction layers have been moved to
    tfrs.layers.feature_interaction package.
recommenders - v0.4.0

Published by maciejkula almost 4 years ago

Added

  • TopK layers now come with a query_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.

recommenders - v0.3.2

Published by maciejkula almost 4 years ago

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.
recommenders - v0.3.1

Published by maciejkula almost 4 years ago

Changed

  • Pinned TensorFlow to 2.3.x and ScaNN to 1.1.1 to ensure TF and ScaNN
    versions are in lockstep.
recommenders - v0.3.0

Published by maciejkula almost 4 years ago

Added

  • Deep cross networks: efficient ways of learning feature interactions.
  • ScaNN integration: efficient approximate maximum inner product search for
    fast retrieval.
recommenders - v0.2.0

Published by maciejkula about 4 years ago

Breaking changes

  • Corpus retrieval metrics and layers have been reworked. tfrs.layers.corpus.DatasetTopk has been removed,
    tfrs.layers.corpus.DatasetIndexedTopK renamed to
    tfrs.layers.factorized_top_k.Streaming, tfrs.layers.ann.BruteForce
    renamed to tfrs.layers.factorized_top_k.BruteForce. All top-k retrieval
    layers (BruteForce, Streaming) now follow a common interface.

Added

  • tfrs.tasks.Ranking.call now accepts a compute_metrics argument to allow
    switching off metric computation.
  • tfrs.tasks.Ranking now accepts label and prediction metrics.
  • Add metrics setter/getters on tfrs.tasks.Retrieval.

Changed

  • Dataset parallelism enabled by default in DatasetTopK and
    DatasetIndexedTopK layers, bringing over 2x speed-ups to evaluations
    workloads.
  • evaluate_metrics argument to tfrs.tasks.Retrieval.call renamed to
    compute_metrics.
recommenders - Update PyPI readme with fixed links.

Published by maciejkula about 4 years ago

recommenders - Minor PyPI upload changes.

Published by maciejkula about 4 years ago

recommenders - Initial release.

Published by maciejkula about 4 years ago

Package Rankings
Top 6.73% on Proxy.golang.org
Top 2.78% on Pypi.org
Badges
Extracted from project README
PyPI badge