## TensorFlow Recommenders 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: - 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. ``` 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(movies.batch(100).map(model.movie_model), movies) # Get recommendations. _, titles = index(np.array(["42"])) print(f"Recommendations for user 42: {titles[0, :3]}") ```