TensorFlow Recommenders
import tensorflow_datasets as tfds import tensorflow_recommenders as tfrs # Load data on movie ratings. ratings = tfds.load("movielens/100k-ratings", split="train") movies = tfds.load("movielens/100k-movies", split="train") # Build flexible representation models. user_model = tf.keras.Sequential([...]) movie_model = tf.keras.Sequential([...]) # Define your objectives. task = tfrs.tasks.Retrieval(metrics=tfrs.metrics.FactorizedTopK( movies.batch(128).map(movie_model) ) ) # Create a retrieval model. model = MovielensModel(user_model, movie_model, task) model.compile(optimizer=tf.keras.optimizers.Adagrad(0.5)) # Train. model.fit(ratings.batch(4096), epochs=3) # Set up retrieval using trained representations. index = tfrs.layers.ann.BruteForce(model.user_model) index.index_from_dataset( movies.batch(100).map(lambda title: (title, model.movie_model(title))) ) # Get recommendations. _, titles = index(np.array(["42"])) print(f"Recommendations for user 42: {titles[0, :3]}")Run in a Notebook
TensorFlow Recommenders (TFRS) is a library for building recommender system models.
It helps with the full workflow of building a recommender system: data preparation, model formulation, training, evaluation, and deployment.
It's built on Keras and aims to have a gentle learning curve while still giving you the flexibility to build complex models.
TFRS makes it possible to:
To learn more, see the tutorial on how to build a movie recommender system, or check the API docs for the API reference.
It helps with the full workflow of building a recommender system: data preparation, model formulation, training, evaluation, and deployment.
It's built on Keras and aims to have a gentle learning curve while still giving you the flexibility to build complex models.
TFRS makes it possible to:
- Build and evaluate flexible recommendation retrieval models.
- Freely incorporate item, user, and context information into recommendation models.
- Train multi-task models that jointly optimize multiple recommendation objectives.
To learn more, see the tutorial on how to build a movie recommender system, or check the API docs for the API reference.