Created
October 21, 2020 00:39
-
-
Save justincosentino/f7f63642cb04f18ac7b896d3381db058 to your computer and use it in GitHub Desktop.
input_features_estimator_demo.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "input_features_estimator_demo.ipynb", | |
"provenance": [], | |
"collapsed_sections": [], | |
"authorship_tag": "ABX9TyMWjcbZasKlz0c4FXfHuQL0", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/justincosentino/f7f63642cb04f18ac7b896d3381db058/input_features_estimator_demo.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "FIBIQKu5jk9i", | |
"outputId": "eb14991a-197d-4dcf-9679-67a8b8317ee7", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
} | |
}, | |
"source": [ | |
"import tensorflow as tf\n", | |
"import matplotlib as mpl\n", | |
"import numpy as np\n", | |
"import sklearn\n", | |
"import pandas as pd\n", | |
"import os\n", | |
"import sys\n", | |
"from tensorflow import keras\n", | |
"\n", | |
"os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'\n", | |
"\n", | |
"print(sys.version_info)\n", | |
"for module in mpl, np, pd, sklearn, tf, keras:\n", | |
" print(module.__name__, module.__version__)\n", | |
"\n", | |
"# Load dataset.\n", | |
"train_df = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/train.csv')\n", | |
"eval_df = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/eval.csv')\n", | |
"\n", | |
"train_y = train_df.pop('survived')\n", | |
"eval_y = eval_df.pop('survived')\n", | |
"\n", | |
"categorical_columns = ['sex', 'n_siblings_spouses', 'parch', 'class', 'deck', 'embark_town', 'alone']\n", | |
"numeric_columns = ['age', 'fare']\n", | |
"\n", | |
"feature_columns = []\n", | |
"\n", | |
"for categorical_column in categorical_columns:\n", | |
" vocab = train_df[categorical_column].unique()\n", | |
" feature_columns.append(\n", | |
" tf.feature_column.indicator_column(\n", | |
" tf.feature_column.categorical_column_with_vocabulary_list(categorical_column, vocab)\n", | |
" )\n", | |
" )\n", | |
"\n", | |
"for numeric_column in numeric_columns:\n", | |
" feature_columns.append(tf.feature_column.numeric_column(numeric_column))\n", | |
"\n", | |
"\n", | |
"def make_dataset(data_df, label_df, epochs=10, shuffle=True, batch_size=32):\n", | |
" dataset = tf.data.Dataset.from_tensor_slices((dict(data_df), label_df))\n", | |
" if shuffle:\n", | |
" dataset = dataset.shuffle(10000)\n", | |
" dataset = dataset.repeat(epochs).batch(batch_size)\n", | |
" return dataset\n", | |
"\n", | |
"\n", | |
"train_dataset = make_dataset(train_df, train_y, epochs=100, batch_size=5)\n", | |
"for x, y in train_dataset.take(1):\n", | |
" print(keras.layers.DenseFeatures(feature_columns, dtype=tf.float32)(x).numpy())\n", | |
"\n", | |
"# build an input map for all features\n", | |
"input_features = {}\n", | |
"for f in categorical_columns:\n", | |
" if f == 'n_siblings_spouses' or f == 'parch':\n", | |
" input_features[f] = tf.keras.layers.Input(\n", | |
" name=f, shape=(1,), dtype=tf.int64)\n", | |
" else:\n", | |
" input_features[f] = tf.keras.layers.Input(\n", | |
" name=f, shape=(1,), dtype=tf.string)\n", | |
"for f in numeric_columns:\n", | |
" input_features[f] = tf.keras.layers.Input(\n", | |
" name=f, shape=(1,), dtype=tf.float32)\n", | |
"\n", | |
"# use the functional api to build the model\n", | |
"dense_features = tf.keras.layers.DenseFeatures(feature_columns)(input_features)\n", | |
"hid = keras.layers.Dense(100, activation='relu', dtype=tf.float64)(dense_features)\n", | |
"hid = keras.layers.Dense(100, activation='relu', dtype=tf.float64)(hid)\n", | |
"output_layer = keras.layers.Dense(2, activation='softmax', dtype=tf.float64)(hid)\n", | |
"model = keras.Model(inputs=input_features, outputs=output_layer)\n", | |
"model.compile(loss='sparse_categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])\n", | |
"\n", | |
"batch_size = 32\n", | |
"train_dataset = make_dataset(train_df, train_y, epochs=100, batch_size=batch_size)\n", | |
"eval_dataset = make_dataset(eval_df, eval_y, epochs=1, shuffle=False, batch_size=batch_size)\n", | |
"\n", | |
"# 1. model.fit()\n", | |
"history = model.fit(\n", | |
" train_dataset,\n", | |
" validation_data=eval_dataset,\n", | |
" steps_per_epoch=627 // batch_size,\n", | |
" validation_steps=264 // batch_size,\n", | |
" epochs=100\n", | |
")\n", | |
"\n", | |
"# 2. model -> estimator -> train\n", | |
"estimator = keras.estimator.model_to_estimator(model)\n", | |
"estimator.train(input_fn=lambda: make_dataset(train_df, train_y, epochs=100))" | |
], | |
"execution_count": 11, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"text": [ | |
"sys.version_info(major=3, minor=6, micro=9, releaselevel='final', serial=0)\n", | |
"matplotlib 3.2.2\n", | |
"numpy 1.18.5\n", | |
"pandas 1.1.2\n", | |
"sklearn 0.22.2.post1\n", | |
"tensorflow 2.3.0\n", | |
"tensorflow.keras 2.4.0\n", | |
"[[28. 0. 1. 0. 1. 0. 0. 1. 0.\n", | |
" 0. 0. 0. 0. 0. 1. 0. 0. 0.\n", | |
" 30.5 0. 1. 0. 0. 0. 0. 0. 1.\n", | |
" 0. 0. 0. 0. 0. 1. 0. ]\n", | |
" [28. 0. 1. 1. 0. 0. 1. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 0. 1. 0. 0.\n", | |
" 7.225 0. 1. 0. 0. 0. 0. 0. 1.\n", | |
" 0. 0. 0. 0. 0. 1. 0. ]\n", | |
" [50. 0. 1. 0. 0. 1. 1. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 1. 0. 0. 0.\n", | |
" 10.5 0. 1. 0. 0. 0. 0. 0. 1.\n", | |
" 0. 0. 0. 0. 0. 0. 1. ]\n", | |
" [18. 1. 0. 1. 0. 0. 1. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 1. 0. 0. 0.\n", | |
" 9.35 0. 1. 0. 0. 0. 0. 0. 0.\n", | |
" 1. 0. 0. 0. 0. 0. 1. ]\n", | |
" [19. 0. 1. 1. 0. 0. 1. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 1. 0. 0. 0.\n", | |
" 10.1708 0. 1. 0. 0. 0. 0. 0. 1.\n", | |
" 0. 0. 0. 0. 0. 1. 0. ]]\n", | |
"{'sex': <tf.Tensor 'sex_6:0' shape=(None, 1) dtype=string>, 'n_siblings_spouses': <tf.Tensor 'n_siblings_spouses_6:0' shape=(None, 1) dtype=int64>, 'parch': <tf.Tensor 'parch_6:0' shape=(None, 1) dtype=int64>, 'class': <tf.Tensor 'class_6:0' shape=(None, 1) dtype=string>, 'deck': <tf.Tensor 'deck_6:0' shape=(None, 1) dtype=string>, 'embark_town': <tf.Tensor 'embark_town_6:0' shape=(None, 1) dtype=string>, 'alone': <tf.Tensor 'alone_6:0' shape=(None, 1) dtype=string>, 'age': <tf.Tensor 'age_4:0' shape=(None, 1) dtype=float32>, 'fare': <tf.Tensor 'fare_4:0' shape=(None, 1) dtype=float32>}\n", | |
"Epoch 1/100\n", | |
"19/19 [==============================] - 0s 14ms/step - loss: 1.4353 - accuracy: 0.5822 - val_loss: 0.7573 - val_accuracy: 0.6914\n", | |
"Epoch 2/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.6990 - accuracy: 0.6645 - val_loss: 0.6539 - val_accuracy: 0.6641\n", | |
"Epoch 3/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.6334 - accuracy: 0.7105 - val_loss: 0.5992 - val_accuracy: 0.6680\n", | |
"Epoch 4/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.5710 - accuracy: 0.7253 - val_loss: 0.5652 - val_accuracy: 0.6992\n", | |
"Epoch 5/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.5378 - accuracy: 0.7418 - val_loss: 0.5407 - val_accuracy: 0.7148\n", | |
"Epoch 6/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.5325 - accuracy: 0.7615 - val_loss: 0.5497 - val_accuracy: 0.7109\n", | |
"Epoch 7/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.5255 - accuracy: 0.7467 - val_loss: 0.5346 - val_accuracy: 0.7422\n", | |
"Epoch 8/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.5160 - accuracy: 0.7582 - val_loss: 0.5027 - val_accuracy: 0.7422\n", | |
"Epoch 9/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4887 - accuracy: 0.7780 - val_loss: 0.5021 - val_accuracy: 0.7422\n", | |
"Epoch 10/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4730 - accuracy: 0.7812 - val_loss: 0.4800 - val_accuracy: 0.7578\n", | |
"Epoch 11/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.5594 - accuracy: 0.7681 - val_loss: 0.5902 - val_accuracy: 0.7305\n", | |
"Epoch 12/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4761 - accuracy: 0.7697 - val_loss: 0.5296 - val_accuracy: 0.7422\n", | |
"Epoch 13/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.5034 - accuracy: 0.7796 - val_loss: 0.5366 - val_accuracy: 0.7812\n", | |
"Epoch 14/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.5039 - accuracy: 0.7763 - val_loss: 0.4936 - val_accuracy: 0.7500\n", | |
"Epoch 15/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4517 - accuracy: 0.8224 - val_loss: 0.5217 - val_accuracy: 0.7578\n", | |
"Epoch 16/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4517 - accuracy: 0.8026 - val_loss: 0.4954 - val_accuracy: 0.7617\n", | |
"Epoch 17/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4308 - accuracy: 0.8174 - val_loss: 0.4979 - val_accuracy: 0.7539\n", | |
"Epoch 18/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4171 - accuracy: 0.8207 - val_loss: 0.4788 - val_accuracy: 0.7578\n", | |
"Epoch 19/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4207 - accuracy: 0.8207 - val_loss: 0.4753 - val_accuracy: 0.7773\n", | |
"Epoch 20/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.6102 - accuracy: 0.7582 - val_loss: 0.7882 - val_accuracy: 0.7109\n", | |
"Epoch 21/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.6327 - accuracy: 0.7434 - val_loss: 0.6440 - val_accuracy: 0.6719\n", | |
"Epoch 22/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4411 - accuracy: 0.8191 - val_loss: 0.4724 - val_accuracy: 0.7617\n", | |
"Epoch 23/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4023 - accuracy: 0.8273 - val_loss: 0.4594 - val_accuracy: 0.7812\n", | |
"Epoch 24/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4224 - accuracy: 0.8273 - val_loss: 0.4695 - val_accuracy: 0.7617\n", | |
"Epoch 25/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.4281 - accuracy: 0.8191 - val_loss: 0.5023 - val_accuracy: 0.7500\n", | |
"Epoch 26/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4621 - accuracy: 0.8026 - val_loss: 0.5223 - val_accuracy: 0.7773\n", | |
"Epoch 27/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4389 - accuracy: 0.8076 - val_loss: 0.4687 - val_accuracy: 0.7852\n", | |
"Epoch 28/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.4747 - accuracy: 0.7928 - val_loss: 0.4594 - val_accuracy: 0.7773\n", | |
"Epoch 29/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3936 - accuracy: 0.8421 - val_loss: 0.4654 - val_accuracy: 0.7656\n", | |
"Epoch 30/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.4084 - accuracy: 0.8174 - val_loss: 0.4747 - val_accuracy: 0.7695\n", | |
"Epoch 31/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3943 - accuracy: 0.8372 - val_loss: 0.4765 - val_accuracy: 0.7656\n", | |
"Epoch 32/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4045 - accuracy: 0.8224 - val_loss: 0.4612 - val_accuracy: 0.7734\n", | |
"Epoch 33/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3939 - accuracy: 0.8306 - val_loss: 0.4677 - val_accuracy: 0.7578\n", | |
"Epoch 34/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4384 - accuracy: 0.8092 - val_loss: 0.4585 - val_accuracy: 0.7812\n", | |
"Epoch 35/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4250 - accuracy: 0.8174 - val_loss: 0.4604 - val_accuracy: 0.7969\n", | |
"Epoch 36/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4041 - accuracy: 0.8306 - val_loss: 0.4844 - val_accuracy: 0.7617\n", | |
"Epoch 37/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4052 - accuracy: 0.8289 - val_loss: 0.4823 - val_accuracy: 0.7734\n", | |
"Epoch 38/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3858 - accuracy: 0.8470 - val_loss: 0.4721 - val_accuracy: 0.7656\n", | |
"Epoch 39/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4116 - accuracy: 0.8240 - val_loss: 0.4586 - val_accuracy: 0.7852\n", | |
"Epoch 40/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4081 - accuracy: 0.8355 - val_loss: 0.4757 - val_accuracy: 0.7930\n", | |
"Epoch 41/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3893 - accuracy: 0.8438 - val_loss: 0.4967 - val_accuracy: 0.7852\n", | |
"Epoch 42/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4260 - accuracy: 0.8125 - val_loss: 0.4769 - val_accuracy: 0.7773\n", | |
"Epoch 43/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3776 - accuracy: 0.8355 - val_loss: 0.4722 - val_accuracy: 0.7812\n", | |
"Epoch 44/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.4217 - accuracy: 0.8141 - val_loss: 0.4588 - val_accuracy: 0.7930\n", | |
"Epoch 45/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3967 - accuracy: 0.8306 - val_loss: 0.5010 - val_accuracy: 0.7695\n", | |
"Epoch 46/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3787 - accuracy: 0.8438 - val_loss: 0.5353 - val_accuracy: 0.7500\n", | |
"Epoch 47/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4558 - accuracy: 0.7977 - val_loss: 0.4765 - val_accuracy: 0.7969\n", | |
"Epoch 48/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4319 - accuracy: 0.8273 - val_loss: 0.4720 - val_accuracy: 0.8047\n", | |
"Epoch 49/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4087 - accuracy: 0.8339 - val_loss: 0.5286 - val_accuracy: 0.7734\n", | |
"Epoch 50/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4541 - accuracy: 0.7944 - val_loss: 0.4752 - val_accuracy: 0.7930\n", | |
"Epoch 51/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4034 - accuracy: 0.8224 - val_loss: 0.4775 - val_accuracy: 0.7930\n", | |
"Epoch 52/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4134 - accuracy: 0.8372 - val_loss: 0.5448 - val_accuracy: 0.7578\n", | |
"Epoch 53/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.4205 - accuracy: 0.8010 - val_loss: 0.5111 - val_accuracy: 0.7656\n", | |
"Epoch 54/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3715 - accuracy: 0.8503 - val_loss: 0.4779 - val_accuracy: 0.7969\n", | |
"Epoch 55/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4143 - accuracy: 0.8289 - val_loss: 0.4757 - val_accuracy: 0.7930\n", | |
"Epoch 56/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4531 - accuracy: 0.8043 - val_loss: 0.5235 - val_accuracy: 0.7656\n", | |
"Epoch 57/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3821 - accuracy: 0.8487 - val_loss: 0.5345 - val_accuracy: 0.7656\n", | |
"Epoch 58/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.3972 - accuracy: 0.8207 - val_loss: 0.4721 - val_accuracy: 0.8008\n", | |
"Epoch 59/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3727 - accuracy: 0.8372 - val_loss: 0.4853 - val_accuracy: 0.7969\n", | |
"Epoch 60/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.3635 - accuracy: 0.8454 - val_loss: 0.5006 - val_accuracy: 0.7734\n", | |
"Epoch 61/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3976 - accuracy: 0.8174 - val_loss: 0.4981 - val_accuracy: 0.7812\n", | |
"Epoch 62/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.4260 - accuracy: 0.8125 - val_loss: 0.5111 - val_accuracy: 0.7734\n", | |
"Epoch 63/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.3904 - accuracy: 0.8306 - val_loss: 0.5294 - val_accuracy: 0.7969\n", | |
"Epoch 64/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3713 - accuracy: 0.8536 - val_loss: 0.5044 - val_accuracy: 0.7734\n", | |
"Epoch 65/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3974 - accuracy: 0.8273 - val_loss: 0.5242 - val_accuracy: 0.7734\n", | |
"Epoch 66/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3912 - accuracy: 0.8388 - val_loss: 0.4889 - val_accuracy: 0.7852\n", | |
"Epoch 67/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3929 - accuracy: 0.8405 - val_loss: 0.4847 - val_accuracy: 0.7930\n", | |
"Epoch 68/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.3709 - accuracy: 0.8405 - val_loss: 0.4811 - val_accuracy: 0.8008\n", | |
"Epoch 69/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3727 - accuracy: 0.8520 - val_loss: 0.4871 - val_accuracy: 0.7930\n", | |
"Epoch 70/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4709 - accuracy: 0.8059 - val_loss: 0.6006 - val_accuracy: 0.7461\n", | |
"Epoch 71/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4272 - accuracy: 0.8273 - val_loss: 0.4973 - val_accuracy: 0.7969\n", | |
"Epoch 72/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3699 - accuracy: 0.8388 - val_loss: 0.4815 - val_accuracy: 0.8008\n", | |
"Epoch 73/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3618 - accuracy: 0.8487 - val_loss: 0.4935 - val_accuracy: 0.7930\n", | |
"Epoch 74/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3830 - accuracy: 0.8372 - val_loss: 0.4821 - val_accuracy: 0.7969\n", | |
"Epoch 75/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3479 - accuracy: 0.8553 - val_loss: 0.4895 - val_accuracy: 0.7930\n", | |
"Epoch 76/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4006 - accuracy: 0.8339 - val_loss: 0.5584 - val_accuracy: 0.7656\n", | |
"Epoch 77/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3825 - accuracy: 0.8257 - val_loss: 0.4937 - val_accuracy: 0.8008\n", | |
"Epoch 78/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3823 - accuracy: 0.8355 - val_loss: 0.5305 - val_accuracy: 0.7734\n", | |
"Epoch 79/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3625 - accuracy: 0.8503 - val_loss: 0.5008 - val_accuracy: 0.7930\n", | |
"Epoch 80/100\n", | |
"19/19 [==============================] - 0s 2ms/step - loss: 0.3797 - accuracy: 0.8355 - val_loss: 0.4916 - val_accuracy: 0.7930\n", | |
"Epoch 81/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3617 - accuracy: 0.8470 - val_loss: 0.5047 - val_accuracy: 0.7930\n", | |
"Epoch 82/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3367 - accuracy: 0.8684 - val_loss: 0.5147 - val_accuracy: 0.7930\n", | |
"Epoch 83/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3655 - accuracy: 0.8421 - val_loss: 0.5242 - val_accuracy: 0.7812\n", | |
"Epoch 84/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3763 - accuracy: 0.8388 - val_loss: 0.5060 - val_accuracy: 0.7891\n", | |
"Epoch 85/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3884 - accuracy: 0.8339 - val_loss: 0.5157 - val_accuracy: 0.7930\n", | |
"Epoch 86/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3742 - accuracy: 0.8372 - val_loss: 0.5257 - val_accuracy: 0.7773\n", | |
"Epoch 87/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3708 - accuracy: 0.8372 - val_loss: 0.5074 - val_accuracy: 0.7891\n", | |
"Epoch 88/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3603 - accuracy: 0.8602 - val_loss: 0.5155 - val_accuracy: 0.7773\n", | |
"Epoch 89/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3920 - accuracy: 0.8224 - val_loss: 0.5002 - val_accuracy: 0.7969\n", | |
"Epoch 90/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4439 - accuracy: 0.8339 - val_loss: 0.6011 - val_accuracy: 0.7656\n", | |
"Epoch 91/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.4652 - accuracy: 0.7763 - val_loss: 0.5378 - val_accuracy: 0.7812\n", | |
"Epoch 92/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3601 - accuracy: 0.8355 - val_loss: 0.5055 - val_accuracy: 0.7734\n", | |
"Epoch 93/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3657 - accuracy: 0.8355 - val_loss: 0.5407 - val_accuracy: 0.7734\n", | |
"Epoch 94/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3511 - accuracy: 0.8438 - val_loss: 0.5436 - val_accuracy: 0.7930\n", | |
"Epoch 95/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3674 - accuracy: 0.8355 - val_loss: 0.5045 - val_accuracy: 0.8008\n", | |
"Epoch 96/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3333 - accuracy: 0.8536 - val_loss: 0.5117 - val_accuracy: 0.7891\n", | |
"Epoch 97/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3758 - accuracy: 0.8289 - val_loss: 0.5456 - val_accuracy: 0.7734\n", | |
"Epoch 98/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3933 - accuracy: 0.8322 - val_loss: 0.5440 - val_accuracy: 0.7891\n", | |
"Epoch 99/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3602 - accuracy: 0.8470 - val_loss: 0.5668 - val_accuracy: 0.7695\n", | |
"Epoch 100/100\n", | |
"19/19 [==============================] - 0s 3ms/step - loss: 0.3704 - accuracy: 0.8388 - val_loss: 0.5833 - val_accuracy: 0.7695\n", | |
"INFO:tensorflow:Using default config.\n", | |
"WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmpevumo5j8\n", | |
"INFO:tensorflow:Using the Keras model provided.\n", | |
"INFO:tensorflow:Using config: {'_model_dir': '/tmp/tmpevumo5j8', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true\n", | |
"graph_options {\n", | |
" rewrite_options {\n", | |
" meta_optimizer_iterations: ONE\n", | |
" }\n", | |
"}\n", | |
", '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}\n", | |
"INFO:tensorflow:Calling model_fn.\n", | |
"INFO:tensorflow:Done calling model_fn.\n", | |
"INFO:tensorflow:Warm-starting with WarmStartSettings: WarmStartSettings(ckpt_to_initialize_from='/tmp/tmpevumo5j8/keras/keras_model.ckpt', vars_to_warm_start='.*', var_name_to_vocab_info={}, var_name_to_prev_var_name={})\n", | |
"INFO:tensorflow:Warm-starting from: /tmp/tmpevumo5j8/keras/keras_model.ckpt\n", | |
"INFO:tensorflow:Warm-starting variables only in TRAINABLE_VARIABLES.\n", | |
"INFO:tensorflow:Warm-started 6 variables.\n", | |
"INFO:tensorflow:Create CheckpointSaverHook.\n", | |
"INFO:tensorflow:Graph was finalized.\n", | |
"INFO:tensorflow:Running local_init_op.\n", | |
"INFO:tensorflow:Done running local_init_op.\n", | |
"INFO:tensorflow:Calling checkpoint listeners before saving checkpoint 0...\n", | |
"INFO:tensorflow:Saving checkpoints for 0 into /tmp/tmpevumo5j8/model.ckpt.\n", | |
"INFO:tensorflow:Calling checkpoint listeners after saving checkpoint 0...\n", | |
"INFO:tensorflow:loss = 0.22045884455360465, step = 0\n", | |
"INFO:tensorflow:global_step/sec: 497.808\n", | |
"INFO:tensorflow:loss = 0.39396757359640855, step = 100 (0.202 sec)\n", | |
"INFO:tensorflow:global_step/sec: 629.551\n", | |
"INFO:tensorflow:loss = 0.4651438314904226, step = 200 (0.159 sec)\n", | |
"INFO:tensorflow:global_step/sec: 670.438\n", | |
"INFO:tensorflow:loss = 0.3310382162748624, step = 300 (0.149 sec)\n", | |
"INFO:tensorflow:global_step/sec: 628.074\n", | |
"INFO:tensorflow:loss = 0.3554056767934526, step = 400 (0.160 sec)\n", | |
"INFO:tensorflow:global_step/sec: 649.955\n", | |
"INFO:tensorflow:loss = 0.20120931138808373, step = 500 (0.153 sec)\n", | |
"INFO:tensorflow:global_step/sec: 660.843\n", | |
"INFO:tensorflow:loss = 0.3079627313018136, step = 600 (0.151 sec)\n", | |
"INFO:tensorflow:global_step/sec: 673.56\n", | |
"INFO:tensorflow:loss = 0.3931187124035205, step = 700 (0.148 sec)\n", | |
"INFO:tensorflow:global_step/sec: 669.549\n", | |
"INFO:tensorflow:loss = 0.3988775402374358, step = 800 (0.149 sec)\n", | |
"INFO:tensorflow:global_step/sec: 590.702\n", | |
"INFO:tensorflow:loss = 0.30356038931495277, step = 900 (0.170 sec)\n", | |
"INFO:tensorflow:global_step/sec: 658.024\n", | |
"INFO:tensorflow:loss = 0.4139062537855045, step = 1000 (0.151 sec)\n", | |
"INFO:tensorflow:global_step/sec: 661.364\n", | |
"INFO:tensorflow:loss = 0.39935327593045633, step = 1100 (0.152 sec)\n", | |
"INFO:tensorflow:global_step/sec: 659.311\n", | |
"INFO:tensorflow:loss = 0.3521440472377435, step = 1200 (0.151 sec)\n", | |
"INFO:tensorflow:global_step/sec: 675.087\n", | |
"INFO:tensorflow:loss = 0.31621408023056574, step = 1300 (0.149 sec)\n", | |
"INFO:tensorflow:global_step/sec: 622.009\n", | |
"INFO:tensorflow:loss = 0.29848663869779557, step = 1400 (0.160 sec)\n", | |
"INFO:tensorflow:global_step/sec: 611.909\n", | |
"INFO:tensorflow:loss = 0.3254593999154167, step = 1500 (0.167 sec)\n", | |
"INFO:tensorflow:global_step/sec: 683.177\n", | |
"INFO:tensorflow:loss = 0.19411982369501857, step = 1600 (0.143 sec)\n", | |
"INFO:tensorflow:global_step/sec: 680.19\n", | |
"INFO:tensorflow:loss = 0.2619774575010059, step = 1700 (0.147 sec)\n", | |
"INFO:tensorflow:global_step/sec: 645.56\n", | |
"INFO:tensorflow:loss = 0.49989703113285344, step = 1800 (0.155 sec)\n", | |
"INFO:tensorflow:global_step/sec: 674.074\n", | |
"INFO:tensorflow:loss = 0.4144136135395655, step = 1900 (0.148 sec)\n", | |
"INFO:tensorflow:Calling checkpoint listeners before saving checkpoint 1960...\n", | |
"INFO:tensorflow:Saving checkpoints for 1960 into /tmp/tmpevumo5j8/model.ckpt.\n", | |
"INFO:tensorflow:Calling checkpoint listeners after saving checkpoint 1960...\n", | |
"INFO:tensorflow:Loss for final step: 0.10542060632906214.\n" | |
], | |
"name": "stdout" | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<tensorflow_estimator.python.estimator.estimator.EstimatorV2 at 0x7f96a6dc8e10>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 11 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "MHo2DzFNjoYt" | |
}, | |
"source": [ | |
"" | |
], | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment