From 54997e855fdd4e2df8717b89145f4926392de628 Mon Sep 17 00:00:00 2001 From: Matej Aleksandrov Date: Wed, 14 Jan 2026 06:17:19 -0800 Subject: [PATCH] Replace unicode escaped characters in ipynb files PiperOrigin-RevId: 856182774 --- docs/examples/basic_ranking.ipynb | 32 +++--- docs/examples/basic_retrieval.ipynb | 34 +++--- docs/examples/context_features.ipynb | 28 ++--- docs/examples/dcn.ipynb | 106 +++++++++---------- docs/examples/deep_recommenders.ipynb | 28 ++--- docs/examples/diststrat_retrieval.ipynb | 30 +++--- docs/examples/efficient_serving.ipynb | 30 +++--- docs/examples/featurization.ipynb | 28 ++--- docs/examples/listwise_ranking.ipynb | 28 ++--- docs/examples/multitask.ipynb | 34 +++--- docs/examples/quickstart.ipynb | 30 +++--- docs/examples/ranking_tfx.ipynb | 44 ++++---- docs/examples/sequential_retrieval.ipynb | 30 +++--- docs/examples/tpu_embedding_layer.ipynb | 126 +++++++++++------------ docs/examples/uet.ipynb | 50 ++++----- 15 files changed, 329 insertions(+), 329 deletions(-) diff --git a/docs/examples/basic_ranking.ipynb b/docs/examples/basic_ranking.ipynb index f37750dd..97dc6560 100644 --- a/docs/examples/basic_ranking.ipynb +++ b/docs/examples/basic_ranking.ipynb @@ -39,20 +39,20 @@ "source": [ "# Recommending movies: ranking\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/basic_ranking\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/basic_ranking.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/basic_ranking.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/basic_ranking.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e\n", + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
\n", "\n" ] }, @@ -360,11 +360,11 @@ " metrics=[tf.keras.metrics.RootMeanSquaredError()]\n", " )\n", "\n", - " def call(self, features: Dict[str, tf.Tensor]) -\u003e tf.Tensor:\n", + " def call(self, features: Dict[str, tf.Tensor]) -> tf.Tensor:\n", " return self.ranking_model(\n", " (features[\"user_id\"], features[\"movie_title\"]))\n", "\n", - " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -\u003e tf.Tensor:\n", + " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n", " labels = features.pop(\"user_rating\")\n", " \n", " rating_predictions = self(features)\n", diff --git a/docs/examples/basic_retrieval.ipynb b/docs/examples/basic_retrieval.ipynb index 9b8eac96..a4610ce9 100644 --- a/docs/examples/basic_retrieval.ipynb +++ b/docs/examples/basic_retrieval.ipynb @@ -39,20 +39,20 @@ "source": [ "# Recommending movies: retrieval\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/basic_retrieval\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/basic_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/basic_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/basic_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -502,7 +502,7 @@ " self.user_model: tf.keras.Model = user_model\n", " self.task: tf.keras.layers.Layer = task\n", "\n", - " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -\u003e tf.Tensor:\n", + " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n", " # We pick out the user features and pass them into the user model.\n", " user_embeddings = self.user_model(features[\"user_id\"])\n", " # And pick out the movie features and pass them into the movie model,\n", @@ -540,7 +540,7 @@ " self.user_model: tf.keras.Model = user_model\n", " self.task: tf.keras.layers.Layer = task\n", "\n", - " def train_step(self, features: Dict[Text, tf.Tensor]) -\u003e tf.Tensor:\n", + " def train_step(self, features: Dict[Text, tf.Tensor]) -> tf.Tensor:\n", "\n", " # Set up a gradient tape to record gradients.\n", " with tf.GradientTape() as tape:\n", @@ -565,7 +565,7 @@ "\n", " return metrics\n", "\n", - " def test_step(self, features: Dict[Text, tf.Tensor]) -\u003e tf.Tensor:\n", + " def test_step(self, features: Dict[Text, tf.Tensor]) -> tf.Tensor:\n", "\n", " # Loss computation.\n", " user_embeddings = self.user_model(features[\"user_id\"])\n", diff --git a/docs/examples/context_features.ipynb b/docs/examples/context_features.ipynb index 519b4297..6e3e7b34 100644 --- a/docs/examples/context_features.ipynb +++ b/docs/examples/context_features.ipynb @@ -39,20 +39,20 @@ "source": [ "# Taking advantage of context features\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/context_features\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/context_features.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/context_features.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/context_features.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { diff --git a/docs/examples/dcn.ipynb b/docs/examples/dcn.ipynb index e3125d47..86aed8d6 100644 --- a/docs/examples/dcn.ipynb +++ b/docs/examples/dcn.ipynb @@ -37,22 +37,22 @@ "id": "ikhIvrku-i-L" }, "source": [ - "# Deep \u0026 Cross Network (DCN)\n", + "# Deep & Cross Network (DCN)\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/dcn\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/dcn.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/dcn.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/dcn.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -61,16 +61,16 @@ "id": "Q-rOX95bAye4" }, "source": [ - "This tutorial demonstrates how to use Deep \u0026 Cross Network (DCN) to effectively learn feature crosses.\n", + "This tutorial demonstrates how to use Deep & Cross Network (DCN) to effectively learn feature crosses.\n", "\n", "##Background\n", "\n", "**What are feature crosses and why are they important?** Imagine that we are building a recommender system to sell a blender to customers. Then, a customer's past purchase history such as `purchased_bananas` and `purchased_cooking_books`, or geographic features, are single features. If one has purchased both bananas **and** cooking books, then this customer will more likely click on the recommended blender. The combination of `purchased_bananas` and `purchased_cooking_books` is referred to as a **feature cross**, which provides additional interaction information beyond the individual features.\n", - "\u003cdiv\u003e\n", - "\u003ccenter\u003e\n", - "\u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/cross_features.gif?raw=true\" width=\"600\"/\u003e\n", - "\u003c/center\u003e\n", - "\u003c/div\u003e\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", "\n", "\n", "\n", @@ -78,28 +78,28 @@ "**What are the challenges in learning feature crosses?** In Web-scale applications, data are mostly categorical, leading to large and sparse feature space. Identifying effective feature crosses in this setting often requires\n", "manual feature engineering or exhaustive search. Traditional feed-forward multilayer perceptron (MLP) models are universal function approximators; however, they cannot efficiently approximate even 2nd or 3rd-order feature crosses [[1](https://arxiv.org/pdf/2008.13535.pdf), [2](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/18fa88ad519f25dc4860567e19ab00beff3f01cb.pdf)].\n", "\n", - "**What is Deep \u0026 Cross Network (DCN)?** DCN was designed to learn explicit and bounded-degree cross features more effectively. It starts with an input layer (typically an embedding layer), followed by a *cross network* containing multiple cross layers that models explicit feature interactions, and then combines\n", + "**What is Deep & Cross Network (DCN)?** DCN was designed to learn explicit and bounded-degree cross features more effectively. It starts with an input layer (typically an embedding layer), followed by a *cross network* containing multiple cross layers that models explicit feature interactions, and then combines\n", "with a *deep network* that models implicit feature interactions.\n", "\n", "\n", "* Cross Network. This is the core of DCN. It explicitly applies feature crossing at each layer, and the highest\n", "polynomial degree increases with layer depth. The following figure shows the $(i+1)$-th cross layer.\n", - "\u003cdiv class=\"fig figcenter fighighlight\"\u003e\n", - "\u003ccenter\u003e\n", - " \u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/feature_crossing.png?raw=true\" width=\"50%\" style=\"display:block\"\u003e\n", - " \u003c/center\u003e\n", - "\u003c/div\u003e\n", + "
\n", + "
\n", + " \n", + "
\n", + "
\n", "* Deep Network. It is a traditional feedforward multilayer perceptron (MLP).\n", "\n", "The deep network and cross network are then combined to form DCN [[1](https://arxiv.org/pdf/2008.13535.pdf)]. Commonly, we could stack a deep network on top of the cross network (stacked structure); we could also place them in parallel (parallel structure). \n", "\n", "\n", - "\u003cdiv class=\"fig figcenter fighighlight\"\u003e\n", - "\u003ccenter\u003e\n", - " \u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/parallel_deep_cross.png?raw=true\" hspace=\"40\" width=\"30%\" style=\"margin: 0px 100px 0px 0px;\"\u003e\n", - " \u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/stacked_deep_cross.png?raw=true\" width=\"20%\"\u003e\n", - " \u003c/center\u003e\n", - "\u003c/div\u003e" + "
\n", + "
\n", + " \n", + " \n", + "
\n", + "
" ] }, { @@ -758,11 +758,11 @@ }, "source": [ "**DCN (stacked).** We first train a DCN model with a stacked structure, that is, the inputs are fed to a cross network followed by a deep network.\n", - "\u003cdiv\u003e\n", - "\u003ccenter\u003e\n", - "\u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/stacked_structure.png?raw=true\" width=\"140\"/\u003e\n", - "\u003c/center\u003e\n", - "\u003c/div\u003e\n" + "
\n", + "
\n", + "\n", + "
\n", + "
\n" ] }, { @@ -785,11 +785,11 @@ "source": [ "**Low-rank DCN.** To reduce the training and serving cost, we leverage low-rank techniques to approximate the DCN weight matrices. The rank is passed in through argument `projection_dim`; a smaller `projection_dim` results in a lower cost. Note that `projection_dim` needs to be smaller than (input size)/2 to reduce the cost. In practice, we've observed using low-rank DCN with rank (input size)/4 consistently preserved the accuracy of a full-rank DCN.\n", "\n", - "\u003cdiv\u003e\n", - "\u003ccenter\u003e\n", - "\u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/low_rank_dcn.png?raw=true\" width=\"400\"/\u003e\n", - "\u003c/center\u003e\n", - "\u003c/div\u003e\n" + "
\n", + "
\n", + "\n", + "
\n", + "
\n" ] }, { @@ -872,14 +872,14 @@ "\n", "* *Concatenating cross layers.* The inputs are fed in parallel to multiple cross layers to capture complementary feature crosses.\n", "\n", - "\u003cdiv class=\"fig figcenter fighighlight\"\u003e\n", - "\u003ccenter\u003e\n", - " \u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/alternate_dcn_structures.png?raw=true\" hspace=40 width=\"600\" style=\"display:block;\"\u003e\n", - " \u003cdiv class=\"figcaption\"\u003e\n", - " \u003cb\u003eLeft\u003c/b\u003e: DCN with a parallel structure; \u003cb\u003eRight\u003c/b\u003e: Concatenating cross layers. \n", - " \u003c/div\u003e\n", - " \u003c/center\u003e\n", - "\u003c/div\u003e" + "
\n", + "
\n", + " \n", + "
\n", + " Left: DCN with a parallel structure; Right: Concatenating cross layers. \n", + "
\n", + "
\n", + "
" ] }, { @@ -952,11 +952,11 @@ "\n", "\n", "##References\n", - "[DCN V2: Improved Deep \u0026 Cross Network and Practical Lessons for Web-scale Learning to Rank Systems](https://arxiv.org/pdf/2008.13535.pdf). \\\n", + "[DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems](https://arxiv.org/pdf/2008.13535.pdf). \\\n", "*Ruoxi Wang, Rakesh Shivanna, Derek Zhiyuan Cheng, Sagar Jain, Dong Lin, Lichan Hong, Ed Chi. (2020)*\n", "\n", "\n", - "[Deep \u0026 Cross Network for Ad Click Predictions](https://arxiv.org/pdf/1708.05123.pdf). \\\n", + "[Deep & Cross Network for Ad Click Predictions](https://arxiv.org/pdf/1708.05123.pdf). \\\n", "*Ruoxi Wang, Bin Fu, Gang Fu, Mingliang Wang. (AdKDD 2017)*" ] } diff --git a/docs/examples/deep_recommenders.ipynb b/docs/examples/deep_recommenders.ipynb index c36adcc4..23b581a1 100644 --- a/docs/examples/deep_recommenders.ipynb +++ b/docs/examples/deep_recommenders.ipynb @@ -38,20 +38,20 @@ "source": [ "# Building deep retrieval models\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/deep_recommenders\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/deep_recommenders.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/deep_recommenders.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/deep_recommenders.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { diff --git a/docs/examples/diststrat_retrieval.ipynb b/docs/examples/diststrat_retrieval.ipynb index a94c786a..97dc677f 100644 --- a/docs/examples/diststrat_retrieval.ipynb +++ b/docs/examples/diststrat_retrieval.ipynb @@ -39,20 +39,20 @@ "source": [ "# Recommending movies: retrieval with distribution strategy\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/diststrat_retrieval\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/diststrat_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/diststrat_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/diststrat_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -282,7 +282,7 @@ " self.user_model: tf.keras.Model = user_model\n", " self.task: tf.keras.layers.Layer = task\n", "\n", - " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -\u003e tf.Tensor:\n", + " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n", " # We pick out the user features and pass them into the user model.\n", " user_embeddings = self.user_model(features[\"user_id\"])\n", " # And pick out the movie features and pass them into the movie model,\n", diff --git a/docs/examples/efficient_serving.ipynb b/docs/examples/efficient_serving.ipynb index d3e8b05c..6c438e66 100644 --- a/docs/examples/efficient_serving.ipynb +++ b/docs/examples/efficient_serving.ipynb @@ -39,20 +39,20 @@ "source": [ "# Efficient serving\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/efficient_serving\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/efficient_serving.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/efficient_serving.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/efficient_serving.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -316,7 +316,7 @@ " )\n", " )\n", "\n", - " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -\u003e tf.Tensor:\n", + " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n", " # We pick out the user features and pass them into the user model.\n", " user_embeddings = self.user_model(features[\"user_id\"])\n", " # And pick out the movie features and pass them into the movie model,\n", diff --git a/docs/examples/featurization.ipynb b/docs/examples/featurization.ipynb index b1b80164..4ebf78e0 100644 --- a/docs/examples/featurization.ipynb +++ b/docs/examples/featurization.ipynb @@ -39,20 +39,20 @@ "source": [ "# Using side features: feature preprocessing\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/movielens\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/featurization.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/featurization.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/featurization.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { diff --git a/docs/examples/listwise_ranking.ipynb b/docs/examples/listwise_ranking.ipynb index 44fa5ab0..c2bdab2f 100644 --- a/docs/examples/listwise_ranking.ipynb +++ b/docs/examples/listwise_ranking.ipynb @@ -39,20 +39,20 @@ "source": [ "# Listwise ranking\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/listwise_ranking\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/listwise_ranking.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/listwise_ranking.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/listwise_ranking.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { diff --git a/docs/examples/multitask.ipynb b/docs/examples/multitask.ipynb index 179a2355..aefabd96 100644 --- a/docs/examples/multitask.ipynb +++ b/docs/examples/multitask.ipynb @@ -39,20 +39,20 @@ "source": [ "# Multi-task recommenders\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/multitask\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/multitask.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/multitask.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/multitask.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -295,7 +295,7 @@ "source": [ "class MovielensModel(tfrs.models.Model):\n", "\n", - " def __init__(self, rating_weight: float, retrieval_weight: float) -\u003e None:\n", + " def __init__(self, rating_weight: float, retrieval_weight: float) -> None:\n", " # We take the loss weights in the constructor: this allows us to instantiate\n", " # several model objects with different loss weights.\n", "\n", @@ -339,7 +339,7 @@ " self.rating_weight = rating_weight\n", " self.retrieval_weight = retrieval_weight\n", "\n", - " def call(self, features: Dict[Text, tf.Tensor]) -\u003e tf.Tensor:\n", + " def call(self, features: Dict[Text, tf.Tensor]) -> tf.Tensor:\n", " # We pick out the user features and pass them into the user model.\n", " user_embeddings = self.user_model(features[\"user_id\"])\n", " # And pick out the movie features and pass them into the movie model.\n", @@ -355,7 +355,7 @@ " ),\n", " )\n", "\n", - " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -\u003e tf.Tensor:\n", + " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n", "\n", " ratings = features.pop(\"user_rating\")\n", "\n", diff --git a/docs/examples/quickstart.ipynb b/docs/examples/quickstart.ipynb index f037568c..effaad08 100644 --- a/docs/examples/quickstart.ipynb +++ b/docs/examples/quickstart.ipynb @@ -39,20 +39,20 @@ "source": [ "# TensorFlow Recommenders: Quickstart\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/quickstart\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/quickstart.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/quickstart.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/quickstart.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -195,7 +195,7 @@ " # Set up a retrieval task.\n", " self.task = task\n", "\n", - " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -\u003e tf.Tensor:\n", + " def compute_loss(self, features: Dict[Text, tf.Tensor], training=False) -> tf.Tensor:\n", " # Define how the loss is computed.\n", "\n", " user_embeddings = self.user_model(features[\"user_id\"])\n", diff --git a/docs/examples/ranking_tfx.ipynb b/docs/examples/ranking_tfx.ipynb index a1741087..5ce5268e 100644 --- a/docs/examples/ranking_tfx.ipynb +++ b/docs/examples/ranking_tfx.ipynb @@ -47,20 +47,20 @@ "id": "HU9YYythm0dx" }, "source": [ - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/ranking_tfx\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/ranking_tfx.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/ranking_tfx.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/ranking_tfx.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -137,7 +137,7 @@ "\n", "If you are using Google Colab, the first time that you run\n", "the cell above, you must restart the runtime by clicking\n", - "above \"RESTART RUNTIME\" button or using \"Runtime \u003e Restart\n", + "above \"RESTART RUNTIME\" button or using \"Runtime > Restart\n", "runtime ...\" menu. This is because of the way that Colab\n", "loads packages.\n", "\n", @@ -249,8 +249,8 @@ "!wget https://files.grouplens.org/datasets/movielens/ml-100k.zip\n", "!mkdir -p {DATA_ROOT}\n", "!unzip ml-100k.zip\n", - "!echo 'userId,movieId,rating,timestamp' \u003e {DATA_ROOT}/ratings.csv\n", - "!sed 's/\\t/,/g' ml-100k/u.data \u003e\u003e {DATA_ROOT}/ratings.csv" + "!echo 'userId,movieId,rating,timestamp' > {DATA_ROOT}/ratings.csv\n", + "!sed 's/\\t/,/g' ml-100k/u.data >> {DATA_ROOT}/ratings.csv" ] }, { @@ -433,12 +433,12 @@ " loss=tf.keras.losses.MeanSquaredError(),\n", " metrics=[tf.keras.metrics.RootMeanSquaredError()])\n", "\n", - " def call(self, features: Dict[str, tf.Tensor]) -\u003e tf.Tensor:\n", + " def call(self, features: Dict[str, tf.Tensor]) -> tf.Tensor:\n", " return self.ranking_model((features['userId'], features['movieId']))\n", "\n", " def compute_loss(self,\n", " features: Dict[Text, tf.Tensor],\n", - " training=False) -\u003e tf.Tensor:\n", + " training=False) -> tf.Tensor:\n", "\n", " labels = features[1]\n", " rating_predictions = self(features[0])\n", @@ -450,7 +450,7 @@ "def _input_fn(file_pattern: List[str],\n", " data_accessor: tfx.components.DataAccessor,\n", " schema: schema_pb2.Schema,\n", - " batch_size: int = 256) -\u003e tf.data.Dataset:\n", + " batch_size: int = 256) -> tf.data.Dataset:\n", " return data_accessor.tf_dataset_factory(\n", " file_pattern,\n", " tfxio.TensorFlowDatasetOptions(\n", @@ -458,7 +458,7 @@ " schema=schema).repeat()\n", "\n", "\n", - "def _build_keras_model() -\u003e tf.keras.Model:\n", + "def _build_keras_model() -> tf.keras.Model:\n", " return MovielensModel()\n", "\n", "\n", @@ -522,7 +522,7 @@ "source": [ "def _create_pipeline(pipeline_name: str, pipeline_root: str, data_root: str,\n", " module_file: str, serving_model_dir: str,\n", - " metadata_path: str) -\u003e tfx.dsl.Pipeline:\n", + " metadata_path: str) -> tfx.dsl.Pipeline:\n", " \"\"\"Creates a three component pipeline with TFX.\"\"\"\n", " # Brings data into the pipeline.\n", " example_gen = tfx.components.CsvExampleGen(input_base=data_root)\n", diff --git a/docs/examples/sequential_retrieval.ipynb b/docs/examples/sequential_retrieval.ipynb index 28620d46..35d7de3c 100644 --- a/docs/examples/sequential_retrieval.ipynb +++ b/docs/examples/sequential_retrieval.ipynb @@ -38,20 +38,20 @@ "source": [ "# Recommending movies: retrieval using a sequential model\n", "\n", - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/sequential_retrieval\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/sequential_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/sequential_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/sequential_retrieval.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -243,7 +243,7 @@ "source": [ "## Implementing a sequential model\n", "\n", - "In our [basic retrieval tutorial](https://www.tensorflow.org/recommenders/examples/basic_retrieval), we use one query tower for the user, and the candidate tow for the candidate movie. However, the two-tower architecture is generalizble and not limited to \u003cuser,item\u003e pair. You can also use it to do item-to-item recommendation as we note in the [basic retrieval tutorial](https://www.tensorflow.org/recommenders/examples/basic_retrieval#item-to-item_recommendation).\n", + "In our [basic retrieval tutorial](https://www.tensorflow.org/recommenders/examples/basic_retrieval), we use one query tower for the user, and the candidate tow for the candidate movie. However, the two-tower architecture is generalizble and not limited to pair. You can also use it to do item-to-item recommendation as we note in the [basic retrieval tutorial](https://www.tensorflow.org/recommenders/examples/basic_retrieval#item-to-item_recommendation).\n", "\n", "Here we are still going to use the two-tower architecture. Specificially, we use the query tower with a [Gated Recurrent Unit (GRU) layer](https://www.tensorflow.org/api_docs/python/tf/keras/layers/GRU) to encode the sequence of historical movies, and keep the same candidate tower for the candidate movie. " ] diff --git a/docs/examples/tpu_embedding_layer.ipynb b/docs/examples/tpu_embedding_layer.ipynb index c0058edc..0b9d9d14 100644 --- a/docs/examples/tpu_embedding_layer.ipynb +++ b/docs/examples/tpu_embedding_layer.ipynb @@ -46,20 +46,20 @@ "id": "MfBg1C5NB3X0" }, "source": [ - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/tpu_embedding_layer\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/tpu_embedding_layer.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/tpu_embedding_layer.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/blob/main/docs/examples/tpu_embedding_layer.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -110,50 +110,50 @@ "text": [ "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Requirement already satisfied: tensorflow-recommenders in /usr/local/lib/python3.8/dist-packages (0.7.2)\n", - "Requirement already satisfied: tensorflow\u003e=2.9.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow-recommenders) (2.9.2)\n", - "Requirement already satisfied: absl-py\u003e=0.1.6 in /usr/local/lib/python3.8/dist-packages (from tensorflow-recommenders) (1.3.0)\n", - "Requirement already satisfied: numpy\u003e=1.20 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.21.6)\n", - "Requirement already satisfied: protobuf\u003c3.20,\u003e=3.9.2 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.19.6)\n", - "Requirement already satisfied: astunparse\u003e=1.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.6.3)\n", - "Requirement already satisfied: setuptools in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (57.4.0)\n", - "Requirement already satisfied: tensorboard\u003c2.10,\u003e=2.9 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2.9.1)\n", - "Requirement already satisfied: keras-preprocessing\u003e=1.1.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.1.2)\n", - "Requirement already satisfied: grpcio\u003c2.0,\u003e=1.24.3 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.51.1)\n", - "Requirement already satisfied: gast\u003c=0.4.0,\u003e=0.2.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.4.0)\n", - "Requirement already satisfied: tensorflow-io-gcs-filesystem\u003e=0.23.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.28.0)\n", - "Requirement already satisfied: opt-einsum\u003e=2.3.2 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.3.0)\n", - "Requirement already satisfied: keras\u003c2.10.0,\u003e=2.9.0rc0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2.9.0)\n", - "Requirement already satisfied: h5py\u003e=2.9.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.1.0)\n", - "Requirement already satisfied: libclang\u003e=13.0.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (14.0.6)\n", - "Requirement already satisfied: six\u003e=1.12.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.15.0)\n", - "Requirement already satisfied: tensorflow-estimator\u003c2.10.0,\u003e=2.9.0rc0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2.9.0)\n", - "Requirement already satisfied: wrapt\u003e=1.11.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.14.1)\n", - "Requirement already satisfied: flatbuffers\u003c2,\u003e=1.12 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.12)\n", - "Requirement already satisfied: termcolor\u003e=1.1.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2.1.1)\n", - "Requirement already satisfied: typing-extensions\u003e=3.6.6 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (4.4.0)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (21.3)\n", - "Requirement already satisfied: google-pasta\u003e=0.1.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.2.0)\n", - "Requirement already satisfied: wheel\u003c1.0,\u003e=0.23.0 in /usr/local/lib/python3.8/dist-packages (from astunparse\u003e=1.6.0-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.38.4)\n", - "Requirement already satisfied: werkzeug\u003e=1.0.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.0.1)\n", - "Requirement already satisfied: requests\u003c3,\u003e=2.21.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2.23.0)\n", - "Requirement already satisfied: google-auth-oauthlib\u003c0.5,\u003e=0.4.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.4.6)\n", - "Requirement already satisfied: google-auth\u003c3,\u003e=1.6.3 in /usr/local/lib/python3.8/dist-packages (from tensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2.15.0)\n", - "Requirement already satisfied: tensorboard-plugin-wit\u003e=1.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.8.1)\n", - "Requirement already satisfied: tensorboard-data-server\u003c0.7.0,\u003e=0.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.6.1)\n", - "Requirement already satisfied: markdown\u003e=2.6.8 in /usr/local/lib/python3.8/dist-packages (from tensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.4.1)\n", - "Requirement already satisfied: pyasn1-modules\u003e=0.2.1 in /usr/local/lib/python3.8/dist-packages (from google-auth\u003c3,\u003e=1.6.3-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.2.8)\n", - "Requirement already satisfied: cachetools\u003c6.0,\u003e=2.0.0 in /usr/local/lib/python3.8/dist-packages (from google-auth\u003c3,\u003e=1.6.3-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (5.2.0)\n", - "Requirement already satisfied: rsa\u003c5,\u003e=3.1.4 in /usr/local/lib/python3.8/dist-packages (from google-auth\u003c3,\u003e=1.6.3-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (4.9)\n", - "Requirement already satisfied: requests-oauthlib\u003e=0.7.0 in /usr/local/lib/python3.8/dist-packages (from google-auth-oauthlib\u003c0.5,\u003e=0.4.1-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.3.1)\n", - "Requirement already satisfied: importlib-metadata\u003e=4.4 in /usr/local/lib/python3.8/dist-packages (from markdown\u003e=2.6.8-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (4.13.0)\n", - "Requirement already satisfied: zipp\u003e=0.5 in /usr/local/lib/python3.8/dist-packages (from importlib-metadata\u003e=4.4-\u003emarkdown\u003e=2.6.8-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.11.0)\n", - "Requirement already satisfied: pyasn1\u003c0.5.0,\u003e=0.4.6 in /usr/local/lib/python3.8/dist-packages (from pyasn1-modules\u003e=0.2.1-\u003egoogle-auth\u003c3,\u003e=1.6.3-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (0.4.8)\n", - "Requirement already satisfied: idna\u003c3,\u003e=2.5 in /usr/local/lib/python3.8/dist-packages (from requests\u003c3,\u003e=2.21.0-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2.10)\n", - "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,\u003c1.26,\u003e=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests\u003c3,\u003e=2.21.0-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (1.24.3)\n", - "Requirement already satisfied: certifi\u003e=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests\u003c3,\u003e=2.21.0-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (2022.9.24)\n", - "Requirement already satisfied: chardet\u003c4,\u003e=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests\u003c3,\u003e=2.21.0-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.0.4)\n", - "Requirement already satisfied: oauthlib\u003e=3.0.0 in /usr/local/lib/python3.8/dist-packages (from requests-oauthlib\u003e=0.7.0-\u003egoogle-auth-oauthlib\u003c0.5,\u003e=0.4.1-\u003etensorboard\u003c2.10,\u003e=2.9-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.2.2)\n", - "Requirement already satisfied: pyparsing!=3.0.5,\u003e=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging-\u003etensorflow\u003e=2.9.0-\u003etensorflow-recommenders) (3.0.9)\n" + "Requirement already satisfied: tensorflow>=2.9.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow-recommenders) (2.9.2)\n", + "Requirement already satisfied: absl-py>=0.1.6 in /usr/local/lib/python3.8/dist-packages (from tensorflow-recommenders) (1.3.0)\n", + "Requirement already satisfied: numpy>=1.20 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (1.21.6)\n", + "Requirement already satisfied: protobuf<3.20,>=3.9.2 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (3.19.6)\n", + "Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (1.6.3)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (57.4.0)\n", + "Requirement already satisfied: tensorboard<2.10,>=2.9 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (2.9.1)\n", + "Requirement already satisfied: keras-preprocessing>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (1.1.2)\n", + "Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (1.51.1)\n", + "Requirement already satisfied: gast<=0.4.0,>=0.2.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (0.4.0)\n", + "Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (0.28.0)\n", + "Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (3.3.0)\n", + "Requirement already satisfied: keras<2.10.0,>=2.9.0rc0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (2.9.0)\n", + "Requirement already satisfied: h5py>=2.9.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (3.1.0)\n", + "Requirement already satisfied: libclang>=13.0.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (14.0.6)\n", + "Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (1.15.0)\n", + "Requirement already satisfied: tensorflow-estimator<2.10.0,>=2.9.0rc0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (2.9.0)\n", + "Requirement already satisfied: wrapt>=1.11.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (1.14.1)\n", + "Requirement already satisfied: flatbuffers<2,>=1.12 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (1.12)\n", + "Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (2.1.1)\n", + "Requirement already satisfied: typing-extensions>=3.6.6 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (4.4.0)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (21.3)\n", + "Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.8/dist-packages (from tensorflow>=2.9.0->tensorflow-recommenders) (0.2.0)\n", + "Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/local/lib/python3.8/dist-packages (from astunparse>=1.6.0->tensorflow>=2.9.0->tensorflow-recommenders) (0.38.4)\n", + "Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (1.0.1)\n", + "Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (2.23.0)\n", + "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.8/dist-packages (from tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (0.4.6)\n", + "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.8/dist-packages (from tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (2.15.0)\n", + "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (1.8.1)\n", + "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.8/dist-packages (from tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (0.6.1)\n", + "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.8/dist-packages (from tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (3.4.1)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (0.2.8)\n", + "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (5.2.0)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.8/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (4.9)\n", + "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.8/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (1.3.1)\n", + "Requirement already satisfied: importlib-metadata>=4.4 in /usr/local/lib/python3.8/dist-packages (from markdown>=2.6.8->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (4.13.0)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.8/dist-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (3.11.0)\n", + "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.8/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (0.4.8)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests<3,>=2.21.0->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (2.10)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests<3,>=2.21.0->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (1.24.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests<3,>=2.21.0->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (2022.9.24)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests<3,>=2.21.0->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (3.0.4)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.8/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.10,>=2.9->tensorflow>=2.9.0->tensorflow-recommenders) (3.2.2)\n", + "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging->tensorflow>=2.9.0->tensorflow-recommenders) (3.0.9)\n" ] } ], @@ -455,7 +455,7 @@ { "data": { "text/plain": [ - "\u003ctensorflow.python.tpu.topology.Topology at 0x7f2085f74400\u003e" + "" ] }, "execution_count": 11, @@ -846,7 +846,7 @@ { "data": { "text/plain": [ - "\u003ckeras.callbacks.History at 0x7f2084d7ddf0\u003e" + "" ] }, "execution_count": 24, @@ -1056,7 +1056,7 @@ { "data": { "text/plain": [ - "\u003ctensorflow.python.training.tracking.util.CheckpointLoadStatus at 0x7f20830fe5b0\u003e" + "" ] }, "execution_count": 30, @@ -1104,7 +1104,7 @@ { "data": { "text/plain": [ - "\u003ctensorflow.python.training.tracking.util.CheckpointLoadStatus at 0x7f20831bbeb0\u003e" + "" ] }, "execution_count": 32, @@ -1176,7 +1176,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "WARNING:tensorflow:Skipping full serialization of Keras layer \u003ctensorflow_recommenders.tasks.ranking.Ranking object at 0x7f20831ead00\u003e, because it is not built.\n" + "WARNING:tensorflow:Skipping full serialization of Keras layer , because it is not built.\n" ] } ], diff --git a/docs/examples/uet.ipynb b/docs/examples/uet.ipynb index 9c2dfc66..1f9de5db 100644 --- a/docs/examples/uet.ipynb +++ b/docs/examples/uet.ipynb @@ -46,20 +46,20 @@ "id": "MfBg1C5NB3X0" }, "source": [ - "\u003ctable class=\"tfo-notebook-buttons\" align=\"left\"\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://www.tensorflow.org/recommenders/examples/uet\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/tf_logo_32px.png\" /\u003eView on TensorFlow.org\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/recommenders/blob/main/docs/examples/uet.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" /\u003eRun in Google Colab\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca target=\"_blank\" href=\"https://github.com/tensorflow/recommenders/blob/main/docs/examples/uet.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" /\u003eView source on GitHub\u003c/a\u003e\n", - " \u003c/td\u003e\n", - " \u003ctd\u003e\n", - " \u003ca href=\"https://storage.googleapis.com/tensorflow_docs/recommenders/docs/examples/uet.ipynb\"\u003e\u003cimg src=\"https://www.tensorflow.org/images/download_logo_32px.png\" /\u003eDownload notebook\u003c/a\u003e\n", - " \u003c/td\u003e\n", - "\u003c/table\u003e" + "\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " View on TensorFlow.org\n", + " \n", + " Run in Google Colab\n", + " \n", + " View source on GitHub\n", + " \n", + " Download notebook\n", + "
" ] }, { @@ -76,11 +76,11 @@ "\n", "**Example:** To make our discussion more concrete, let's imagine that we are building a recommender system for a clothing store. Our goal is to predict the probability that a user will be interested in a particular product, so that we can rank the search results by relevance. Our input features might be the customer's city, the product ID, and the customer's search terms. The supervision signal might be clicks, purchases, or some other measure of user interest. The modeling setup might look something like the following.\n", "\n", - "\u003cdiv\u003e\n", - "\u003ccenter\u003e\n", - "\u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/embedding_baseline.png?raw=true\" width=\"400\"/\u003e\n", - "\u003c/center\u003e\n", - "\u003c/div\u003e\n" + "
\n", + "
\n", + "\n", + "
\n", + "
\n" ] }, { @@ -113,11 +113,11 @@ "\n", "In practice, we load-balance the embeddings across a few sub-tables because this helps alleviate hot-spot issues and allows us to more easily shard the parameters across accelerators. We also do multiple lookups, so that different features can have embeddings of different dimensions. The unified version of our clothing model might look like the following picture.\n", "\n", - "\u003cdiv\u003e\n", - "\u003ccenter\u003e\n", - "\u003cimg src=\"https://github.com/tensorflow/recommenders/blob/main/assets/embedding_unified.png?raw=true\" width=\"400\"/\u003e\n", - "\u003c/center\u003e\n", - "\u003c/div\u003e" + "
\n", + "
\n", + "\n", + "
\n", + "
" ] }, { @@ -210,7 +210,7 @@ "ratings = ratings.map(lambda x: {\n", " \"movie_id\": x[\"movie_id\"],\n", " \"user_id\": x[\"user_id\"],\n", - " \"user_rating\": int(x[\"user_rating\"] \u003e= 3),\n", + " \"user_rating\": int(x[\"user_rating\"] >= 3),\n", " \"user_gender\": tf.strings.as_string(x[\"user_gender\"]),\n", " \"user_zip_code\": x[\"user_zip_code\"],\n", " \"user_occupation_text\": x[\"user_occupation_text\"],\n",