{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "RYmPh1qB_KO2"
},
"source": [
"##### Copyright 2020 The TensorFlow Authors."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"cellView": "form",
"execution": {
"iopub.execute_input": "2020-09-22T19:30:55.266561Z",
"iopub.status.busy": "2020-09-22T19:30:55.265842Z",
"iopub.status.idle": "2020-09-22T19:30:55.268329Z",
"shell.execute_reply": "2020-09-22T19:30:55.267777Z"
},
"id": "oMRm3czy9tLh"
},
"outputs": [],
"source": [
"#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n",
"# you may not use this file except in compliance with the License.\n",
"# You may obtain a copy of the License at\n",
"#\n",
"# https://www.apache.org/licenses/LICENSE-2.0\n",
"#\n",
"# Unless required by applicable law or agreed to in writing, software\n",
"# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
"# See the License for the specific language governing permissions and\n",
"# limitations under the License."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ooXoR4kx_YL9"
},
"source": [
"# TF Lattice 聚合函数模型"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BR6XNYEXEgSU"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-ZfQWUmfEsyZ"
},
"source": [
"## 概述\n",
"\n",
"利用 TFL 预制聚合函数模型,您可以快速轻松地构建 TFL `tf.keras.model` 实例来学习复杂聚合函数。本指南概述了构造 TFL 预制聚合函数模型并对其进行训练/测试所需的步骤。 "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "L0lgWoB6Gmk1"
},
"source": [
"## 设置\n",
"\n",
"安装 TF Lattice 软件包:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:30:55.273262Z",
"iopub.status.busy": "2020-09-22T19:30:55.272580Z",
"iopub.status.idle": "2020-09-22T19:30:59.164760Z",
"shell.execute_reply": "2020-09-22T19:30:59.164140Z"
},
"id": "ivwKrEdLGphZ"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[33mWARNING: You are using pip version 20.2.2; however, version 20.2.3 is available.\r\n",
"You should consider upgrading via the '/tmpfs/src/tf_docs_env/bin/python -m pip install --upgrade pip' command.\u001b[0m\r\n"
]
}
],
"source": [
"#@test {\"skip\": true}\n",
"!pip install -q tensorflow-lattice pydot"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "VQsRKS4wGrMu"
},
"source": [
"导入所需的软件包:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:30:59.170825Z",
"iopub.status.busy": "2020-09-22T19:30:59.169744Z",
"iopub.status.idle": "2020-09-22T19:31:06.091159Z",
"shell.execute_reply": "2020-09-22T19:31:06.090385Z"
},
"id": "j41-kd4MGtDS"
},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"\n",
"import collections\n",
"import logging\n",
"import numpy as np\n",
"import pandas as pd\n",
"import sys\n",
"import tensorflow_lattice as tfl\n",
"logging.disable(sys.maxsize)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ZHPohKjBIFG5"
},
"source": [
"下载 Puzzles 数据集:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:06.097080Z",
"iopub.status.busy": "2020-09-22T19:31:06.096115Z",
"iopub.status.idle": "2020-09-22T19:31:06.294916Z",
"shell.execute_reply": "2020-09-22T19:31:06.295497Z"
},
"id": "VjYHpw2dSfHH"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" puzzle_name | \n",
" star_rating | \n",
" word_count | \n",
" is_amazon | \n",
" includes_photo | \n",
" num_helpful | \n",
" Sales12-18MonthsAgo | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" NightHawks | \n",
" 5 | \n",
" 108 | \n",
" 1 | \n",
" 0 | \n",
" 6 | \n",
" 81 | \n",
"
\n",
" \n",
" 1 | \n",
" NightHawks | \n",
" 5 | \n",
" 31 | \n",
" 1 | \n",
" 0 | \n",
" 5 | \n",
" 81 | \n",
"
\n",
" \n",
" 2 | \n",
" NightHawks | \n",
" 5 | \n",
" 51 | \n",
" 1 | \n",
" 0 | \n",
" 4 | \n",
" 81 | \n",
"
\n",
" \n",
" 3 | \n",
" NightHawks | \n",
" 5 | \n",
" 88 | \n",
" 1 | \n",
" 0 | \n",
" 4 | \n",
" 81 | \n",
"
\n",
" \n",
" 4 | \n",
" NightHawks | \n",
" 4 | \n",
" 37 | \n",
" 1 | \n",
" 0 | \n",
" 2 | \n",
" 81 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" puzzle_name star_rating word_count is_amazon includes_photo \\\n",
"0 NightHawks 5 108 1 0 \n",
"1 NightHawks 5 31 1 0 \n",
"2 NightHawks 5 51 1 0 \n",
"3 NightHawks 5 88 1 0 \n",
"4 NightHawks 4 37 1 0 \n",
"\n",
" num_helpful Sales12-18MonthsAgo \n",
"0 6 81 \n",
"1 5 81 \n",
"2 4 81 \n",
"3 4 81 \n",
"4 2 81 "
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_dataframe = pd.read_csv(\n",
" 'https://raw.githubusercontent.com/wbakst/puzzles_data/master/train.csv')\n",
"train_dataframe.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:06.300269Z",
"iopub.status.busy": "2020-09-22T19:31:06.299526Z",
"iopub.status.idle": "2020-09-22T19:31:06.479286Z",
"shell.execute_reply": "2020-09-22T19:31:06.479728Z"
},
"id": "UOsgu3eIEur6"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" puzzle_name | \n",
" star_rating | \n",
" word_count | \n",
" is_amazon | \n",
" includes_photo | \n",
" num_helpful | \n",
" SalesLastSixMonths | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" NightHawks | \n",
" 4 | \n",
" 138 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 40 | \n",
"
\n",
" \n",
" 1 | \n",
" NightHawks | \n",
" 5 | \n",
" 115 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 40 | \n",
"
\n",
" \n",
" 2 | \n",
" NightHawks | \n",
" 5 | \n",
" 127 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 40 | \n",
"
\n",
" \n",
" 3 | \n",
" NightHawks | \n",
" 5 | \n",
" 108 | \n",
" 1 | \n",
" 0 | \n",
" 6 | \n",
" 40 | \n",
"
\n",
" \n",
" 4 | \n",
" NightHawks | \n",
" 5 | \n",
" 31 | \n",
" 1 | \n",
" 0 | \n",
" 5 | \n",
" 40 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" puzzle_name star_rating word_count is_amazon includes_photo \\\n",
"0 NightHawks 4 138 0 0 \n",
"1 NightHawks 5 115 0 0 \n",
"2 NightHawks 5 127 0 0 \n",
"3 NightHawks 5 108 1 0 \n",
"4 NightHawks 5 31 1 0 \n",
"\n",
" num_helpful SalesLastSixMonths \n",
"0 0 40 \n",
"1 0 40 \n",
"2 0 40 \n",
"3 6 40 \n",
"4 5 40 "
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_dataframe = pd.read_csv(\n",
" 'https://raw.githubusercontent.com/wbakst/puzzles_data/master/test.csv')\n",
"test_dataframe.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XG7MPCyzVr22"
},
"source": [
"提取并转换特征和标签"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:06.485055Z",
"iopub.status.busy": "2020-09-22T19:31:06.484008Z",
"iopub.status.idle": "2020-09-22T19:31:06.486167Z",
"shell.execute_reply": "2020-09-22T19:31:06.486612Z"
},
"id": "bYdJicq5bBuz"
},
"outputs": [],
"source": [
"# Features:\n",
"# - star_rating rating out of 5 stars (1-5)\n",
"# - word_count number of words in the review\n",
"# - is_amazon 1 = reviewed on amazon; 0 = reviewed on artifact website\n",
"# - includes_photo if the review includes a photo of the puzzle\n",
"# - num_helpful number of people that found this review helpful\n",
"# - num_reviews total number of reviews for this puzzle (we construct)\n",
"#\n",
"# This ordering of feature names will be the exact same order that we construct\n",
"# our model to expect.\n",
"feature_names = [\n",
" 'star_rating', 'word_count', 'is_amazon', 'includes_photo', 'num_helpful',\n",
" 'num_reviews'\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:06.499679Z",
"iopub.status.busy": "2020-09-22T19:31:06.498512Z",
"iopub.status.idle": "2020-09-22T19:31:06.501214Z",
"shell.execute_reply": "2020-09-22T19:31:06.500703Z"
},
"id": "kx0ZX2HR-4qb"
},
"outputs": [],
"source": [
"def extract_features(dataframe, label_name):\n",
" # First we extract flattened features.\n",
" flattened_features = {\n",
" feature_name: dataframe[feature_name].values.astype(float)\n",
" for feature_name in feature_names[:-1]\n",
" }\n",
"\n",
" # Construct mapping from puzzle name to feature.\n",
" star_rating = collections.defaultdict(list)\n",
" word_count = collections.defaultdict(list)\n",
" is_amazon = collections.defaultdict(list)\n",
" includes_photo = collections.defaultdict(list)\n",
" num_helpful = collections.defaultdict(list)\n",
" labels = {}\n",
"\n",
" # Extract each review.\n",
" for i in range(len(dataframe)):\n",
" row = dataframe.iloc[i]\n",
" puzzle_name = row['puzzle_name']\n",
" star_rating[puzzle_name].append(float(row['star_rating']))\n",
" word_count[puzzle_name].append(float(row['word_count']))\n",
" is_amazon[puzzle_name].append(float(row['is_amazon']))\n",
" includes_photo[puzzle_name].append(float(row['includes_photo']))\n",
" num_helpful[puzzle_name].append(float(row['num_helpful']))\n",
" labels[puzzle_name] = float(row[label_name])\n",
"\n",
" # Organize data into list of list of features.\n",
" names = list(star_rating.keys())\n",
" star_rating = [star_rating[name] for name in names]\n",
" word_count = [word_count[name] for name in names]\n",
" is_amazon = [is_amazon[name] for name in names]\n",
" includes_photo = [includes_photo[name] for name in names]\n",
" num_helpful = [num_helpful[name] for name in names]\n",
" num_reviews = [[len(ratings)] * len(ratings) for ratings in star_rating]\n",
" labels = [labels[name] for name in names]\n",
"\n",
" # Flatten num_reviews\n",
" flattened_features['num_reviews'] = [len(reviews) for reviews in num_reviews]\n",
"\n",
" # Convert data into ragged tensors.\n",
" star_rating = tf.ragged.constant(star_rating)\n",
" word_count = tf.ragged.constant(word_count)\n",
" is_amazon = tf.ragged.constant(is_amazon)\n",
" includes_photo = tf.ragged.constant(includes_photo)\n",
" num_helpful = tf.ragged.constant(num_helpful)\n",
" num_reviews = tf.ragged.constant(num_reviews)\n",
" labels = tf.constant(labels)\n",
"\n",
" # Now we can return our extracted data.\n",
" return (star_rating, word_count, is_amazon, includes_photo, num_helpful,\n",
" num_reviews), labels, flattened_features"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:06.546624Z",
"iopub.status.busy": "2020-09-22T19:31:06.541392Z",
"iopub.status.idle": "2020-09-22T19:31:08.438039Z",
"shell.execute_reply": "2020-09-22T19:31:08.437367Z"
},
"id": "Nd6j_J5CbNiz"
},
"outputs": [],
"source": [
"train_xs, train_ys, flattened_features = extract_features(train_dataframe, 'Sales12-18MonthsAgo')\n",
"test_xs, test_ys, _ = extract_features(test_dataframe, 'SalesLastSixMonths')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:08.443569Z",
"iopub.status.busy": "2020-09-22T19:31:08.442733Z",
"iopub.status.idle": "2020-09-22T19:31:08.445410Z",
"shell.execute_reply": "2020-09-22T19:31:08.444798Z"
},
"id": "KfHHhCRsHejl"
},
"outputs": [],
"source": [
"# Let's define our label minimum and maximum.\n",
"min_label, max_label = float(np.min(train_ys)), float(np.max(train_ys))\n",
"min_label, max_label = float(np.min(train_ys)), float(np.max(train_ys))"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9TwqlRirIhAq"
},
"source": [
"设置用于在本指南中进行训练的默认值:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:08.450008Z",
"iopub.status.busy": "2020-09-22T19:31:08.449271Z",
"iopub.status.idle": "2020-09-22T19:31:08.451942Z",
"shell.execute_reply": "2020-09-22T19:31:08.451365Z"
},
"id": "GckmXFzRIhdD"
},
"outputs": [],
"source": [
"LEARNING_RATE = 0.1\n",
"BATCH_SIZE = 128\n",
"NUM_EPOCHS = 500\n",
"MIDDLE_DIM = 3\n",
"MIDDLE_LATTICE_SIZE = 2\n",
"MIDDLE_KEYPOINTS = 16\n",
"OUTPUT_KEYPOINTS = 8"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TpDKon4oIh2W"
},
"source": [
"## 特征配置\n",
"\n",
"使用 [tfl.configs.FeatureConfig](https://tensorflow.google.cn/lattice/api_docs/python/tfl/configs/FeatureConfig) 设置特征校准和按特征的配置。特征配置包括单调性约束、按特征的正则化(请参阅 [tfl.configs.RegularizerConfig](https://tensorflow.google.cn/lattice/api_docs/python/tfl/configs/RegularizerConfig))以及点阵模型的点阵大小。\n",
"\n",
"请注意,我们必须为希望模型识别的任何特征完全指定特征配置。否则,模型将无法获知存在这样的特征。对于聚合模型,将自动考虑这些特征并将其处理为不规则特征。"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_IMwcDh7Xs5n"
},
"source": [
"### 计算分位数\n",
"\n",
"尽管 `tfl.configs.FeatureConfig` 中 `pwl_calibration_input_keypoints` 的默认设置为“分位数”,但对于预制模型,我们必须手动定义输入关键点。为此,我们首先定义自己的辅助函数来计算分位数。"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:08.458740Z",
"iopub.status.busy": "2020-09-22T19:31:08.457892Z",
"iopub.status.idle": "2020-09-22T19:31:08.460570Z",
"shell.execute_reply": "2020-09-22T19:31:08.459936Z"
},
"id": "l0uYl9ZpXtW1"
},
"outputs": [],
"source": [
"def compute_quantiles(features,\n",
" num_keypoints=10,\n",
" clip_min=None,\n",
" clip_max=None,\n",
" missing_value=None):\n",
" # Clip min and max if desired.\n",
" if clip_min is not None:\n",
" features = np.maximum(features, clip_min)\n",
" features = np.append(features, clip_min)\n",
" if clip_max is not None:\n",
" features = np.minimum(features, clip_max)\n",
" features = np.append(features, clip_max)\n",
" # Make features unique.\n",
" unique_features = np.unique(features)\n",
" # Remove missing values if specified.\n",
" if missing_value is not None:\n",
" unique_features = np.delete(unique_features,\n",
" np.where(unique_features == missing_value))\n",
" # Compute and return quantiles over unique non-missing feature values.\n",
" return np.quantile(\n",
" unique_features,\n",
" np.linspace(0., 1., num=num_keypoints),\n",
" interpolation='nearest').astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9oYZdVeWEhf2"
},
"source": [
"### 定义我们的特征配置\n",
"\n",
"现在我们可以计算分位数了,我们为希望模型将其作为输入的每个特征定义一个特征配置。"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:08.468524Z",
"iopub.status.busy": "2020-09-22T19:31:08.467648Z",
"iopub.status.idle": "2020-09-22T19:31:08.471017Z",
"shell.execute_reply": "2020-09-22T19:31:08.470451Z"
},
"id": "rEYlSXhTEmoh"
},
"outputs": [],
"source": [
"# Feature configs are used to specify how each feature is calibrated and used.\n",
"feature_configs = [\n",
" tfl.configs.FeatureConfig(\n",
" name='star_rating',\n",
" lattice_size=2,\n",
" monotonicity='increasing',\n",
" pwl_calibration_num_keypoints=5,\n",
" pwl_calibration_input_keypoints=compute_quantiles(\n",
" flattened_features['star_rating'], num_keypoints=5),\n",
" ),\n",
" tfl.configs.FeatureConfig(\n",
" name='word_count',\n",
" lattice_size=2,\n",
" monotonicity='increasing',\n",
" pwl_calibration_num_keypoints=5,\n",
" pwl_calibration_input_keypoints=compute_quantiles(\n",
" flattened_features['word_count'], num_keypoints=5),\n",
" ),\n",
" tfl.configs.FeatureConfig(\n",
" name='is_amazon',\n",
" lattice_size=2,\n",
" num_buckets=2,\n",
" ),\n",
" tfl.configs.FeatureConfig(\n",
" name='includes_photo',\n",
" lattice_size=2,\n",
" num_buckets=2,\n",
" ),\n",
" tfl.configs.FeatureConfig(\n",
" name='num_helpful',\n",
" lattice_size=2,\n",
" monotonicity='increasing',\n",
" pwl_calibration_num_keypoints=5,\n",
" pwl_calibration_input_keypoints=compute_quantiles(\n",
" flattened_features['num_helpful'], num_keypoints=5),\n",
" # Larger num_helpful indicating more trust in star_rating.\n",
" reflects_trust_in=[\n",
" tfl.configs.TrustConfig(\n",
" feature_name=\"star_rating\", trust_type=\"trapezoid\"),\n",
" ],\n",
" ),\n",
" tfl.configs.FeatureConfig(\n",
" name='num_reviews',\n",
" lattice_size=2,\n",
" monotonicity='increasing',\n",
" pwl_calibration_num_keypoints=5,\n",
" pwl_calibration_input_keypoints=compute_quantiles(\n",
" flattened_features['num_reviews'], num_keypoints=5),\n",
" )\n",
"]"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9zoPJRBvPdcH"
},
"source": [
"## 聚合函数模型\n",
"\n",
"要构造 TFL 预制模型,首先从 [tfl.configs](https://tensorflow.google.cn/lattice/api_docs/python/tfl/configs) 构造模型配置。使用 [tfl.configs.AggregateFunctionConfig](https://tensorflow.google.cn/lattice/api_docs/python/tfl/configs/AggregateFunctionConfig) 构造聚合函数模型。它会先应用分段线性和分类校准,随后再将点阵模型应用于不规则输入的每个维度。然后,它会在每个维度的输出上应用聚合层。接下来,会应用可选的输出分段线性校准。"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:08.481320Z",
"iopub.status.busy": "2020-09-22T19:31:08.476026Z",
"iopub.status.idle": "2020-09-22T19:31:13.429956Z",
"shell.execute_reply": "2020-09-22T19:31:13.430583Z"
},
"id": "l_4J7EjSPiP3"
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABL0AAAGrCAYAAAAl9uWAAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd1RU1/o38O8MA0iTokhREqMYCxdQwIIligVMlFiBJNYYlehVQS4GYojxGleiAVSMYkmixsSroPfaYu9GxIhKiA1boiJIaIKCCAzs9w9f5uc4g1IGBuH7WeusJfvss/dzZjaHmcd99pEIIQSIiIiIiIiIiIgaEKm2AyAiIiIiIiIiItI0Jr2IiIiIiIiIiKjBYdKLiIiIiIiIiIgaHCa9iIiIiIiIiIiowZE9XxAfH48lS5ZoIxaqZ4KCguDu7q7tMIiIiIiIiIiIqkxlpldKSgq2bdumjVioHtm2bRtSUlK0HQYRERERERERUbWozPQqt3Xr1rqMg+oZiUSi7RCIiIiIiIiIiKqNa3oREREREREREVGDw6QXERERERERERE1OEx6ERERERERERFRg8OkFxERERERERERNThMehERERERERERUYPDpBcRERERERERETU4THoREREREREREVGDw6QXERERERERERE1OEx6ERERERERERFRg8OkFxERERERERERNThMehERERERERERUYPDpBcRERERERERETU4THoREREREREREVGDo5Gkl7GxMSQSidIWERGhiaa1oqGdDxERERERERFRY6ORpFd+fj4SExMBAMOGDYMQAsHBwZpoWisa2vkQERERERERETU2jfb2RmNjY/Tu3VvbYRARERERERERUS1otEkvIiIiIiIiIiJquJj0IiIiIiIiIiKiBqfWk147duxQWhD+9u3b8PPzg5mZGZo1a4ahQ4fi1q1bivoRERGKuq1atUJCQgIGDBgAExMTGBoawsPDA3FxcYr6CxcuVNR/9nbF/fv3K8qbN2+u0n5BQQHi4uIUdWQyWY3OUy6XIyYmBoMGDYK1tTUMDAzg6OiIqKgolJWVAQByc3NVFshfuHCh4vhny0ePHq1oOzMzE7NmzULr1q2hp6cHS0tLjBw5Er///nuFr/O1a9fg6+uLZs2aKcqysrJqdI5ERERERERERK+KWk96DR8+HEIIDBs2DAAQGBiIwMBApKamIiYmBkePHsX777+vqB8cHAwhBJydnZGbm4uAgAAsXLgQ6enpOHnyJHJyctC/f3+cOHECABAWFgYhBIyMjJT6HTx4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xwcZGRkoKirC8uXLMX36dC1HTERERERERERUe7imVwNhb2+P2NhYHDlyBH///TecnZ0REBCAhw8fws3NDefPn0f//v0hhMCMGTMwZ84cMN9JRERERERERA0Vk14NTP/+/XHhwgWsWLECmzdvRtu2bREVFQVTU1Ps2rULX375JQBgyZIlmDBhAuRyuZYjJiIiIiIiIiLSPN7e2IDl5OTg3//+N6Kjo+Hk5ISoqCj07t0be/fuhY+PD4qKijBw4EDs2LEDTZo00Xa4REREREREREQaw5leDZiFhQWioqJw8eJFWFlZoU+fPvD29oaDgwPi4+NhaWmJQ4cOYdCgQXjy5Im2wyUiIiIiIiIi0hgmvRqBDh06YO/evdi1axeuXr2KTp064T//+Q/i4uLQvn17nD59Gl5eXigpKdF2qEREREREREREGsHbGxuZkpISREdHY968eWjatCk+//xz/PDDD0hISMBbb72Fw4cPQyaTaTtMIiIiIiIiIqIaYdKrkbp//z7mz5+P77//Hq6uriguLkZSUhKGDBmCX375RdvhERERERERERHVCG9vbKRsbGywZs0anD17Fnp6erh48SJatGiBPXv2YMaMGdoOj4iIiIiIiIioRpj0auRcXV3x66+/YsuWLTAwMIBUKsXKlSuxePFibYdGRERERERERFRtTHoRJBIJfHx8cPnyZXzyySeQSCQIDQ3F/PnztR0aEREREREREVG1cE0vUvHHH3/A1dUVcrkcgwcPxpo1a/Daa69pOywiIiIiIiIiokrjTC9S4eTkhAsXLkAqleLQoUPo2LEj5s+fj6KiIm2HRkRERERERERUKUx6kVqOjo5YsWIFSktLYWFhgcjISDg6OmL//v3aDo2IiIiIiIiI6KWY9KIKTZs2De+++y7u3buHoUOHokePHnj77bfh7e2NO3fuaDs8IiIiIiIiIqIKMelFLxQTEwM7Ozts2bIFgwcPxuHDh3Hz5k106tSJtzwSERERERERUb3FpBe9UJMmTbBnzx7IZDJMnDgRVlZWSEpKwldffYWIiAg4OTnhwIED2g6TiIiIiIiIiEgJk170Uo6OjoiMjIRcLseQIUNQWFiIgIAA/PHHH3jzzTcxePBgeHt74+7du9oOlYiIiIiIiIgIAJNeVEkzZ85Er169kJaWhqlTpwIA2rRpg927d2PXrl24fPmy4pbH4uJiLUdLRERERERERI2dRAghtB0EvRpu3LgBR0dHFBcXY+PGjRg7dqxiX2FhIRYvXozFixfj9ddfx7fffotBgwZpMVoiIiIiIiIiasw404sqrV27dpg/fz6kUimmT5+O27dvK/YZGBhg/vz5uHTpEtq2bQtPT094e3sjJSVFewETERERERERUaPFpBdVSXBwMJycnFBWVoZx48ahrKxMaX/btm2xZ88ebN++HRcvXoSjoyO+/fZblJaWailiIiIiIiIiImqMmPSiKpHJZFi/fj2KiooQHx+PVatWqa03fPhwXLlyBdOnT8e//vUvdO/eHefPn6/jaImIiIiIiIiosVJZ0+vevXs4ffq0tuKheqRnz55o1aqV2n0hISFYvnw5dHV1ceXKlQrrAU/XAps+fTqOHj2KMWPGYNmyZbCwsKitsImIiIiIiIiIVJNesbGx8PPz01Y8VI/ExMTA19dX7b78/Hy0a9cORUVF6NmzJ3755ZcXtiWEwE8//YQ5c+ZAKpVi8eLFGD9+fG2ETURERERERERU8e2NQghujXh7GWNjYyxYsAAPHz7E3r17sWvXrhfWl0gkGD9+PJKTk+Hr64sPP/wQHh4eSE5OrvqoJSIiIiIiIiJ6Ca7pRdU2adIkdOrUCba2tggKCkJRUdFLjzE3N0dUVBROnjyJ7OxsODs7IzQ0FE+ePKmDiImIiIiIiIiosWDSi6pNR0cHy5YtQ2pqKu7du1fhovbq9OrVCxcuXMA333yD6OhoODo64uDBg7UYLRERERERERE1Jkx6UY30798f77zzDkxNTbFgwQJkZ2dX+liZTIaAgABcvXoVXbp0gZeXF7y9vZGamlqLERMRERERERFRY8CkF9VYeHg4srOzUVpaioiIiCof37JlS8TGxmLXrl24ePEi/vGPfyAqKgqlpaW1EC0RERERERERNQZMelGNderUCb6+vjAwMMC3336LjIyMarXj7e2NK1euICAgAJ988gm6deuGhIQEDUdLRERERERERI0Bk16kEWFhYcjMzISuri4iIyOr3Y6hoSHmz5+Pc+fOwcDAAD179kRAQAAePnyowWiJiIiIiIiIqKFj0os0olOnTnj33XdhbGyMlStXIicnp0btOTo64tdff8WqVavw888/w8HBATt37tRQtERERERERETU0DHpRRozb948pKamQkdHB6tXr65x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CYlEIiZNmiQePHig03iIiIiIiIiIqPpJhFBdbCo0NBTjxo3TuJZWTerUqRPS0tI07kz4Mtm+fTuCgoIQGxur61BUSCQShISEYOzYsZU6v7i4GLa2tigoKMAnn3yCJUuWaDnCFyssLMT69euxfPlytGjRAhs3buSui0RERERERET1RO2cF1ePbNmyBT4+ProOQ+sOHjyIjIwMKBQKjBw5ssavf+LECXz00Ue4c+cOFi5ciE8//VS5UygRERERERERvfxq9ZpeL6N///vfGDFiBHJycrBlyxY8evSo0qOparPg4GC88soraNu2LTp06FBj101KSsLkyZPRp08ftG7dGteuXcPy5cuZ8CIiIiIiIiKqZ2pd0svf3x8SiQQXL17E/fv3IZFIdDI1rjodOHAAlpaW2Lx5M/bu3VtrF6KvrDt37uDo0aPIysrCuHHjauSaxcXFCAwMRLt27XDmzBkcOnQIYWFheOWVV2rk+kRERERERERUu9S6bIuvry98fX11HUa1mT59OqZPn67rMKpVcHAwzMzMkJmZicmTJ1f79X7//Xd89NFHuH79Oj7++GMsX74choaG1X5dIiIiIiIiIqq9at1IL6rbiouLsX37djRu3Bj9+vWDvb19tV0rIyMDXl5e8PDwgJWVFS5evIg1a9Yw4UVEREREREREtW+kF9VtYWFhSElJgUQiwZdfflkt1xBC4Pvvv8f8+fOhr6+P7du318iIMiIiIiIiIiKqOzjSi7TKz88Pr776KmxtbfH2229rvf34+Hj06NED77//PiZMmICEhAQmvIiIiIiIiIhIDZNepDURERGIiorCw4cP4eXlBblcrrW2MzMz4eXlBRcXF8jlcsTHxyMwMBBmZmZauwYRERERERERvTyY9CKtWb16NVq3bg0AWl2sf9++fWjXrh12796NTZs24dSpU3j99de11j4RERERERERvXyY9CKtiI+Px7Fjx5CRkYFZs2bBwsKiym1evnwZHh4eGD9+PEaOHImbN29i5syZkEgkWoiYiIiIiIiIiF5mTHqRVqxcuRLNmzfH48ePsWDBgiq19c8//2D+/Pno3Lkz8vLyEB0djU2bNsHS0lJL0RIRERERERHRy467N1KVXb58GT/99BMsLCwwe/ZsWFtbV7qtsLAwfPTRR8jJyYGfnx/mzJkDmUymxWiJiIiIiIiIqD7gSC+qssWLF8Pa2hqFhYWVHuWVmJgIT09PDB8+HB4eHrh+/Tq8vLyY8CIiIiIiIiKiSmHSi6rk5MmTOHjwILKysvDJJ5+gSZMmFTo/NzcXy5cvh4ODA9LS0hAZGYldu3bBysqqmiImIiIiIiIiovqA0xup0oQQ8PX1hZ2dHRQKBXx8fCp0/tNTGb/66itOZSQiIiIiIiIirWHSiypt9+7diI+PBwBs27YNJiYm5TovMTERc+fORXh4OCZOnIh169ZxZBcRERERERERaRWnN1KlPH78GEuXLkXjxo3h4uKCSZMmvfCcp6cypqamciojEREREREREVWbMkd6hYaG1mQcVMds2LABycnJUCgUOHLkCKTS5+dPw8LCMGfOHGRnZ3MqIxERERERERFVuzKTXuPGjavJOKgO+fPPP7FixQpIpVLMnz8fnTp1KrMupzISERERERERkS5IhBBC10FQ3TJ06FBERETAxsYGly5dgpGRkVqd3Nxc+Pn5YfXq1ejYsSOCgoLg6uqqg2iJiIiIiIiIqD7iQvZUIbt378Yvv/wCiUSCbdu2aUx4cSojEREREREREekaF7KncktPT4e3tzdkMhmWLFmCN998U+V4YmIiPD09MXz4cLi7uyMhIQFeXl5MeBERERERERFRjWPSi8rN29sb//zzDxwdHbFkyRJleVm7MjZp0kSH0RIRERERERFRfcY1vahcwsPD0b9/fxgbG+PChQto06YNANWpjMuWLeNURiIiIiIiIiKqFTjSi14oIyMD48ePBwDs3LkTbdq04VRGIiIiIiIiIqrVmPSiF5owYQIePXqEOXPmYODAgZzKSERERERERES1HndvpOdat24djhw5AicnJ/Tp0wcdOnTgroxEREREREREVOtxTS8q05UrV+Dk5AQTExM4Ozvj5MmTmDhxIvz9/Tmyi4iIiIiIiIhqNY70Io0eP34MNzc3KBQK5OfnIzMzE6dPn0aPHj10HRoRERERERER0QtxTS/SyNHREY8ePYKxsTECAwMRGxvLhBcRERERERER1Rkc6UUqLl68iAEDBiAlJQWvvfYaIiMj0bhxY12HRURERERERET0/9q7/5gqy/+P468jBxgcHKCgUFKNaq05QkFtKEw0xZY0ypVotcqGurEQJBpp1FqxNQfYaIrU2mqlzcOnLTY2dKP8wUTc+FGOlULZSgSZAkKCBBLX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\n",
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Model config defines the model structure for the aggregate function model.\n",
"aggregate_function_model_config = tfl.configs.AggregateFunctionConfig(\n",
" feature_configs=feature_configs,\n",
" middle_dimension=MIDDLE_DIM,\n",
" middle_lattice_size=MIDDLE_LATTICE_SIZE,\n",
" middle_calibration=True,\n",
" middle_calibration_num_keypoints=MIDDLE_KEYPOINTS,\n",
" middle_monotonicity='increasing',\n",
" output_min=min_label,\n",
" output_max=max_label,\n",
" output_calibration=True,\n",
" output_calibration_num_keypoints=OUTPUT_KEYPOINTS,\n",
" output_initialization=np.linspace(\n",
" min_label, max_label, num=OUTPUT_KEYPOINTS))\n",
"# An AggregateFunction premade model constructed from the given model config.\n",
"aggregate_function_model = tfl.premade.AggregateFunction(\n",
" aggregate_function_model_config)\n",
"# Let's plot our model.\n",
"tf.keras.utils.plot_model(\n",
" aggregate_function_model, show_layer_names=False, rankdir='LR')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4F7AwiXgWhe2"
},
"source": [
"每个聚合层的输出是已校准点阵在不规则输入上的平均输出。下面是在第一个聚合层内使用的模型:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:13.437017Z",
"iopub.status.busy": "2020-09-22T19:31:13.436372Z",
"iopub.status.idle": "2020-09-22T19:31:13.553768Z",
"shell.execute_reply": "2020-09-22T19:31:13.553169Z"
},
"id": "UM7XF6UIWo4T"
},
"outputs": [
{
"data": {
"image/png": "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pZdegkKhwKlTpzBz5kypQ6IehFd+iIiIiEhyv/76K4KDg7Fw4UIsWLAAX331FRMf6nC88kNEREREkjp48CAiIyPh6OiI9PR0+Pj4SB0S9VC88kNEREREkrh27Rp8fHywePFiKJVKfPXVV0x8qFMx+SEiIiKiLnX37l384x//wPjx43H79m18/vnniI+Ph4ODg9ShUQ/H296IiIiIqEsIIXD06FG88sorqKmpwebNm7FixQrI5XKpQyMzwSs/RERERNTpLly4gMcffxxPPfUUZs6cievXr2PVqlVMfKhLMfkhIiIiok6Tl5eHOXPmYNq0abC3t8fly5exf/9+9O3bV+rQyAwx+SEiIiKiDnfjxg2EhobCw8MD5eXlOHXqFE6cOIFx48ZJHRqZMZkQQjw84fDhw1AqlVLFQyYkKSkJISEhUofRLbEeUXcWHByMI0eOSB1GtyWTyaQOgahHY/+E2uGI3gEPkpKSujIQMjHsuHcM1iPqbrZu3Sp1CD1CZGQkPD09pQ6DSFJCCDQ1NXXoMz3sn1B76U1+mFGbNzYuHYP1iLobXvHpGJ6enqz/RJ2A/RNqLz7zQ0REREREZoHJDxERERERmQUmP0REREREZBaY/BARERERkVlg8kNERERERGaByQ8REREREZkFJj9ERERERGQWmPwQEREREZFZYPJDRERERERmgckPERERERGZBSY/RERERERkFpj8EBERERGRWWDyQ0REREREZqFDkh8HBwfIZDKNp8/fKwAAFgpJREFUT2xsbEesWhI97fdQ96Brv5PJZLCwsEDfvn0xf/585OTkqMv3799fq2x+fr7GOoODgyGTyVBYWKgxPSYmRmO5t99+W28Mhuz7OTk5WLJkCdzd3aFQKNC7d2/85S9/wd/+9jfs3LkTP/zwg1HbJjY2Vh3PI4880uHliaQybtw4nfVe32fDhg1Sh9wp9LV/uj7vv/++Sdbx3NxcLFmyBH/84x9ha2sLZ2dnTJw4EW+++SYqKys75DvYPyFqvw5JfmpqavDll18CAObNmwchBKKjozti1ZLoab+Hugdd+50QArdv38aePXuQlZWFadOm4dSpUwCAkpIS7NmzBwAQGRkJIQRGjRqlXl9jYyNOnz4NAEhLS9P4rg0bNqCiogLOzs64f/8+1qxZozeGtuz7TU1NePXVVzF16lT069cPqampqKys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\n",
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aggregation_layers = [\n",
" layer for layer in aggregate_function_model.layers\n",
" if isinstance(layer, tfl.layers.Aggregation)\n",
"]\n",
"tf.keras.utils.plot_model(\n",
" aggregation_layers[0].model, show_layer_names=False, rankdir='LR')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "0ohYOftgTZhq"
},
"source": [
"现在,与任何其他 [tf.keras.Model](https://tensorflow.google.cn/api_docs/python/tf/keras/Model) 一样,我们编译该模型并将其拟合到我们的数据中。"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:31:13.572157Z",
"iopub.status.busy": "2020-09-22T19:31:13.571494Z",
"iopub.status.idle": "2020-09-22T19:32:06.625158Z",
"shell.execute_reply": "2020-09-22T19:32:06.625629Z"
},
"id": "uB9di3-lTfMy"
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aggregate_function_model.compile(\n",
" loss='mae',\n",
" optimizer=tf.keras.optimizers.Adam(LEARNING_RATE))\n",
"aggregate_function_model.fit(\n",
" train_xs, train_ys, epochs=NUM_EPOCHS, batch_size=BATCH_SIZE, verbose=False)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "pwZtGDR-Tzur"
},
"source": [
"训练完模型后,我们可以在测试集中对其进行评估。"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"execution": {
"iopub.execute_input": "2020-09-22T19:32:06.630516Z",
"iopub.status.busy": "2020-09-22T19:32:06.629815Z",
"iopub.status.idle": "2020-09-22T19:32:08.059901Z",
"shell.execute_reply": "2020-09-22T19:32:08.059356Z"
},
"id": "RWj1YfubT0NE"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test Set Evaluation...\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\r",
"1/7 [===>..........................] - ETA: 0s - loss: 133.7238"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r",
"7/7 [==============================] - 0s 6ms/step - loss: 47.7708\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"47.77081298828125\n"
]
}
],
"source": [
"print('Test Set Evaluation...')\n",
"print(aggregate_function_model.evaluate(test_xs, test_ys))"
]
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"name": "aggregate_function_models.ipynb",
"toc_visible": true
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}