{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "b518b04cbfe0" }, "source": [ "##### Copyright 2020 The TensorFlow Authors." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "cellView": "form", "execution": { "iopub.execute_input": "2022-12-14T21:42:26.744289Z", "iopub.status.busy": "2022-12-14T21:42:26.743790Z", "iopub.status.idle": "2022-12-14T21:42:26.747408Z", "shell.execute_reply": "2022-12-14T21:42:26.746815Z" }, "id": "906e07f6e562" }, "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": "fb291b62b1aa" }, "source": [ "# 組み込みメソッドを使用したトレーニングと評価" ] }, { "cell_type": "markdown", "metadata": { "id": "b1820d9bdfb9" }, "source": [ "\n", " \n", " \n", " \n", " \n", "
TensorFlow.org で表示 Google Colab で実行 GitHub でソースを表示 ノートブックをダウンロード
" ] }, { "cell_type": "markdown", "metadata": { "id": "8d4ac441b1fc" }, "source": [ "## セットアップ" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:26.750941Z", "iopub.status.busy": "2022-12-14T21:42:26.750338Z", "iopub.status.idle": "2022-12-14T21:42:28.651520Z", "shell.execute_reply": "2022-12-14T21:42:28.650821Z" }, "id": "0472bf67b2bf" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2022-12-14 21:42:27.685244: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory\n", "2022-12-14 21:42:27.685342: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory\n", "2022-12-14 21:42:27.685351: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n" ] } ], "source": [ "import tensorflow as tf\n", "from tensorflow import keras\n", "from tensorflow.keras import layers" ] }, { "cell_type": "markdown", "metadata": { "id": "dfdc6f08988e" }, "source": [ "## はじめに\n", "\n", "このガイドでは、トレーニングと検証に組み込みAPI(`model.fit()`、`model.evaluate()`、`model.predict()` など)を使用する場合のトレーニング、評価、予測(推論)モデルについて説明します。\n", "\n", "独自のトレーニングステップ関数を指定しながら `fit()` を利用する場合は、「`fit()` の処理をカスタマイズする」ガイドをご覧ください。\n", "\n", "独自のトレーニングと評価ループを新規に作成する場合は、[「トレーニングループの新規作成」](https://www.tensorflow.org/guide/keras/writing_a_training_loop_from_scratch/)をご覧ください。\n", "\n", "一般的にモデルのトレーニングと評価は、組み込みループを使用するか独自のループを作成するかに関係なく、すべての Keras モデル(Sequential モデル、Functional API を使用して構築されたモデル、モデルのサブクラス化により新規作成されたモデル)で同じように機能します。\n", "\n", "このガイドは、分散型トレーニングについては説明されていません。この説明は[マルチ GPU と分散型トレーニングに関するガイド](https://keras.io/guides/distributed_training/)をご覧ください。" ] }, { "cell_type": "markdown", "metadata": { "id": "4e270faa413e" }, "source": [ "## API の概要:最初のエンドツーエンドの例\n", "\n", "モデルの組み込みトレーニングループにデータを渡すときは、**NumPy 配列**(データが小さく、メモリに収まる場合)または **`tf.data Dataset` オブジェクト**を使用する必要があります。 以下の例では、オプティマイザ、損失、およびメトリクスの使用方法を示すために、MNIST データセットを NumPy 配列として使用します。\n", "\n", "次のモデルを見てみましょう(ここでは、Functional API を使用して構築していますが、Sequential モデルまたはサブクラス化モデルも使用可能です)。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:28.656352Z", "iopub.status.busy": "2022-12-14T21:42:28.655618Z", "iopub.status.idle": "2022-12-14T21:42:32.051883Z", "shell.execute_reply": "2022-12-14T21:42:32.051204Z" }, "id": "170a6a18b2a3" }, "outputs": [], "source": [ "inputs = keras.Input(shape=(784,), name=\"digits\")\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_1\")(inputs)\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_2\")(x)\n", "outputs = layers.Dense(10, activation=\"softmax\", name=\"predictions\")(x)\n", "\n", "model = keras.Model(inputs=inputs, outputs=outputs)" ] }, { "cell_type": "markdown", "metadata": { "id": "e6d5724a90ab" }, "source": [ "一般的なエンドツーエンドのワークフローは以下のとおりです。\n", "\n", "- トレーニング\n", "- 元のトレーニングデータから生成されたホールドアウトセットの検証\n", "- テストデータの評価\n", "\n", "この例では MNIST データを使用します。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:32.056344Z", "iopub.status.busy": "2022-12-14T21:42:32.055665Z", "iopub.status.idle": "2022-12-14T21:42:32.409852Z", "shell.execute_reply": "2022-12-14T21:42:32.409106Z" }, "id": "8b55b3903edb" }, "outputs": [], "source": [ "(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()\n", "\n", "# Preprocess the data (these are NumPy arrays)\n", "x_train = x_train.reshape(60000, 784).astype(\"float32\") / 255\n", "x_test = x_test.reshape(10000, 784).astype(\"float32\") / 255\n", "\n", "y_train = y_train.astype(\"float32\")\n", "y_test = y_test.astype(\"float32\")\n", "\n", "# Reserve 10,000 samples for validation\n", "x_val = x_train[-10000:]\n", "y_val = y_train[-10000:]\n", "x_train = x_train[:-10000]\n", "y_train = y_train[:-10000]" ] }, { "cell_type": "markdown", "metadata": { "id": "77a84eb1985b" }, "source": [ "トレーニングの構成(オプティマイザ、損失、メトリクス)を指定します。" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:32.414294Z", "iopub.status.busy": "2022-12-14T21:42:32.413606Z", "iopub.status.idle": "2022-12-14T21:42:32.430286Z", "shell.execute_reply": "2022-12-14T21:42:32.429662Z" }, "id": "26a7f1819796" }, "outputs": [], "source": [ "model.compile(\n", " optimizer=keras.optimizers.RMSprop(), # Optimizer\n", " # Loss function to minimize\n", " loss=keras.losses.SparseCategoricalCrossentropy(),\n", " # List of metrics to monitor\n", " metrics=[keras.metrics.SparseCategoricalAccuracy()],\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "58dc05fa2736" }, "source": [ "`fit()` を呼び出します。これは、データを `batch_size` サイズの「バッチ」にスライスし、指定された数の `epochs` 間にデータセット全体を繰り返しイテレートすることでモデルをトレーニングします。" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:32.433806Z", "iopub.status.busy": "2022-12-14T21:42:32.433369Z", "iopub.status.idle": "2022-12-14T21:42:38.275569Z", "shell.execute_reply": "2022-12-14T21:42:38.274844Z" }, "id": "0b92f67b105e" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fit model on training data\n", "Epoch 1/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 17:31 - loss: 2.3241 - sparse_categorical_accuracy: 0.1406" ] }, { "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\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", " 22/782 [..............................] - ETA: 1s - loss: 1.7083 - sparse_categorical_accuracy: 0.5234 " ] }, { "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\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", " 45/782 [>.............................] - ETA: 1s - loss: 1.3042 - sparse_categorical_accuracy: 0.6594" ] }, { "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\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", " 68/782 [=>............................] - ETA: 1s - loss: 1.0756 - sparse_categorical_accuracy: 0.7213" ] }, { "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\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", " 91/782 [==>...........................] - ETA: 1s - loss: 0.9399 - sparse_categorical_accuracy: 0.7514" ] }, { "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\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", "113/782 [===>..........................] - ETA: 1s - loss: 0.8407 - sparse_categorical_accuracy: 0.7753" ] }, { "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\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", "135/782 [====>.........................] - ETA: 1s - loss: 0.7746 - sparse_categorical_accuracy: 0.7922" ] }, { "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\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", "157/782 [=====>........................] - ETA: 1s - loss: 0.7186 - sparse_categorical_accuracy: 0.8058" ] }, { "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\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", "180/782 [=====>........................] - ETA: 1s - loss: 0.6747 - sparse_categorical_accuracy: 0.8174" ] }, { "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\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", "203/782 [======>.......................] - ETA: 1s - loss: 0.6352 - sparse_categorical_accuracy: 0.8264" ] }, { "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\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", "225/782 [=======>......................] - ETA: 1s - loss: 0.6075 - sparse_categorical_accuracy: 0.8340" ] }, { "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\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", "247/782 [========>.....................] - ETA: 1s - loss: 0.5851 - sparse_categorical_accuracy: 0.8388" ] }, { "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\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", "270/782 [=========>....................] - ETA: 1s - loss: 0.5590 - sparse_categorical_accuracy: 0.8456" ] }, { "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\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", "292/782 [==========>...................] - ETA: 1s - loss: 0.5412 - sparse_categorical_accuracy: 0.8502" ] }, { "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\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", "314/782 [===========>..................] - ETA: 1s - loss: 0.5244 - sparse_categorical_accuracy: 0.8550" ] }, { "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\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", "336/782 [===========>..................] - ETA: 1s - loss: 0.5097 - sparse_categorical_accuracy: 0.8591" ] }, { "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\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", "360/782 [============>.................] - ETA: 0s - loss: 0.4942 - sparse_categorical_accuracy: 0.8633" ] }, { "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\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", "384/782 [=============>................] - ETA: 0s - loss: 0.4817 - sparse_categorical_accuracy: 0.8659" ] }, { "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\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", "407/782 [==============>...............] - ETA: 0s - loss: 0.4720 - sparse_categorical_accuracy: 0.8689" ] }, { "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\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", "430/782 [===============>..............] - ETA: 0s - loss: 0.4641 - sparse_categorical_accuracy: 0.8709" ] }, { "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\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", "453/782 [================>.............] - ETA: 0s - loss: 0.4543 - sparse_categorical_accuracy: 0.8735" ] }, { "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\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", "476/782 [=================>............] - ETA: 0s - loss: 0.4471 - sparse_categorical_accuracy: 0.8754" ] }, { "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\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", "500/782 [==================>...........] - ETA: 0s - loss: 0.4382 - sparse_categorical_accuracy: 0.8776" ] }, { "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\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", "524/782 [===================>..........] - ETA: 0s - loss: 0.4286 - sparse_categorical_accuracy: 0.8800" ] }, { "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\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", "549/782 [====================>.........] - ETA: 0s - loss: 0.4210 - sparse_categorical_accuracy: 0.8821" ] }, { "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\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", "573/782 [====================>.........] - ETA: 0s - loss: 0.4135 - sparse_categorical_accuracy: 0.8843" ] }, { "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\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", "598/782 [=====================>........] - ETA: 0s - loss: 0.4059 - sparse_categorical_accuracy: 0.8862" ] }, { "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\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", "622/782 [======================>.......] - ETA: 0s - loss: 0.3985 - sparse_categorical_accuracy: 0.8881" ] }, { "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\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", "646/782 [=======================>......] - ETA: 0s - loss: 0.3935 - sparse_categorical_accuracy: 0.8892" ] }, { "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\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", "670/782 [========================>.....] - ETA: 0s - loss: 0.3877 - sparse_categorical_accuracy: 0.8907" ] }, { "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\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", "694/782 [=========================>....] - ETA: 0s - loss: 0.3820 - sparse_categorical_accuracy: 0.8920" ] }, { "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\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", "718/782 [==========================>...] - ETA: 0s - loss: 0.3771 - sparse_categorical_accuracy: 0.8935" ] }, { "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\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", "742/782 [===========================>..] - ETA: 0s - loss: 0.3725 - sparse_categorical_accuracy: 0.8947" ] }, { "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\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", "766/782 [============================>.] - ETA: 0s - loss: 0.3675 - sparse_categorical_accuracy: 0.8962" ] }, { "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\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", "782/782 [==============================] - 4s 3ms/step - loss: 0.3639 - sparse_categorical_accuracy: 0.8973 - val_loss: 0.1885 - val_sparse_categorical_accuracy: 0.9446\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 2s - loss: 0.4426 - sparse_categorical_accuracy: 0.8906" ] }, { "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\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", " 24/782 [..............................] - ETA: 1s - loss: 0.2086 - sparse_categorical_accuracy: 0.9368" ] }, { "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\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", " 46/782 [>.............................] - ETA: 1s - loss: 0.1918 - sparse_categorical_accuracy: 0.9423" ] }, { "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\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", " 68/782 [=>............................] - ETA: 1s - loss: 0.1938 - sparse_categorical_accuracy: 0.9430" ] }, { "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\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", " 91/782 [==>...........................] - ETA: 1s - loss: 0.1963 - sparse_categorical_accuracy: 0.9414" ] }, { "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\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", "115/782 [===>..........................] - ETA: 1s - loss: 0.2004 - sparse_categorical_accuracy: 0.9416" ] }, { "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\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", "139/782 [====>.........................] - ETA: 1s - loss: 0.2052 - sparse_categorical_accuracy: 0.9404" ] }, { "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\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", "163/782 [=====>........................] - ETA: 1s - loss: 0.2029 - sparse_categorical_accuracy: 0.9410" ] }, { "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\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", "187/782 [======>.......................] - ETA: 1s - loss: 0.1962 - sparse_categorical_accuracy: 0.9431" ] }, { "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\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", "211/782 [=======>......................] - ETA: 1s - loss: 0.1955 - sparse_categorical_accuracy: 0.9427" ] }, { "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\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", "235/782 [========>.....................] - ETA: 1s - loss: 0.1938 - sparse_categorical_accuracy: 0.9434" ] }, { "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\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", "259/782 [========>.....................] - ETA: 1s - loss: 0.1931 - sparse_categorical_accuracy: 0.9434" ] }, { "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\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", "284/782 [=========>....................] - ETA: 1s - loss: 0.1926 - sparse_categorical_accuracy: 0.9436" ] }, { "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\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", "309/782 [==========>...................] - ETA: 1s - loss: 0.1936 - sparse_categorical_accuracy: 0.9433" ] }, { "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\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", "334/782 [===========>..................] - ETA: 0s - loss: 0.1915 - sparse_categorical_accuracy: 0.9441" ] }, { "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\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", "358/782 [============>.................] - ETA: 0s - loss: 0.1894 - sparse_categorical_accuracy: 0.9450" ] }, { "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\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", "382/782 [=============>................] - ETA: 0s - loss: 0.1891 - sparse_categorical_accuracy: 0.9450" ] }, { "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\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", "406/782 [==============>...............] - ETA: 0s - loss: 0.1865 - sparse_categorical_accuracy: 0.9454" ] }, { "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\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", "430/782 [===============>..............] - ETA: 0s - loss: 0.1851 - sparse_categorical_accuracy: 0.9458" ] }, { "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\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", "454/782 [================>.............] - ETA: 0s - loss: 0.1831 - sparse_categorical_accuracy: 0.9461" ] }, { "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\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", "478/782 [=================>............] - ETA: 0s - loss: 0.1833 - sparse_categorical_accuracy: 0.9460" ] }, { "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\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", "502/782 [==================>...........] - ETA: 0s - loss: 0.1827 - sparse_categorical_accuracy: 0.9458" ] }, { "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\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", "526/782 [===================>..........] - ETA: 0s - loss: 0.1816 - sparse_categorical_accuracy: 0.9461" ] }, { "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\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", "550/782 [====================>.........] - ETA: 0s - loss: 0.1811 - sparse_categorical_accuracy: 0.9462" ] }, { "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\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", "575/782 [=====================>........] - ETA: 0s - loss: 0.1802 - sparse_categorical_accuracy: 0.9465" ] }, { "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\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", "599/782 [=====================>........] - ETA: 0s - loss: 0.1788 - sparse_categorical_accuracy: 0.9469" ] }, { "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\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", "623/782 [======================>.......] - ETA: 0s - loss: 0.1769 - sparse_categorical_accuracy: 0.9473" ] }, { "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\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", "647/782 [=======================>......] - ETA: 0s - loss: 0.1755 - sparse_categorical_accuracy: 0.9478" ] }, { "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\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", "671/782 [========================>.....] - ETA: 0s - loss: 0.1733 - sparse_categorical_accuracy: 0.9483" ] }, { "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\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", "695/782 [=========================>....] - ETA: 0s - loss: 0.1723 - sparse_categorical_accuracy: 0.9486" ] }, { "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\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", "719/782 [==========================>...] - ETA: 0s - loss: 0.1722 - sparse_categorical_accuracy: 0.9487" ] }, { "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\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", "743/782 [===========================>..] - ETA: 0s - loss: 0.1721 - sparse_categorical_accuracy: 0.9486" ] }, { "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\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", "767/782 [============================>.] - ETA: 0s - loss: 0.1714 - sparse_categorical_accuracy: 0.9489" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1708 - sparse_categorical_accuracy: 0.9490 - val_loss: 0.1303 - val_sparse_categorical_accuracy: 0.9621\n" ] } ], "source": [ "print(\"Fit model on training data\")\n", "history = model.fit(\n", " x_train,\n", " y_train,\n", " batch_size=64,\n", " epochs=2,\n", " # We pass some validation for\n", " # monitoring validation loss and metrics\n", " # at the end of each epoch\n", " validation_data=(x_val, y_val),\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "896edfc3d7c4" }, "source": [ "返された `history` オブジェクトは、トレーニング間の損失値とメトリクス値の記録を保持します。" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:38.279399Z", "iopub.status.busy": "2022-12-14T21:42:38.278763Z", "iopub.status.idle": "2022-12-14T21:42:38.285297Z", "shell.execute_reply": "2022-12-14T21:42:38.284731Z" }, "id": "a20b8f5b9fcc" }, "outputs": [ { "data": { "text/plain": [ "{'loss': [0.36385416984558105, 0.17080071568489075],\n", " 'sparse_categorical_accuracy': [0.8973000049591064, 0.94896000623703],\n", " 'val_loss': [0.18849268555641174, 0.13027681410312653],\n", " 'val_sparse_categorical_accuracy': [0.944599986076355, 0.9621000289916992]}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "history.history" ] }, { "cell_type": "markdown", "metadata": { "id": "6105b646df66" }, "source": [ "`evaluate()` を介してテストデータでモデルを評価します。" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:38.288399Z", "iopub.status.busy": "2022-12-14T21:42:38.287949Z", "iopub.status.idle": "2022-12-14T21:42:38.647393Z", "shell.execute_reply": "2022-12-14T21:42:38.646720Z" }, "id": "69f524a93f9d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Evaluate on test data\n", "\r", " 1/79 [..............................] - ETA: 1s - loss: 0.0377 - sparse_categorical_accuracy: 1.0000" ] }, { "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\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", "28/79 [=========>....................] - ETA: 0s - loss: 0.1690 - sparse_categorical_accuracy: 0.9506" ] }, { "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\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", "55/79 [===================>..........] - ETA: 0s - loss: 0.1542 - sparse_categorical_accuracy: 0.9541" ] }, { "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\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", "79/79 [==============================] - 0s 2ms/step - loss: 0.1316 - sparse_categorical_accuracy: 0.9607\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "test loss, test acc: [0.13158978521823883, 0.9606999754905701]\n", "Generate predictions for 3 samples\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/1 [==============================] - ETA: 0s" ] }, { "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\r", "1/1 [==============================] - 0s 71ms/step\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "predictions shape: (3, 10)\n" ] } ], "source": [ "# Evaluate the model on the test data using `evaluate`\n", "print(\"Evaluate on test data\")\n", "results = model.evaluate(x_test, y_test, batch_size=128)\n", "print(\"test loss, test acc:\", results)\n", "\n", "# Generate predictions (probabilities -- the output of the last layer)\n", "# on new data using `predict`\n", "print(\"Generate predictions for 3 samples\")\n", "predictions = model.predict(x_test[:3])\n", "print(\"predictions shape:\", predictions.shape)" ] }, { "cell_type": "markdown", "metadata": { "id": "f19d074eb88c" }, "source": [ "では、このワークフローの各部分を詳しく見ていきましょう。" ] }, { "cell_type": "markdown", "metadata": { "id": "f3669f026d14" }, "source": [ "## `compile()` メソッド: 損失、メトリクス、およびオプティマイザを指定する\n", "\n", "`fit()` を使用してモデルをトレーニングするには、損失関数、オプティマイザ、および必要に応じて監視するメトリクスを指定する必要があります。\n", "\n", "これらを `compile()` メソッドの引数としてモデルに渡します。" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:38.651195Z", "iopub.status.busy": "2022-12-14T21:42:38.650574Z", "iopub.status.idle": "2022-12-14T21:42:38.661372Z", "shell.execute_reply": "2022-12-14T21:42:38.660702Z" }, "id": "eb7a8deb494c" }, "outputs": [], "source": [ "model.compile(\n", " optimizer=keras.optimizers.RMSprop(learning_rate=1e-3),\n", " loss=keras.losses.SparseCategoricalCrossentropy(),\n", " metrics=[keras.metrics.SparseCategoricalAccuracy()],\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "b934b428dc43" }, "source": [ "`metrics` 引数はリストである必要があります。モデルは任意の数のメトリクスを持つことができます。\n", "\n", "モデルに複数の出力がある場合、出力ごとに異なる損失とメトリクスを指定でき、モデルの総損失に対する各出力の貢献を修正できます。詳細については、「 **データを多入力多出力モデルに渡す**」セクションをご覧ください。\n", "\n", "デフォルト設定に満足している場合、多くの場合、オプティマイザ、損失、およびメトリクスは、ショートカットとして文字列識別子を介して指定できます。" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:38.664959Z", "iopub.status.busy": "2022-12-14T21:42:38.664500Z", "iopub.status.idle": "2022-12-14T21:42:38.672420Z", "shell.execute_reply": "2022-12-14T21:42:38.671869Z" }, "id": "6444839ff300" }, "outputs": [], "source": [ "model.compile(\n", " optimizer=\"rmsprop\",\n", " loss=\"sparse_categorical_crossentropy\",\n", " metrics=[\"sparse_categorical_accuracy\"],\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "5493ab963254" }, "source": [ "後で再利用できるよう、モデルの定義とコンパイルの手順を関数に入れましょう。このガイドでは、さまざまな例でこの関数を何度か呼び出しています。" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:38.675850Z", "iopub.status.busy": "2022-12-14T21:42:38.675303Z", "iopub.status.idle": "2022-12-14T21:42:38.679746Z", "shell.execute_reply": "2022-12-14T21:42:38.679179Z" }, "id": "31c3e3c70f06" }, "outputs": [], "source": [ "def get_uncompiled_model():\n", " inputs = keras.Input(shape=(784,), name=\"digits\")\n", " x = layers.Dense(64, activation=\"relu\", name=\"dense_1\")(inputs)\n", " x = layers.Dense(64, activation=\"relu\", name=\"dense_2\")(x)\n", " outputs = layers.Dense(10, activation=\"softmax\", name=\"predictions\")(x)\n", " model = keras.Model(inputs=inputs, outputs=outputs)\n", " return model\n", "\n", "\n", "def get_compiled_model():\n", " model = get_uncompiled_model()\n", " model.compile(\n", " optimizer=\"rmsprop\",\n", " loss=\"sparse_categorical_crossentropy\",\n", " metrics=[\"sparse_categorical_accuracy\"],\n", " )\n", " return model\n" ] }, { "cell_type": "markdown", "metadata": { "id": "535137cf19b2" }, "source": [ "### 提供されている多数の組み込みオプティマイザ、損失、およびメトリクス\n", "\n", "一般的に、Keras API には必要とされているものが含まれているため、一般的に、独自の損失、メトリクス、またはオプティマイザを新規作成する必要はありません。\n", "\n", "オプティマイザ:\n", "\n", "- `SGD()`(モメンタムの有無に関係なく)\n", "- `RMSprop()`\n", "- `Adam()`\n", "- など\n", "\n", "損失:\n", "\n", "- `MeanSquaredError()`\n", "- `KLDivergence()`\n", "- `CosineSimilarity()`\n", "- など\n", "\n", "メトリクス:\n", "\n", "- `AUC()`\n", "- `Precision()`\n", "- `Recall()`\n", "- など" ] }, { "cell_type": "markdown", "metadata": { "id": "cdc4c3d72a21" }, "source": [ "### カスタム損失\n", "\n", "カスタム損失を作成する必要がある場合、Keras には作成する方法が 2 つあります。\n", "\n", "最初の方法は、入力 `y_true` と `y_pred` を受け入れる関数を作成する方法です。次の例は、実データと予測の間の平均二乗誤差を計算する損失関数を示しています。" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:38.683149Z", "iopub.status.busy": "2022-12-14T21:42:38.682631Z", "iopub.status.idle": "2022-12-14T21:42:41.739341Z", "shell.execute_reply": "2022-12-14T21:42:41.738603Z" }, "id": "cc4edd47bb5a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 14:09 - loss: 0.0901" ] }, { "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\b\b\b\b\b\r", " 24/782 [..............................] - ETA: 1s - loss: 0.0783 " ] }, { "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\b\b\r", " 50/782 [>.............................] - ETA: 1s - loss: 0.0607" ] }, { "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\b\b\r", " 75/782 [=>............................] - ETA: 1s - loss: 0.0499" ] }, { "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\b\b\r", "100/782 [==>...........................] - ETA: 1s - loss: 0.0432" ] }, { "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\b\b\r", "125/782 [===>..........................] - ETA: 1s - loss: 0.0385" ] }, { "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\b\b\r", "151/782 [====>.........................] - ETA: 1s - loss: 0.0351" ] }, { "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\b\b\r", "176/782 [=====>........................] - ETA: 1s - loss: 0.0323" ] }, { "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\b\b\r", "202/782 [======>.......................] - ETA: 1s - loss: 0.0302" ] }, { "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\b\b\r", "228/782 [=======>......................] - ETA: 1s - loss: 0.0284" ] }, { "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\b\b\r", "254/782 [========>.....................] - ETA: 1s - loss: 0.0269" ] }, { "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\b\b\r", "279/782 [=========>....................] - ETA: 1s - loss: 0.0258" ] }, { "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\b\b\r", "305/782 [==========>...................] - ETA: 0s - loss: 0.0248" ] }, { "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\b\b\r", "331/782 [===========>..................] - ETA: 0s - loss: 0.0240" ] }, { "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\b\b\r", "357/782 [============>.................] - ETA: 0s - loss: 0.0233" ] }, { "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\b\b\r", "382/782 [=============>................] - ETA: 0s - loss: 0.0226" ] }, { "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\b\b\r", "408/782 [==============>...............] - ETA: 0s - loss: 0.0219" ] }, { "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\b\b\r", "434/782 [===============>..............] - ETA: 0s - loss: 0.0213" ] }, { "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\b\b\r", "459/782 [================>.............] - ETA: 0s - loss: 0.0208" ] }, { "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\b\b\r", "484/782 [=================>............] - ETA: 0s - loss: 0.0203" ] }, { "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\b\b\r", "509/782 [==================>...........] - ETA: 0s - loss: 0.0198" ] }, { "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\b\b\r", "534/782 [===================>..........] - ETA: 0s - loss: 0.0194" ] }, { "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\b\b\r", "559/782 [====================>.........] - ETA: 0s - loss: 0.0190" ] }, { "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\b\b\r", "584/782 [=====================>........] - ETA: 0s - loss: 0.0187" ] }, { "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\b\b\r", "609/782 [======================>.......] - ETA: 0s - loss: 0.0184" ] }, { "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\b\b\r", "634/782 [=======================>......] - ETA: 0s - loss: 0.0180" ] }, { "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\b\b\r", "659/782 [========================>.....] - ETA: 0s - loss: 0.0177" ] }, { "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\b\b\r", "684/782 [=========================>....] - ETA: 0s - loss: 0.0174" ] }, { "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\b\b\r", "709/782 [==========================>...] - ETA: 0s - loss: 0.0172" ] }, { "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\b\b\r", "735/782 [===========================>..] - ETA: 0s - loss: 0.0169" ] }, { "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\b\b\r", "761/782 [============================>.] - ETA: 0s - loss: 0.0167" ] }, { "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\b\b\r", "782/782 [==============================] - 3s 2ms/step - loss: 0.0165\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def custom_mean_squared_error(y_true, y_pred):\n", " return tf.math.reduce_mean(tf.square(y_true - y_pred))\n", "\n", "\n", "model = get_uncompiled_model()\n", "model.compile(optimizer=keras.optimizers.Adam(), loss=custom_mean_squared_error)\n", "\n", "# We need to one-hot encode the labels to use MSE\n", "y_train_one_hot = tf.one_hot(y_train, depth=10)\n", "model.fit(x_train, y_train_one_hot, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "25b9fa7941ca" }, "source": [ "`y_true`および`y_pred`以外のパラメータを取る損失関数が必要な場合は、`tf.keras.losses.Loss` クラスをサブクラス化して、次の 2 つのメソッドを実装できます。\n", "\n", "- `__init__(self)`: 損失関数の呼び出し中に渡すパラメータを受け入れる\n", "- `call(self, y_true, y_pred)`: ターゲット(y_true)とモデル予測(y_pred)を使用してモデルの損失を計算する\n", "\n", "平均二乗誤差を使用する際に、0.5 より離れた予測値にペナルティを与えるとします(カテゴリターゲットはワンホットエンコードされ、0 と 1 の間の値を取ると想定します)。これにより、モデルの信頼性が調整され、過剰適合を防ぐのに役立ちます(ただし、実際に試してみるまで、その効果はわかりません!)。\n", "\n", "以下のように記述します。" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:41.742742Z", "iopub.status.busy": "2022-12-14T21:42:41.742472Z", "iopub.status.idle": "2022-12-14T21:42:44.849640Z", "shell.execute_reply": "2022-12-14T21:42:44.848795Z" }, "id": "b09463a8c568" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 12:14 - loss: 0.1084" ] }, { "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\b\b\b\b\b\r", " 22/782 [..............................] - ETA: 1s - loss: 0.0978 " ] }, { "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\b\b\r", " 45/782 [>.............................] - ETA: 1s - loss: 0.0819" ] }, { "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\b\b\r", " 67/782 [=>............................] - ETA: 1s - loss: 0.0718" ] }, { "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\b\b\r", " 89/782 [==>...........................] - ETA: 1s - loss: 0.0651" ] }, { "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\b\b\r", "111/782 [===>..........................] - ETA: 1s - loss: 0.0608" ] }, { "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\b\b\r", "133/782 [====>.........................] - ETA: 1s - loss: 0.0572" ] }, { "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\b\b\r", "155/782 [====>.........................] - ETA: 1s - loss: 0.0548" ] }, { "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\b\b\r", "178/782 [=====>........................] - ETA: 1s - loss: 0.0527" ] }, { "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\b\b\r", "200/782 [======>.......................] - ETA: 1s - loss: 0.0509" ] }, { "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\b\b\r", "222/782 [=======>......................] - ETA: 1s - loss: 0.0496" ] }, { "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\b\b\r", "245/782 [========>.....................] - ETA: 1s - loss: 0.0485" ] }, { "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\b\b\r", "268/782 [=========>....................] - ETA: 1s - loss: 0.0475" ] }, { "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\b\b\r", "291/782 [==========>...................] - ETA: 1s - loss: 0.0465" ] }, { "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\b\b\r", "314/782 [===========>..................] - ETA: 1s - loss: 0.0458" ] }, { "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\b\b\r", "337/782 [===========>..................] - ETA: 1s - loss: 0.0451" ] }, { "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\b\b\r", "360/782 [============>.................] - ETA: 0s - loss: 0.0445" ] }, { "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\b\b\r", "382/782 [=============>................] - ETA: 0s - loss: 0.0440" ] }, { "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\b\b\r", "405/782 [==============>...............] - ETA: 0s - loss: 0.0434" ] }, { "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\b\b\r", "428/782 [===============>..............] - ETA: 0s - loss: 0.0430" ] }, { "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\b\b\r", "451/782 [================>.............] - ETA: 0s - loss: 0.0426" ] }, { "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\b\b\r", "473/782 [=================>............] - ETA: 0s - loss: 0.0423" ] }, { "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\b\b\r", "495/782 [=================>............] - ETA: 0s - loss: 0.0420" ] }, { "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\b\b\r", "517/782 [==================>...........] - ETA: 0s - loss: 0.0416" ] }, { "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\b\b\r", "539/782 [===================>..........] - ETA: 0s - loss: 0.0413" ] }, { "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\b\b\r", "562/782 [====================>.........] - ETA: 0s - loss: 0.0410" ] }, { "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\b\b\r", "585/782 [=====================>........] - ETA: 0s - loss: 0.0407" ] }, { "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\b\b\r", "607/782 [======================>.......] - ETA: 0s - loss: 0.0404" ] }, { "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\b\b\r", "629/782 [=======================>......] - ETA: 0s - loss: 0.0402" ] }, { "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\b\b\r", "651/782 [=======================>......] - ETA: 0s - loss: 0.0399" ] }, { "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\b\b\r", "674/782 [========================>.....] - ETA: 0s - loss: 0.0397" ] }, { "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\b\b\r", "698/782 [=========================>....] - ETA: 0s - loss: 0.0394" ] }, { "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\b\b\r", "721/782 [==========================>...] - ETA: 0s - loss: 0.0392" ] }, { "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\b\b\r", "744/782 [===========================>..] - ETA: 0s - loss: 0.0390" ] }, { "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\b\b\r", "767/782 [============================>.] - ETA: 0s - loss: 0.0388" ] }, { "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\b\b\r", "782/782 [==============================] - 3s 2ms/step - loss: 0.0387\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class CustomMSE(keras.losses.Loss):\n", " def __init__(self, regularization_factor=0.1, name=\"custom_mse\"):\n", " super().__init__(name=name)\n", " self.regularization_factor = regularization_factor\n", "\n", " def call(self, y_true, y_pred):\n", " mse = tf.math.reduce_mean(tf.square(y_true - y_pred))\n", " reg = tf.math.reduce_mean(tf.square(0.5 - y_pred))\n", " return mse + reg * self.regularization_factor\n", "\n", "\n", "model = get_uncompiled_model()\n", "model.compile(optimizer=keras.optimizers.Adam(), loss=CustomMSE())\n", "\n", "y_train_one_hot = tf.one_hot(y_train, depth=10)\n", "model.fit(x_train, y_train_one_hot, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "e2d7d358b4eb" }, "source": [ "### カスタムメトリック\n", "\n", "API に含まれていないメトリックが必要な場合は、`tf.keras.metrics.Metric`クラスをサブクラス化することにより、カスタムメトリックを簡単に作成できます。\n", "\n", "- `__init__(self)` - メトリックの状態変数を作成します。\n", "- `update_state(self, y_true, y_pred, sample_weight=None)` - ターゲット (y_true) とモデル予測 (y_pred) を使用し状態変数を更新します。\n", "- `result(self)` - 状態変数を使用して最終結果を計算します。\n", "- `reset_state(self)` - メトリックの状態を再初期化します。\n", "\n", "多くの場合、結果の計算に非常に負荷がかかり、定期的にしか実行されないため、状態の更新(`update_state()`)と結果の計算(`result()`)は別々に保持されます。\n", "\n", "以下は、`CategoricalTruePositives`メトリックを実装する方法を示す簡単な例です。これは、特定のクラスに属するものとして正しく分類されたサンプル数を数えます。" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:44.853608Z", "iopub.status.busy": "2022-12-14T21:42:44.853019Z", "iopub.status.idle": "2022-12-14T21:42:51.096665Z", "shell.execute_reply": "2022-12-14T21:42:51.095939Z" }, "id": "2ad9c57c0683" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:43 - loss: 2.3226 - categorical_true_positives: 11.0000" ] }, { "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\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", " 23/782 [..............................] - ETA: 1s - loss: 1.5110 - categorical_true_positives: 903.0000 " ] }, { "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\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", " 45/782 [>.............................] - ETA: 1s - loss: 1.1606 - categorical_true_positives: 2028.0000" ] }, { "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\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", " 68/782 [=>............................] - ETA: 1s - loss: 0.9627 - categorical_true_positives: 3265.0000" ] }, { "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\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", " 91/782 [==>...........................] - ETA: 1s - loss: 0.8428 - categorical_true_positives: 4545.0000" ] }, { "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\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", "114/782 [===>..........................] - ETA: 1s - loss: 0.7553 - categorical_true_positives: 5841.0000" ] }, { "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\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", "137/782 [====>.........................] - ETA: 1s - loss: 0.6929 - categorical_true_positives: 7145.0000" ] }, { "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\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", "160/782 [=====>........................] - ETA: 1s - loss: 0.6457 - categorical_true_positives: 8461.0000" ] }, { "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\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", "183/782 [======>.......................] - ETA: 1s - loss: 0.6074 - categorical_true_positives: 9795.0000" ] }, { "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\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", "207/782 [======>.......................] - ETA: 1s - loss: 0.5778 - categorical_true_positives: 11161.0000" ] }, { "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\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", "230/782 [=======>......................] - ETA: 1s - loss: 0.5538 - categorical_true_positives: 12487.0000" ] }, { "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\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", "253/782 [========>.....................] - ETA: 1s - loss: 0.5323 - categorical_true_positives: 13820.0000" ] }, { "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\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", "276/782 [=========>....................] - ETA: 1s - loss: 0.5136 - categorical_true_positives: 15161.0000" ] }, { "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\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", "299/782 [==========>...................] - ETA: 1s - loss: 0.4978 - categorical_true_positives: 16491.0000" ] }, { "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\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", "322/782 [===========>..................] - ETA: 1s - loss: 0.4852 - categorical_true_positives: 17827.0000" ] }, { "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\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", "346/782 [============>.................] - ETA: 0s - loss: 0.4722 - categorical_true_positives: 19226.0000" ] }, { "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\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", "370/782 [=============>................] - ETA: 0s - loss: 0.4571 - categorical_true_positives: 20660.0000" ] }, { "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\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", "394/782 [==============>...............] - ETA: 0s - loss: 0.4453 - categorical_true_positives: 22068.0000" ] }, { "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\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", "418/782 [===============>..............] - ETA: 0s - loss: 0.4334 - categorical_true_positives: 23501.0000" ] }, { "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\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", "442/782 [===============>..............] - ETA: 0s - loss: 0.4253 - categorical_true_positives: 24912.0000" ] }, { "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\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", "465/782 [================>.............] - ETA: 0s - loss: 0.4174 - categorical_true_positives: 26276.0000" ] }, { "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\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", "488/782 [=================>............] - ETA: 0s - loss: 0.4098 - categorical_true_positives: 27632.0000" ] }, { "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\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", "511/782 [==================>...........] - ETA: 0s - loss: 0.4026 - categorical_true_positives: 29002.0000" ] }, { "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\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", "534/782 [===================>..........] - ETA: 0s - loss: 0.3934 - categorical_true_positives: 30385.0000" ] }, { "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\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", "557/782 [====================>.........] - ETA: 0s - loss: 0.3862 - categorical_true_positives: 31755.0000" ] }, { "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\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", "580/782 [=====================>........] - ETA: 0s - loss: 0.3813 - categorical_true_positives: 33104.0000" ] }, { "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\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", "603/782 [======================>.......] - ETA: 0s - loss: 0.3745 - categorical_true_positives: 34489.0000" ] }, { "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\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", "627/782 [=======================>......] - ETA: 0s - loss: 0.3690 - categorical_true_positives: 35916.0000" ] }, { "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\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", "651/782 [=======================>......] - ETA: 0s - loss: 0.3648 - categorical_true_positives: 37338.0000" ] }, { "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\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", "675/782 [========================>.....] - ETA: 0s - loss: 0.3598 - categorical_true_positives: 38771.0000" ] }, { "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\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", "698/782 [=========================>....] - ETA: 0s - loss: 0.3549 - categorical_true_positives: 40152.0000" ] }, { "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\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", "722/782 [==========================>...] - ETA: 0s - loss: 0.3504 - categorical_true_positives: 41596.0000" ] }, { "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\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", "746/782 [===========================>..] - ETA: 0s - loss: 0.3462 - categorical_true_positives: 43022.0000" ] }, { "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\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", "770/782 [============================>.] - ETA: 0s - loss: 0.3434 - categorical_true_positives: 44455.0000" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.3412 - categorical_true_positives: 45135.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 2s - loss: 0.1047 - categorical_true_positives: 63.0000" ] }, { "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\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", " 25/782 [..............................] - ETA: 1s - loss: 0.2043 - categorical_true_positives: 1507.0000" ] }, { "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\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", " 49/782 [>.............................] - ETA: 1s - loss: 0.2056 - categorical_true_positives: 2945.0000" ] }, { "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\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", " 73/782 [=>............................] - ETA: 1s - loss: 0.1923 - categorical_true_positives: 4406.0000" ] }, { "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\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", " 97/782 [==>...........................] - ETA: 1s - loss: 0.1903 - categorical_true_positives: 5862.0000" ] }, { "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\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", "122/782 [===>..........................] - ETA: 1s - loss: 0.1922 - categorical_true_positives: 7372.0000" ] }, { "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\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", "146/782 [====>.........................] - ETA: 1s - loss: 0.1911 - categorical_true_positives: 8818.0000" ] }, { "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\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", "170/782 [=====>........................] - ETA: 1s - loss: 0.1875 - categorical_true_positives: 10277.0000" ] }, { "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\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", "193/782 [======>.......................] - ETA: 1s - loss: 0.1883 - categorical_true_positives: 11677.0000" ] }, { "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\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", "217/782 [=======>......................] - ETA: 1s - loss: 0.1842 - categorical_true_positives: 13145.0000" ] }, { "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\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", "241/782 [========>.....................] - ETA: 1s - loss: 0.1824 - categorical_true_positives: 14602.0000" ] }, { "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\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", "265/782 [=========>....................] - ETA: 1s - loss: 0.1830 - categorical_true_positives: 16050.0000" ] }, { "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\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", "288/782 [==========>...................] - ETA: 1s - loss: 0.1807 - categorical_true_positives: 17460.0000" ] }, { "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\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", "312/782 [==========>...................] - ETA: 1s - loss: 0.1791 - categorical_true_positives: 18926.0000" ] }, { "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\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", "336/782 [===========>..................] - ETA: 0s - loss: 0.1780 - categorical_true_positives: 20391.0000" ] }, { "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\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", "360/782 [============>.................] - ETA: 0s - loss: 0.1756 - categorical_true_positives: 21859.0000" ] }, { "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\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", "384/782 [=============>................] - ETA: 0s - loss: 0.1750 - categorical_true_positives: 23317.0000" ] }, { "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\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", "408/782 [==============>...............] - ETA: 0s - loss: 0.1734 - categorical_true_positives: 24787.0000" ] }, { "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\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", "432/782 [===============>..............] - ETA: 0s - loss: 0.1726 - categorical_true_positives: 26242.0000" ] }, { "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\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", "456/782 [================>.............] - ETA: 0s - loss: 0.1737 - categorical_true_positives: 27692.0000" ] }, { "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\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", "479/782 [=================>............] - ETA: 0s - loss: 0.1744 - categorical_true_positives: 29084.0000" ] }, { "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\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", "502/782 [==================>...........] - ETA: 0s - loss: 0.1730 - categorical_true_positives: 30489.0000" ] }, { "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\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", "526/782 [===================>..........] - ETA: 0s - loss: 0.1731 - categorical_true_positives: 31944.0000" ] }, { "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\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", "550/782 [====================>.........] - ETA: 0s - loss: 0.1734 - categorical_true_positives: 33397.0000" ] }, { "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\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", "573/782 [====================>.........] - ETA: 0s - loss: 0.1732 - categorical_true_positives: 34798.0000" ] }, { "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\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", "596/782 [=====================>........] - ETA: 0s - loss: 0.1731 - categorical_true_positives: 36187.0000" ] }, { "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\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", "619/782 [======================>.......] - ETA: 0s - loss: 0.1724 - categorical_true_positives: 37593.0000" ] }, { "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\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", "642/782 [=======================>......] - ETA: 0s - loss: 0.1723 - categorical_true_positives: 38986.0000" ] }, { "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\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", "665/782 [========================>.....] - ETA: 0s - loss: 0.1717 - categorical_true_positives: 40390.0000" ] }, { "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\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", "688/782 [=========================>....] - ETA: 0s - loss: 0.1707 - categorical_true_positives: 41800.0000" ] }, { "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\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", "712/782 [==========================>...] - ETA: 0s - loss: 0.1702 - categorical_true_positives: 43264.0000" ] }, { "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\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", "735/782 [===========================>..] - ETA: 0s - loss: 0.1698 - categorical_true_positives: 44660.0000" ] }, { "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\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", "758/782 [============================>.] - ETA: 0s - loss: 0.1692 - categorical_true_positives: 46070.0000" ] }, { "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\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", "781/782 [============================>.] - ETA: 0s - loss: 0.1684 - categorical_true_positives: 47484.0000" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1684 - categorical_true_positives: 47499.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 2s - loss: 0.1548 - categorical_true_positives: 62.0000" ] }, { "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\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", " 26/782 [..............................] - ETA: 1s - loss: 0.1384 - categorical_true_positives: 1596.0000" ] }, { "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\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", " 50/782 [>.............................] - ETA: 1s - loss: 0.1505 - categorical_true_positives: 3066.0000" ] }, { "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\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", " 74/782 [=>............................] - ETA: 1s - loss: 0.1401 - categorical_true_positives: 4544.0000" ] }, { "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\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", " 97/782 [==>...........................] - ETA: 1s - loss: 0.1385 - categorical_true_positives: 5947.0000" ] }, { "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\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", "121/782 [===>..........................] - ETA: 1s - loss: 0.1382 - categorical_true_positives: 7422.0000" ] }, { "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\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", "144/782 [====>.........................] - ETA: 1s - loss: 0.1427 - categorical_true_positives: 8824.0000" ] }, { "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\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", "168/782 [=====>........................] - ETA: 1s - loss: 0.1384 - categorical_true_positives: 10301.0000" ] }, { "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\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", "192/782 [======>.......................] - ETA: 1s - loss: 0.1377 - categorical_true_positives: 11768.0000" ] }, { "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\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", "216/782 [=======>......................] - ETA: 1s - loss: 0.1359 - categorical_true_positives: 13243.0000" ] }, { "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\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", "240/782 [========>.....................] - ETA: 1s - loss: 0.1349 - categorical_true_positives: 14716.0000" ] }, { "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\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", "264/782 [=========>....................] - ETA: 1s - loss: 0.1325 - categorical_true_positives: 16199.0000" ] }, { "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\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", "288/782 [==========>...................] - ETA: 1s - loss: 0.1317 - categorical_true_positives: 17676.0000" ] }, { "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\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", "311/782 [==========>...................] - ETA: 1s - loss: 0.1323 - categorical_true_positives: 19090.0000" ] }, { "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\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", "334/782 [===========>..................] - ETA: 0s - loss: 0.1315 - categorical_true_positives: 20508.0000" ] }, { "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\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", "357/782 [============>.................] - ETA: 0s - loss: 0.1292 - categorical_true_positives: 21932.0000" ] }, { "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\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", "381/782 [=============>................] - ETA: 0s - loss: 0.1299 - categorical_true_positives: 23407.0000" ] }, { "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\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", "404/782 [==============>...............] - ETA: 0s - loss: 0.1289 - categorical_true_positives: 24832.0000" ] }, { "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\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", "427/782 [===============>..............] - ETA: 0s - loss: 0.1284 - categorical_true_positives: 26249.0000" ] }, { "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\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", "451/782 [================>.............] - ETA: 0s - loss: 0.1281 - categorical_true_positives: 27721.0000" ] }, { "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\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", "474/782 [=================>............] - ETA: 0s - loss: 0.1264 - categorical_true_positives: 29151.0000" ] }, { "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\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", "497/782 [==================>...........] - ETA: 0s - loss: 0.1262 - categorical_true_positives: 30566.0000" ] }, { "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\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", "520/782 [==================>...........] - ETA: 0s - loss: 0.1254 - categorical_true_positives: 31987.0000" ] }, { "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\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", "544/782 [===================>..........] - ETA: 0s - loss: 0.1252 - categorical_true_positives: 33466.0000" ] }, { "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\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", "568/782 [====================>.........] - ETA: 0s - loss: 0.1250 - categorical_true_positives: 34947.0000" ] }, { "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\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", "593/782 [=====================>........] - ETA: 0s - loss: 0.1262 - categorical_true_positives: 36480.0000" ] }, { "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\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", "617/782 [======================>.......] - ETA: 0s - loss: 0.1261 - categorical_true_positives: 37965.0000" ] }, { "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\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", "641/782 [=======================>......] - ETA: 0s - loss: 0.1252 - categorical_true_positives: 39450.0000" ] }, { "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\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", "664/782 [========================>.....] - ETA: 0s - loss: 0.1258 - categorical_true_positives: 40864.0000" ] }, { "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\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", "687/782 [=========================>....] - ETA: 0s - loss: 0.1262 - categorical_true_positives: 42276.0000" ] }, { "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\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", "710/782 [==========================>...] - ETA: 0s - loss: 0.1264 - categorical_true_positives: 43687.0000" ] }, { "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\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", "734/782 [===========================>..] - ETA: 0s - loss: 0.1259 - categorical_true_positives: 45166.0000" ] }, { "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\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", "758/782 [============================>.] - ETA: 0s - loss: 0.1251 - categorical_true_positives: 46658.0000" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1245 - categorical_true_positives: 48095.0000\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class CategoricalTruePositives(keras.metrics.Metric):\n", " def __init__(self, name=\"categorical_true_positives\", **kwargs):\n", " super(CategoricalTruePositives, self).__init__(name=name, **kwargs)\n", " self.true_positives = self.add_weight(name=\"ctp\", initializer=\"zeros\")\n", "\n", " def update_state(self, y_true, y_pred, sample_weight=None):\n", " y_pred = tf.reshape(tf.argmax(y_pred, axis=1), shape=(-1, 1))\n", " values = tf.cast(y_true, \"int32\") == tf.cast(y_pred, \"int32\")\n", " values = tf.cast(values, \"float32\")\n", " if sample_weight is not None:\n", " sample_weight = tf.cast(sample_weight, \"float32\")\n", " values = tf.multiply(values, sample_weight)\n", " self.true_positives.assign_add(tf.reduce_sum(values))\n", "\n", " def result(self):\n", " return self.true_positives\n", "\n", " def reset_state(self):\n", " # The state of the metric will be reset at the start of each epoch.\n", " self.true_positives.assign(0.0)\n", "\n", "\n", "model = get_uncompiled_model()\n", "model.compile(\n", " optimizer=keras.optimizers.RMSprop(learning_rate=1e-3),\n", " loss=keras.losses.SparseCategoricalCrossentropy(),\n", " metrics=[CategoricalTruePositives()],\n", ")\n", "model.fit(x_train, y_train, batch_size=64, epochs=3)" ] }, { "cell_type": "markdown", "metadata": { "id": "1547a2d92f6a" }, "source": [ "### 標準のシグネチャに適合しない損失と測定基準の処理\n", "\n", "大多数の損失とメトリクスは、`y_true`および`y_pred`から計算できます。この場合、`y_pred`はモデルの出力です。例外として、正則化損失ではレイヤーのアクティブ化のみが必要で(この場合はターゲットはありません)、このアクティブ化はモデルの出力ではない場合があります。\n", "\n", "このような場合は、カスタムレイヤーの呼び出しメソッド内から `self.add_loss(loss_value)` を呼び出すことができます。この方法で追加された損失は、トレーニング時に「メイン」の損失(`compile()` に渡されたもの)に追加されます。以下は、アクティビティの正規化を追加する簡単な例です(アクティビティの正規化はすべての Keras レイヤーに組み込まれています。このレイヤーは具体的な例を示すためのものです)。" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:51.100263Z", "iopub.status.busy": "2022-12-14T21:42:51.099709Z", "iopub.status.idle": "2022-12-14T21:42:53.801677Z", "shell.execute_reply": "2022-12-14T21:42:53.800814Z" }, "id": "b494d47437a0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:43 - loss: 83.3503" ] }, { "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\b\b\b\b\b\r", " 25/782 [..............................] - ETA: 1s - loss: 8.9729 " ] }, { "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\b\b\r", " 49/782 [>.............................] - ETA: 1s - loss: 5.7699" ] }, { "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\b\b\r", " 73/782 [=>............................] - ETA: 1s - loss: 4.6435" ] }, { "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\b\b\r", " 98/782 [==>...........................] - ETA: 1s - loss: 4.0491" ] }, { "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\b\b\r", "123/782 [===>..........................] - ETA: 1s - loss: 3.6963" ] }, { "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\b\b\r", "148/782 [====>.........................] - ETA: 1s - loss: 3.4614" ] }, { "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\b\b\r", "172/782 [=====>........................] - ETA: 1s - loss: 3.2999" ] }, { "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\b\b\r", "196/782 [======>.......................] - ETA: 1s - loss: 3.1780" ] }, { "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\b\b\r", "221/782 [=======>......................] - ETA: 1s - loss: 3.0790" ] }, { "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\b\b\r", "246/782 [========>.....................] - ETA: 1s - loss: 3.0001" ] }, { "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\b\b\r", "271/782 [=========>....................] - ETA: 1s - loss: 2.9356" ] }, { "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\b\b\r", "296/782 [==========>...................] - ETA: 1s - loss: 2.8823" ] }, { "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\b\b\r", "322/782 [===========>..................] - ETA: 0s - loss: 2.8355" ] }, { "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\b\b\r", "347/782 [============>.................] - ETA: 0s - loss: 2.7972" ] }, { "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\b\b\r", "373/782 [=============>................] - ETA: 0s - loss: 2.7626" ] }, { "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\b\b\r", "398/782 [==============>...............] - ETA: 0s - loss: 2.7337" ] }, { "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\b\b\r", "423/782 [===============>..............] - ETA: 0s - loss: 2.7081" ] }, { "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\b\b\r", "448/782 [================>.............] - ETA: 0s - loss: 2.6855" ] }, { "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\b\b\r", "473/782 [=================>............] - ETA: 0s - loss: 2.6652" ] }, { "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\b\b\r", "498/782 [==================>...........] - ETA: 0s - loss: 2.6471" ] }, { "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\b\b\r", "522/782 [===================>..........] - ETA: 0s - loss: 2.6311" ] }, { "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\b\b\r", "546/782 [===================>..........] - ETA: 0s - loss: 2.6167" ] }, { "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\b\b\r", "570/782 [====================>.........] - ETA: 0s - loss: 2.6034" ] }, { "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\b\b\r", "594/782 [=====================>........] - ETA: 0s - loss: 2.5912" ] }, { "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\b\b\r", "619/782 [======================>.......] - ETA: 0s - loss: 2.5797" ] }, { "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\b\b\r", "643/782 [=======================>......] - ETA: 0s - loss: 2.5694" ] }, { "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\b\b\r", "668/782 [========================>.....] - ETA: 0s - loss: 2.5594" ] }, { "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\b\b\r", "693/782 [=========================>....] - ETA: 0s - loss: 2.5502" ] }, { "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\b\b\r", "718/782 [==========================>...] - ETA: 0s - loss: 2.5415" ] }, { "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\b\b\r", "743/782 [===========================>..] - ETA: 0s - loss: 2.5334" ] }, { "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\b\b\r", "767/782 [============================>.] - ETA: 0s - loss: 2.5261" ] }, { "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\b\b\r", "782/782 [==============================] - 2s 2ms/step - loss: 2.5220\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class ActivityRegularizationLayer(layers.Layer):\n", " def call(self, inputs):\n", " self.add_loss(tf.reduce_sum(inputs) * 0.1)\n", " return inputs # Pass-through layer.\n", "\n", "\n", "inputs = keras.Input(shape=(784,), name=\"digits\")\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_1\")(inputs)\n", "\n", "# Insert activity regularization as a layer\n", "x = ActivityRegularizationLayer()(x)\n", "\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_2\")(x)\n", "outputs = layers.Dense(10, name=\"predictions\")(x)\n", "\n", "model = keras.Model(inputs=inputs, outputs=outputs)\n", "model.compile(\n", " optimizer=keras.optimizers.RMSprop(learning_rate=1e-3),\n", " loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n", ")\n", "\n", "# The displayed loss will be much higher than before\n", "# due to the regularization component.\n", "model.fit(x_train, y_train, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "aaebb5829011" }, "source": [ "`add_metric()` を使用して、メトリクス値のロギングに対して同じく実行できます。" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:53.805626Z", "iopub.status.busy": "2022-12-14T21:42:53.805018Z", "iopub.status.idle": "2022-12-14T21:42:56.573276Z", "shell.execute_reply": "2022-12-14T21:42:56.572578Z" }, "id": "aa58091be092" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:59 - loss: 2.2954 - std_of_activation: 0.2711" ] }, { "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\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", " 24/782 [..............................] - ETA: 1s - loss: 1.4947 - std_of_activation: 0.4643 " ] }, { "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\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", " 48/782 [>.............................] - ETA: 1s - loss: 1.1490 - std_of_activation: 0.5745" ] }, { "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\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", " 72/782 [=>............................] - ETA: 1s - loss: 0.9469 - std_of_activation: 0.6461" ] }, { "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\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", " 96/782 [==>...........................] - ETA: 1s - loss: 0.8242 - std_of_activation: 0.6986" ] }, { "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\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", "120/782 [===>..........................] - ETA: 1s - loss: 0.7362 - std_of_activation: 0.7388" ] }, { "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\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", "144/782 [====>.........................] - ETA: 1s - loss: 0.6785 - std_of_activation: 0.7697" ] }, { "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\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", "168/782 [=====>........................] - ETA: 1s - loss: 0.6305 - std_of_activation: 0.7937" ] }, { "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\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", "192/782 [======>.......................] - ETA: 1s - loss: 0.5918 - std_of_activation: 0.8133" ] }, { "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\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", "217/782 [=======>......................] - ETA: 1s - loss: 0.5610 - std_of_activation: 0.8317" ] }, { "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\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", "242/782 [========>.....................] - ETA: 1s - loss: 0.5354 - std_of_activation: 0.8451" ] }, { "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\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", "266/782 [=========>....................] - ETA: 1s - loss: 0.5141 - std_of_activation: 0.8564" ] }, { "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\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", "290/782 [==========>...................] - ETA: 1s - loss: 0.4974 - std_of_activation: 0.8659" ] }, { "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\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", "314/782 [===========>..................] - ETA: 0s - loss: 0.4819 - std_of_activation: 0.8738" ] }, { "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\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", "338/782 [===========>..................] - ETA: 0s - loss: 0.4691 - std_of_activation: 0.8789" ] }, { "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\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", "362/782 [============>.................] - ETA: 0s - loss: 0.4556 - std_of_activation: 0.8834" ] }, { "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\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", "386/782 [=============>................] - ETA: 0s - loss: 0.4442 - std_of_activation: 0.8880" ] }, { "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\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", "410/782 [==============>...............] - ETA: 0s - loss: 0.4318 - std_of_activation: 0.8934" ] }, { "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\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", "434/782 [===============>..............] - ETA: 0s - loss: 0.4236 - std_of_activation: 0.8969" ] }, { "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\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", "458/782 [================>.............] - ETA: 0s - loss: 0.4131 - std_of_activation: 0.9010" ] }, { "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\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", "482/782 [=================>............] - ETA: 0s - loss: 0.4046 - std_of_activation: 0.9041" ] }, { "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\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", "507/782 [==================>...........] - ETA: 0s - loss: 0.3950 - std_of_activation: 0.9071" ] }, { "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\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", "532/782 [===================>..........] - ETA: 0s - loss: 0.3895 - std_of_activation: 0.9094" ] }, { "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\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", "556/782 [====================>.........] - ETA: 0s - loss: 0.3829 - std_of_activation: 0.9110" ] }, { "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\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", "580/782 [=====================>........] - ETA: 0s - loss: 0.3753 - std_of_activation: 0.9131" ] }, { "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\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", "604/782 [======================>.......] - ETA: 0s - loss: 0.3706 - std_of_activation: 0.9148" ] }, { "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\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", "628/782 [=======================>......] - ETA: 0s - loss: 0.3651 - std_of_activation: 0.9165" ] }, { "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\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", "652/782 [========================>.....] - ETA: 0s - loss: 0.3601 - std_of_activation: 0.9181" ] }, { "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\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", "676/782 [========================>.....] - ETA: 0s - loss: 0.3551 - std_of_activation: 0.9197" ] }, { "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\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", "701/782 [=========================>....] - ETA: 0s - loss: 0.3498 - std_of_activation: 0.9208" ] }, { "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\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", "726/782 [==========================>...] - ETA: 0s - loss: 0.3451 - std_of_activation: 0.9222" ] }, { "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\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", "751/782 [===========================>..] - ETA: 0s - loss: 0.3402 - std_of_activation: 0.9234" ] }, { "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\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", "775/782 [============================>.] - ETA: 0s - loss: 0.3364 - std_of_activation: 0.9246" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.3359 - std_of_activation: 0.9249\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class MetricLoggingLayer(layers.Layer):\n", " def call(self, inputs):\n", " # The `aggregation` argument defines\n", " # how to aggregate the per-batch values\n", " # over each epoch:\n", " # in this case we simply average them.\n", " self.add_metric(\n", " keras.backend.std(inputs), name=\"std_of_activation\", aggregation=\"mean\"\n", " )\n", " return inputs # Pass-through layer.\n", "\n", "\n", "inputs = keras.Input(shape=(784,), name=\"digits\")\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_1\")(inputs)\n", "\n", "# Insert std logging as a layer.\n", "x = MetricLoggingLayer()(x)\n", "\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_2\")(x)\n", "outputs = layers.Dense(10, name=\"predictions\")(x)\n", "\n", "model = keras.Model(inputs=inputs, outputs=outputs)\n", "model.compile(\n", " optimizer=keras.optimizers.RMSprop(learning_rate=1e-3),\n", " loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n", ")\n", "model.fit(x_train, y_train, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "f3c18154d057" }, "source": [ "[Functional API](https://www.tensorflow.org/guide/keras/functional/) では、`model.add_loss(loss_tensor)` または `model.add_metric(metric_tensor, name, aggregation)` を呼び出せます。\n", "\n", "簡単な例を下記に示します。" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:56.577151Z", "iopub.status.busy": "2022-12-14T21:42:56.576658Z", "iopub.status.idle": "2022-12-14T21:42:59.339145Z", "shell.execute_reply": "2022-12-14T21:42:59.338394Z" }, "id": "0e19afe78b3a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:12 - loss: 76.1508 - std_of_activation: 0.2671" ] }, { "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\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", " 25/782 [..............................] - ETA: 1s - loss: 8.2484 - std_of_activation: 0.0445 " ] }, { "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\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", " 50/782 [>.............................] - ETA: 1s - loss: 5.3387 - std_of_activation: 0.0253" ] }, { "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\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", " 75/782 [=>............................] - ETA: 1s - loss: 4.3352 - std_of_activation: 0.0177" ] }, { "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\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", "100/782 [==>...........................] - ETA: 1s - loss: 3.8303 - std_of_activation: 0.0136" ] }, { "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\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", "124/782 [===>..........................] - ETA: 1s - loss: 3.5356 - std_of_activation: 0.0111" ] }, { "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\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", "148/782 [====>.........................] - ETA: 1s - loss: 3.3358 - std_of_activation: 0.0094" ] }, { "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\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", "172/782 [=====>........................] - ETA: 1s - loss: 3.1921 - std_of_activation: 0.0082" ] }, { "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\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", "197/782 [======>.......................] - ETA: 1s - loss: 3.0795 - std_of_activation: 0.0072" ] }, { "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\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", "221/782 [=======>......................] - ETA: 1s - loss: 2.9951 - std_of_activation: 0.0064" ] }, { "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\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", "245/782 [========>.....................] - ETA: 1s - loss: 2.9273 - std_of_activation: 0.0058" ] }, { "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\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", "270/782 [=========>....................] - ETA: 1s - loss: 2.8698 - std_of_activation: 0.0053" ] }, { "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\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", "294/782 [==========>...................] - ETA: 1s - loss: 2.8236 - std_of_activation: 0.0049" ] }, { "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\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", "319/782 [===========>..................] - ETA: 0s - loss: 2.7828 - std_of_activation: 0.0046" ] }, { "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\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", "343/782 [============>.................] - ETA: 0s - loss: 2.7494 - std_of_activation: 0.0042" ] }, { "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\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", "368/782 [=============>................] - ETA: 0s - loss: 2.7189 - std_of_activation: 0.0040" ] }, { "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\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", "392/782 [==============>...............] - ETA: 0s - loss: 2.6935 - std_of_activation: 0.0037" ] }, { "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\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", "416/782 [==============>...............] - ETA: 0s - loss: 2.6709 - std_of_activation: 0.0035" ] }, { "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\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", "440/782 [===============>..............] - ETA: 0s - loss: 2.6508 - std_of_activation: 0.0033" ] }, { "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\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", "464/782 [================>.............] - ETA: 0s - loss: 2.6328 - std_of_activation: 0.0032" ] }, { "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\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", "489/782 [=================>............] - ETA: 0s - loss: 2.6160 - std_of_activation: 0.0030" ] }, { "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\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", "513/782 [==================>...........] - ETA: 0s - loss: 2.6014 - std_of_activation: 0.0029" ] }, { "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\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", "537/782 [===================>..........] - ETA: 0s - loss: 2.5880 - std_of_activation: 0.0027" ] }, { "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\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", "561/782 [====================>.........] - ETA: 0s - loss: 2.5757 - std_of_activation: 0.0026" ] }, { "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\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", "585/782 [=====================>........] - ETA: 0s - loss: 2.5644 - std_of_activation: 0.0025" ] }, { "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\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", "609/782 [======================>.......] - ETA: 0s - loss: 2.5540 - std_of_activation: 0.0024" ] }, { "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\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", "634/782 [=======================>......] - ETA: 0s - loss: 2.5440 - std_of_activation: 0.0023" ] }, { "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\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", "658/782 [========================>.....] - ETA: 0s - loss: 2.5351 - std_of_activation: 0.0022" ] }, { "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\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", "682/782 [=========================>....] - ETA: 0s - loss: 2.5268 - std_of_activation: 0.0022" ] }, { "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\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", "706/782 [==========================>...] - ETA: 0s - loss: 2.5192 - std_of_activation: 0.0021" ] }, { "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\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", "730/782 [===========================>..] - ETA: 0s - loss: 2.5120 - std_of_activation: 0.0020" ] }, { "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\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", "755/782 [===========================>..] - ETA: 0s - loss: 2.5051 - std_of_activation: 0.0020" ] }, { "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\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", "780/782 [============================>.] - ETA: 0s - loss: 2.4986 - std_of_activation: 0.0019" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 2.4983 - std_of_activation: 0.0019\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inputs = keras.Input(shape=(784,), name=\"digits\")\n", "x1 = layers.Dense(64, activation=\"relu\", name=\"dense_1\")(inputs)\n", "x2 = layers.Dense(64, activation=\"relu\", name=\"dense_2\")(x1)\n", "outputs = layers.Dense(10, name=\"predictions\")(x2)\n", "model = keras.Model(inputs=inputs, outputs=outputs)\n", "\n", "model.add_loss(tf.reduce_sum(x1) * 0.1)\n", "\n", "model.add_metric(keras.backend.std(x1), name=\"std_of_activation\", aggregation=\"mean\")\n", "\n", "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n", ")\n", "model.fit(x_train, y_train, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "b06d48035369" }, "source": [ "`add_loss()` を介して損失を渡すと、モデルにはすでに最小化する損失があるため、損失関数なしで `compile()` を呼び出すことが可能になります。\n", "\n", "次の `LogisticEndpoint` レイヤーでは、入力としてターゲットとロジットを取り、`add_loss()` を介してクロスエントロピー損失を追跡します。また、`add_metric()` を介して分類の精度を追跡します。" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:59.342533Z", "iopub.status.busy": "2022-12-14T21:42:59.341964Z", "iopub.status.idle": "2022-12-14T21:42:59.347249Z", "shell.execute_reply": "2022-12-14T21:42:59.346617Z" }, "id": "d56d2c504258" }, "outputs": [], "source": [ "class LogisticEndpoint(keras.layers.Layer):\n", " def __init__(self, name=None):\n", " super(LogisticEndpoint, self).__init__(name=name)\n", " self.loss_fn = keras.losses.BinaryCrossentropy(from_logits=True)\n", " self.accuracy_fn = keras.metrics.BinaryAccuracy()\n", "\n", " def call(self, targets, logits, sample_weights=None):\n", " # Compute the training-time loss value and add it\n", " # to the layer using `self.add_loss()`.\n", " loss = self.loss_fn(targets, logits, sample_weights)\n", " self.add_loss(loss)\n", "\n", " # Log accuracy as a metric and add it\n", " # to the layer using `self.add_metric()`.\n", " acc = self.accuracy_fn(targets, logits, sample_weights)\n", " self.add_metric(acc, name=\"accuracy\")\n", "\n", " # Return the inference-time prediction tensor (for `.predict()`).\n", " return tf.nn.softmax(logits)\n" ] }, { "cell_type": "markdown", "metadata": { "id": "0698f3c98cbe" }, "source": [ "次のように、`loss` 引数なしでコンパイルされた 2 つの入力(入力データとターゲット)を持つモデルで使用できます。" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:42:59.350790Z", "iopub.status.busy": "2022-12-14T21:42:59.350251Z", "iopub.status.idle": "2022-12-14T21:42:59.999197Z", "shell.execute_reply": "2022-12-14T21:42:59.998496Z" }, "id": "0f6842f2bbe6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/1 [==============================] - ETA: 0s - loss: 1.0560 - binary_accuracy: 0.0000e+00" ] }, { "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\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", "1/1 [==============================] - 1s 500ms/step - loss: 1.0560 - binary_accuracy: 0.0000e+00\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "inputs = keras.Input(shape=(3,), name=\"inputs\")\n", "targets = keras.Input(shape=(10,), name=\"targets\")\n", "logits = keras.layers.Dense(10)(inputs)\n", "predictions = LogisticEndpoint(name=\"predictions\")(logits, targets)\n", "\n", "model = keras.Model(inputs=[inputs, targets], outputs=predictions)\n", "model.compile(optimizer=\"adam\") # No loss argument!\n", "\n", "data = {\n", " \"inputs\": np.random.random((3, 3)),\n", " \"targets\": np.random.random((3, 10)),\n", "}\n", "model.fit(data)" ] }, { "cell_type": "markdown", "metadata": { "id": "328b021aa6b8" }, "source": [ "多入力モデルのトレーニングの詳細については、「**多入力多出力モデルにデータを渡す**」をご覧ください。" ] }, { "cell_type": "markdown", "metadata": { "id": "c9e6ea0045c9" }, "source": [ "### 自動的にホールドアウトセットを別にする\n", "\n", "最初に紹介したエンドツーエンドの例では、各エポックの終わりに検証損失と検証メトリクスを評価するために、NumPy 配列のタプル `(x_val, y_val)` をモデルに渡すために `validation_data` 引数を使用しました。\n", "\n", "もう一つのオプションとして、`validation_split` 引数を使うと、検証用に自動的にトレーニングデータの一部を予約しておくことができます。 引数値は検証用に予約されるデータの割合を表すため、0 より高く 1 より低い数字に設定する必要があります。たとえば、`validation_split=0.2` は「検証用にデータの 20% を使用する」ことを意味し、`validation_split=0.6` は「検証用にデータの 60% を使用する」ことを意味します。\n", "\n", "シャッフルの前に、`fit()` の呼び出しが受け取った配列の最後の x% サンプルを取って検証が計算されます。\n", "\n", "NumPy データでトレーニングする場合は、`validation_split` のみを使用できることに注意してください。" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:00.002919Z", "iopub.status.busy": "2022-12-14T21:43:00.002267Z", "iopub.status.idle": "2022-12-14T21:43:02.947718Z", "shell.execute_reply": "2022-12-14T21:43:02.946982Z" }, "id": "232fd59c751b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:11 - loss: 2.3377 - sparse_categorical_accuracy: 0.0938" ] }, { "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\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", " 25/625 [>.............................] - ETA: 1s - loss: 1.4943 - sparse_categorical_accuracy: 0.6019 " ] }, { "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\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", " 49/625 [=>............................] - ETA: 1s - loss: 1.1457 - sparse_categorical_accuracy: 0.6967" ] }, { "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\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", " 74/625 [==>...........................] - ETA: 1s - loss: 0.9336 - sparse_categorical_accuracy: 0.7517" ] }, { "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\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", " 99/625 [===>..........................] - ETA: 1s - loss: 0.8212 - sparse_categorical_accuracy: 0.7794" ] }, { "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\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", "124/625 [====>.........................] - ETA: 1s - loss: 0.7477 - sparse_categorical_accuracy: 0.7961" ] }, { "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\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", "149/625 [======>.......................] - ETA: 0s - loss: 0.6883 - sparse_categorical_accuracy: 0.8110" ] }, { "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\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", "174/625 [=======>......................] - ETA: 0s - loss: 0.6423 - sparse_categorical_accuracy: 0.8239" ] }, { "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\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", "199/625 [========>.....................] - ETA: 0s - loss: 0.6069 - sparse_categorical_accuracy: 0.8335" ] }, { "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\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", "224/625 [=========>....................] - ETA: 0s - loss: 0.5773 - sparse_categorical_accuracy: 0.8399" ] }, { "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\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", "249/625 [==========>...................] - ETA: 0s - loss: 0.5506 - sparse_categorical_accuracy: 0.8474" ] }, { "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\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", "274/625 [============>.................] - ETA: 0s - loss: 0.5302 - sparse_categorical_accuracy: 0.8530" ] }, { "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\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", "299/625 [=============>................] - ETA: 0s - loss: 0.5115 - sparse_categorical_accuracy: 0.8572" ] }, { "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\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", "324/625 [==============>...............] - ETA: 0s - loss: 0.4924 - sparse_categorical_accuracy: 0.8628" ] }, { "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\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", "349/625 [===============>..............] - ETA: 0s - loss: 0.4777 - sparse_categorical_accuracy: 0.8664" ] }, { "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\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", "374/625 [================>.............] - ETA: 0s - loss: 0.4631 - sparse_categorical_accuracy: 0.8704" ] }, { "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\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", "399/625 [==================>...........] - ETA: 0s - loss: 0.4509 - sparse_categorical_accuracy: 0.8733" ] }, { "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\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", "424/625 [===================>..........] - ETA: 0s - loss: 0.4415 - sparse_categorical_accuracy: 0.8754" ] }, { "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\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", "449/625 [====================>.........] - ETA: 0s - loss: 0.4316 - sparse_categorical_accuracy: 0.8783" ] }, { "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\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", "474/625 [=====================>........] - ETA: 0s - loss: 0.4221 - sparse_categorical_accuracy: 0.8807" ] }, { "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\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", "499/625 [======================>.......] - ETA: 0s - loss: 0.4143 - sparse_categorical_accuracy: 0.8827" ] }, { "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\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", "524/625 [========================>.....] - ETA: 0s - loss: 0.4046 - sparse_categorical_accuracy: 0.8853" ] }, { "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\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", "550/625 [=========================>....] - ETA: 0s - loss: 0.3977 - sparse_categorical_accuracy: 0.8869" ] }, { "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\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", "576/625 [==========================>...] - ETA: 0s - loss: 0.3910 - sparse_categorical_accuracy: 0.8883" ] }, { "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\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", "602/625 [===========================>..] - ETA: 0s - loss: 0.3842 - sparse_categorical_accuracy: 0.8906" ] }, { "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\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", "625/625 [==============================] - 2s 3ms/step - loss: 0.3790 - sparse_categorical_accuracy: 0.8919 - val_loss: 0.2434 - val_sparse_categorical_accuracy: 0.9258\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "model.fit(x_train, y_train, batch_size=64, validation_split=0.2, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "770d19613c53" }, "source": [ "## tf.data データセットからのトレーニングと評価\n", "\n", "前の段落では、損失、メトリクスおよびオプティマイザをどのように扱うかを見ました。そしてデータが Numpy 配列として渡されるとき、`fit()` で `validation_data` と `validation_split` 引数をどのように使用するかを見ました。\n", "\n", "次に、データが `tf.data.Dataset` オブジェクトの形式で渡される場合を見てみましょう。\n", "\n", "`tf.data` API は高速でスケーラブルな方法でデータを読み込んで前処理するための TensorFlow 2.0 の一連のユティリティです。\n", "\n", "`Datasets` の作成についての詳細は、[tf.data ドキュメント](https://www.tensorflow.org/guide/data)をご覧ください。\n", "\n", "`Dataset` のインスタンスは、`fit()`、`evaluate()`、`predict()` メソッドに直接的に渡すことができます。" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:02.951125Z", "iopub.status.busy": "2022-12-14T21:43:02.950572Z", "iopub.status.idle": "2022-12-14T21:43:09.751864Z", "shell.execute_reply": "2022-12-14T21:43:09.751128Z" }, "id": "3bf4ded224f8" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:00 - loss: 2.3241 - sparse_categorical_accuracy: 0.1875" ] }, { "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\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", " 23/782 [..............................] - ETA: 1s - loss: 1.5699 - sparse_categorical_accuracy: 0.5863 " ] }, { "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\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", " 46/782 [>.............................] - ETA: 1s - loss: 1.1548 - sparse_categorical_accuracy: 0.7018" ] }, { "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\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", " 69/782 [=>............................] - ETA: 1s - loss: 0.9494 - sparse_categorical_accuracy: 0.7538" ] }, { "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\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", " 92/782 [==>...........................] - ETA: 1s - loss: 0.8233 - sparse_categorical_accuracy: 0.7857" ] }, { "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\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", "115/782 [===>..........................] - ETA: 1s - loss: 0.7397 - sparse_categorical_accuracy: 0.8057" ] }, { "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\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", "138/782 [====>.........................] - ETA: 1s - loss: 0.6820 - sparse_categorical_accuracy: 0.8202" ] }, { "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\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", "160/782 [=====>........................] - ETA: 1s - loss: 0.6405 - sparse_categorical_accuracy: 0.8303" ] }, { "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\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", "184/782 [======>.......................] - ETA: 1s - loss: 0.5984 - sparse_categorical_accuracy: 0.8400" ] }, { "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\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", "207/782 [======>.......................] - ETA: 1s - loss: 0.5737 - sparse_categorical_accuracy: 0.8455" ] }, { "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\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", "229/782 [=======>......................] - ETA: 1s - loss: 0.5535 - sparse_categorical_accuracy: 0.8493" ] }, { "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\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", "251/782 [========>.....................] - ETA: 1s - loss: 0.5331 - sparse_categorical_accuracy: 0.8540" ] }, { "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\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", "274/782 [=========>....................] - ETA: 1s - loss: 0.5189 - sparse_categorical_accuracy: 0.8578" ] }, { "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\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", "297/782 [==========>...................] - ETA: 1s - loss: 0.4971 - sparse_categorical_accuracy: 0.8637" ] }, { "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\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", "321/782 [===========>..................] - ETA: 1s - loss: 0.4814 - sparse_categorical_accuracy: 0.8679" ] }, { "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\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", "345/782 [============>.................] - ETA: 0s - loss: 0.4679 - sparse_categorical_accuracy: 0.8713" ] }, { "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\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", "369/782 [=============>................] - ETA: 0s - loss: 0.4524 - sparse_categorical_accuracy: 0.8756" ] }, { "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\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", "393/782 [==============>...............] - ETA: 0s - loss: 0.4410 - sparse_categorical_accuracy: 0.8783" ] }, { "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\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", "416/782 [==============>...............] - ETA: 0s - loss: 0.4322 - sparse_categorical_accuracy: 0.8808" ] }, { "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\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", "439/782 [===============>..............] - ETA: 0s - loss: 0.4224 - sparse_categorical_accuracy: 0.8834" ] }, { "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\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", "462/782 [================>.............] - ETA: 0s - loss: 0.4150 - sparse_categorical_accuracy: 0.8847" ] }, { "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\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", "485/782 [=================>............] - ETA: 0s - loss: 0.4080 - sparse_categorical_accuracy: 0.8864" ] }, { "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\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", "508/782 [==================>...........] - ETA: 0s - loss: 0.4017 - sparse_categorical_accuracy: 0.8880" ] }, { "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\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", "531/782 [===================>..........] - ETA: 0s - loss: 0.3933 - sparse_categorical_accuracy: 0.8902" ] }, { "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\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", "554/782 [====================>.........] - ETA: 0s - loss: 0.3862 - sparse_categorical_accuracy: 0.8920" ] }, { "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\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", "577/782 [=====================>........] - ETA: 0s - loss: 0.3807 - sparse_categorical_accuracy: 0.8931" ] }, { "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\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", "600/782 [======================>.......] - ETA: 0s - loss: 0.3742 - sparse_categorical_accuracy: 0.8948" ] }, { "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\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", "624/782 [======================>.......] - ETA: 0s - loss: 0.3691 - sparse_categorical_accuracy: 0.8960" ] }, { "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\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", "648/782 [=======================>......] - ETA: 0s - loss: 0.3640 - sparse_categorical_accuracy: 0.8973" ] }, { "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\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", "672/782 [========================>.....] - ETA: 0s - loss: 0.3595 - sparse_categorical_accuracy: 0.8986" ] }, { "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\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", "696/782 [=========================>....] - ETA: 0s - loss: 0.3532 - sparse_categorical_accuracy: 0.9003" ] }, { "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\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", "720/782 [==========================>...] - ETA: 0s - loss: 0.3503 - sparse_categorical_accuracy: 0.9009" ] }, { "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\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", "744/782 [===========================>..] - ETA: 0s - loss: 0.3451 - sparse_categorical_accuracy: 0.9023" ] }, { "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\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", "767/782 [============================>.] - ETA: 0s - loss: 0.3412 - sparse_categorical_accuracy: 0.9034" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.3397 - sparse_categorical_accuracy: 0.9037\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 3s - loss: 0.1732 - sparse_categorical_accuracy: 0.9531" ] }, { "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\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", " 24/782 [..............................] - ETA: 1s - loss: 0.2051 - sparse_categorical_accuracy: 0.9388" ] }, { "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\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", " 47/782 [>.............................] - ETA: 1s - loss: 0.1716 - sparse_categorical_accuracy: 0.9481" ] }, { "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\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", " 70/782 [=>............................] - ETA: 1s - loss: 0.1739 - sparse_categorical_accuracy: 0.9487" ] }, { "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\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", " 93/782 [==>...........................] - ETA: 1s - loss: 0.1790 - sparse_categorical_accuracy: 0.9459" ] }, { "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\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", "117/782 [===>..........................] - ETA: 1s - loss: 0.1785 - sparse_categorical_accuracy: 0.9462" ] }, { "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\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", "140/782 [====>.........................] - ETA: 1s - loss: 0.1796 - sparse_categorical_accuracy: 0.9452" ] }, { "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\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", "163/782 [=====>........................] - ETA: 1s - loss: 0.1794 - sparse_categorical_accuracy: 0.9453" ] }, { "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\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", "186/782 [======>.......................] - ETA: 1s - loss: 0.1795 - sparse_categorical_accuracy: 0.9460" ] }, { "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\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", "209/782 [=======>......................] - ETA: 1s - loss: 0.1818 - sparse_categorical_accuracy: 0.9453" ] }, { "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\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", "232/782 [=======>......................] - ETA: 1s - loss: 0.1837 - sparse_categorical_accuracy: 0.9453" ] }, { "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\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", "255/782 [========>.....................] - ETA: 1s - loss: 0.1822 - sparse_categorical_accuracy: 0.9460" ] }, { "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\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", "279/782 [=========>....................] - ETA: 1s - loss: 0.1801 - sparse_categorical_accuracy: 0.9469" ] }, { "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\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", "303/782 [==========>...................] - ETA: 1s - loss: 0.1775 - sparse_categorical_accuracy: 0.9474" ] }, { "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\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", "327/782 [===========>..................] - ETA: 0s - loss: 0.1775 - sparse_categorical_accuracy: 0.9477" ] }, { "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\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", "351/782 [============>.................] - ETA: 0s - loss: 0.1754 - sparse_categorical_accuracy: 0.9481" ] }, { "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\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", "375/782 [=============>................] - ETA: 0s - loss: 0.1732 - sparse_categorical_accuracy: 0.9485" ] }, { "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\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", "399/782 [==============>...............] - ETA: 0s - loss: 0.1713 - sparse_categorical_accuracy: 0.9490" ] }, { "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\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", "423/782 [===============>..............] - ETA: 0s - loss: 0.1723 - sparse_categorical_accuracy: 0.9492" ] }, { "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\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", "446/782 [================>.............] - ETA: 0s - loss: 0.1699 - sparse_categorical_accuracy: 0.9497" ] }, { "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\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", "470/782 [=================>............] - ETA: 0s - loss: 0.1689 - sparse_categorical_accuracy: 0.9496" ] }, { "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\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", "494/782 [=================>............] - ETA: 0s - loss: 0.1690 - sparse_categorical_accuracy: 0.9497" ] }, { "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\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", "518/782 [==================>...........] - ETA: 0s - loss: 0.1690 - sparse_categorical_accuracy: 0.9494" ] }, { "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\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", "543/782 [===================>..........] - ETA: 0s - loss: 0.1667 - sparse_categorical_accuracy: 0.9501" ] }, { "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\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", "567/782 [====================>.........] - ETA: 0s - loss: 0.1660 - sparse_categorical_accuracy: 0.9505" ] }, { "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\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", "590/782 [=====================>........] - ETA: 0s - loss: 0.1662 - sparse_categorical_accuracy: 0.9505" ] }, { "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\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", "613/782 [======================>.......] - ETA: 0s - loss: 0.1661 - sparse_categorical_accuracy: 0.9506" ] }, { "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\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", "636/782 [=======================>......] - ETA: 0s - loss: 0.1646 - sparse_categorical_accuracy: 0.9512" ] }, { "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\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", "659/782 [========================>.....] - ETA: 0s - loss: 0.1646 - sparse_categorical_accuracy: 0.9512" ] }, { "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\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", "682/782 [=========================>....] - ETA: 0s - loss: 0.1638 - sparse_categorical_accuracy: 0.9514" ] }, { "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\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", "705/782 [==========================>...] - ETA: 0s - loss: 0.1631 - sparse_categorical_accuracy: 0.9516" ] }, { "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\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", "728/782 [==========================>...] - ETA: 0s - loss: 0.1629 - sparse_categorical_accuracy: 0.9515" ] }, { "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\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", "751/782 [===========================>..] - ETA: 0s - loss: 0.1616 - sparse_categorical_accuracy: 0.9519" ] }, { "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\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", "774/782 [============================>.] - ETA: 0s - loss: 0.1622 - sparse_categorical_accuracy: 0.9516" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1626 - sparse_categorical_accuracy: 0.9515\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 3s - loss: 0.2220 - sparse_categorical_accuracy: 0.9375" ] }, { "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\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", " 25/782 [..............................] - ETA: 1s - loss: 0.1416 - sparse_categorical_accuracy: 0.9600" ] }, { "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\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", " 48/782 [>.............................] - ETA: 1s - loss: 0.1326 - sparse_categorical_accuracy: 0.9606" ] }, { "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\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", " 71/782 [=>............................] - ETA: 1s - loss: 0.1258 - sparse_categorical_accuracy: 0.9630" ] }, { "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\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", " 94/782 [==>...........................] - ETA: 1s - loss: 0.1230 - sparse_categorical_accuracy: 0.9639" ] }, { "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\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", "117/782 [===>..........................] - ETA: 1s - loss: 0.1182 - sparse_categorical_accuracy: 0.9661" ] }, { "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\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", "140/782 [====>.........................] - ETA: 1s - loss: 0.1237 - sparse_categorical_accuracy: 0.9642" ] }, { "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\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", "163/782 [=====>........................] - ETA: 1s - loss: 0.1227 - sparse_categorical_accuracy: 0.9635" ] }, { "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\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", "186/782 [======>.......................] - ETA: 1s - loss: 0.1257 - sparse_categorical_accuracy: 0.9629" ] }, { "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\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", "209/782 [=======>......................] - ETA: 1s - loss: 0.1255 - sparse_categorical_accuracy: 0.9623" ] }, { "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\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", "232/782 [=======>......................] - ETA: 1s - loss: 0.1251 - sparse_categorical_accuracy: 0.9624" ] }, { "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\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", "255/782 [========>.....................] - ETA: 1s - loss: 0.1255 - sparse_categorical_accuracy: 0.9625" ] }, { "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\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", "279/782 [=========>....................] - ETA: 1s - loss: 0.1252 - sparse_categorical_accuracy: 0.9628" ] }, { "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\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", "302/782 [==========>...................] - ETA: 1s - loss: 0.1233 - sparse_categorical_accuracy: 0.9632" ] }, { "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\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", "325/782 [===========>..................] - ETA: 1s - loss: 0.1240 - sparse_categorical_accuracy: 0.9630" ] }, { "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\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", "348/782 [============>.................] - ETA: 0s - loss: 0.1229 - sparse_categorical_accuracy: 0.9633" ] }, { "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\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", "372/782 [=============>................] - ETA: 0s - loss: 0.1209 - sparse_categorical_accuracy: 0.9635" ] }, { "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\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", "395/782 [==============>...............] - ETA: 0s - loss: 0.1192 - sparse_categorical_accuracy: 0.9638" ] }, { "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\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", "418/782 [===============>..............] - ETA: 0s - loss: 0.1193 - sparse_categorical_accuracy: 0.9639" ] }, { "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\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", "442/782 [===============>..............] - ETA: 0s - loss: 0.1194 - sparse_categorical_accuracy: 0.9639" ] }, { "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\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", "466/782 [================>.............] - ETA: 0s - loss: 0.1184 - sparse_categorical_accuracy: 0.9642" ] }, { "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\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", "490/782 [=================>............] - ETA: 0s - loss: 0.1181 - sparse_categorical_accuracy: 0.9642" ] }, { "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\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", "514/782 [==================>...........] - ETA: 0s - loss: 0.1197 - sparse_categorical_accuracy: 0.9637" ] }, { "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\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", "537/782 [===================>..........] - ETA: 0s - loss: 0.1191 - sparse_categorical_accuracy: 0.9639" ] }, { "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\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", "561/782 [====================>.........] - ETA: 0s - loss: 0.1183 - sparse_categorical_accuracy: 0.9643" ] }, { "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\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", "585/782 [=====================>........] - ETA: 0s - loss: 0.1177 - sparse_categorical_accuracy: 0.9644" ] }, { "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\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", "609/782 [======================>.......] - ETA: 0s - loss: 0.1170 - sparse_categorical_accuracy: 0.9647" ] }, { "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\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", "633/782 [=======================>......] - ETA: 0s - loss: 0.1174 - sparse_categorical_accuracy: 0.9646" ] }, { "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\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", "657/782 [========================>.....] - ETA: 0s - loss: 0.1173 - sparse_categorical_accuracy: 0.9647" ] }, { "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\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", "680/782 [=========================>....] - ETA: 0s - loss: 0.1171 - sparse_categorical_accuracy: 0.9648" ] }, { "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\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", "703/782 [=========================>....] - ETA: 0s - loss: 0.1165 - sparse_categorical_accuracy: 0.9649" ] }, { "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\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", "726/782 [==========================>...] - ETA: 0s - loss: 0.1169 - sparse_categorical_accuracy: 0.9647" ] }, { "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\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", "749/782 [===========================>..] - ETA: 0s - loss: 0.1166 - sparse_categorical_accuracy: 0.9650" ] }, { "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\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", "772/782 [============================>.] - ETA: 0s - loss: 0.1169 - sparse_categorical_accuracy: 0.9648" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1173 - sparse_categorical_accuracy: 0.9647\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Evaluate\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/157 [..............................] - ETA: 18s - loss: 0.0776 - sparse_categorical_accuracy: 0.9844" ] }, { "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\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", " 30/157 [====>.........................] - ETA: 0s - loss: 0.1507 - sparse_categorical_accuracy: 0.9542 " ] }, { "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\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", " 59/157 [==========>...................] - ETA: 0s - loss: 0.1568 - sparse_categorical_accuracy: 0.9502" ] }, { "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\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", " 88/157 [===============>..............] - ETA: 0s - loss: 0.1427 - sparse_categorical_accuracy: 0.9540" ] }, { "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\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", "117/157 [=====================>........] - ETA: 0s - loss: 0.1299 - sparse_categorical_accuracy: 0.9583" ] }, { "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\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", "147/157 [===========================>..] - ETA: 0s - loss: 0.1168 - sparse_categorical_accuracy: 0.9628" ] }, { "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\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", "157/157 [==============================] - 0s 2ms/step - loss: 0.1195 - sparse_categorical_accuracy: 0.9621\n" ] }, { "data": { "text/plain": [ "{'loss': 0.11952614784240723,\n", " 'sparse_categorical_accuracy': 0.9621000289916992}" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "\n", "# First, let's create a training Dataset instance.\n", "# For the sake of our example, we'll use the same MNIST data as before.\n", "train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))\n", "# Shuffle and slice the dataset.\n", "train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64)\n", "\n", "# Now we get a test dataset.\n", "test_dataset = tf.data.Dataset.from_tensor_slices((x_test, y_test))\n", "test_dataset = test_dataset.batch(64)\n", "\n", "# Since the dataset already takes care of batching,\n", "# we don't pass a `batch_size` argument.\n", "model.fit(train_dataset, epochs=3)\n", "\n", "# You can also evaluate or predict on a dataset.\n", "print(\"Evaluate\")\n", "result = model.evaluate(test_dataset)\n", "dict(zip(model.metrics_names, result))" ] }, { "cell_type": "markdown", "metadata": { "id": "421d16914ce3" }, "source": [ "データセットは各エポックの最後にリセットされるため、次のエポックで再利用できます。\n", "\n", "このデータセットから特定の数のバッチでのみトレーニングを実行する場合は、`steps_per_epoch`引数を渡します。これは、次のエポックに進む前に、このデータセットを使用してモデルが実行するトレーニングステップの数を指定します。\n", "\n", "この場合、データセットは各エポックの終わりにリセットされず、次のバッチを取得し続けます。最終的にデータセットのデータは使い果たされます(無限ループのデータセットでない限り)。" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:09.755474Z", "iopub.status.busy": "2022-12-14T21:43:09.754824Z", "iopub.status.idle": "2022-12-14T21:43:11.627888Z", "shell.execute_reply": "2022-12-14T21:43:11.627195Z" }, "id": "273c5dff16b4" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 1:08 - loss: 2.3199 - sparse_categorical_accuracy: 0.1094" ] }, { "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\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", " 23/100 [=====>........................] - ETA: 0s - loss: 1.5549 - sparse_categorical_accuracy: 0.5985 " ] }, { "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\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", " 46/100 [============>.................] - ETA: 0s - loss: 1.1758 - sparse_categorical_accuracy: 0.7004" ] }, { "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\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", " 69/100 [===================>..........] - ETA: 0s - loss: 0.9600 - sparse_categorical_accuracy: 0.7586" ] }, { "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\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", " 93/100 [==========================>...] - ETA: 0s - loss: 0.8253 - sparse_categorical_accuracy: 0.7898" ] }, { "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\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", "100/100 [==============================] - 1s 2ms/step - loss: 0.7993 - sparse_categorical_accuracy: 0.7953\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 0s - loss: 0.2782 - sparse_categorical_accuracy: 0.9375" ] }, { "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\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", " 25/100 [======>.......................] - ETA: 0s - loss: 0.4124 - sparse_categorical_accuracy: 0.8875" ] }, { "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\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", " 48/100 [=============>................] - ETA: 0s - loss: 0.4059 - sparse_categorical_accuracy: 0.8900" ] }, { "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\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", " 70/100 [====================>.........] - ETA: 0s - loss: 0.3829 - sparse_categorical_accuracy: 0.8953" ] }, { "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\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", " 93/100 [==========================>...] - ETA: 0s - loss: 0.3762 - sparse_categorical_accuracy: 0.8947" ] }, { "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\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", "100/100 [==============================] - 0s 2ms/step - loss: 0.3691 - sparse_categorical_accuracy: 0.8959\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 0s - loss: 0.5479 - sparse_categorical_accuracy: 0.8281" ] }, { "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\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", " 24/100 [======>.......................] - ETA: 0s - loss: 0.3643 - sparse_categorical_accuracy: 0.8958" ] }, { "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\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", " 48/100 [=============>................] - ETA: 0s - loss: 0.3587 - sparse_categorical_accuracy: 0.8929" ] }, { "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\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", " 72/100 [====================>.........] - ETA: 0s - loss: 0.3325 - sparse_categorical_accuracy: 0.9013" ] }, { "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\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", " 96/100 [===========================>..] - ETA: 0s - loss: 0.3138 - sparse_categorical_accuracy: 0.9084" ] }, { "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\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", "100/100 [==============================] - 0s 2ms/step - loss: 0.3126 - sparse_categorical_accuracy: 0.9084\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "\n", "# Prepare the training dataset\n", "train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))\n", "train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64)\n", "\n", "# Only use the 100 batches per epoch (that's 64 * 100 samples)\n", "model.fit(train_dataset, epochs=3, steps_per_epoch=100)" ] }, { "cell_type": "markdown", "metadata": { "id": "f2dcd180da7b" }, "source": [ "### 検証データセットを使用する\n", "\n", "`Dataset` インスタンスを `fit()` の `validation_data` 引数として渡すことができます。" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:11.631560Z", "iopub.status.busy": "2022-12-14T21:43:11.630950Z", "iopub.status.idle": "2022-12-14T21:43:14.931751Z", "shell.execute_reply": "2022-12-14T21:43:14.930967Z" }, "id": "bf4f3d78e69a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:06 - loss: 2.3348 - sparse_categorical_accuracy: 0.1094" ] }, { "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\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", " 24/782 [..............................] - ETA: 1s - loss: 1.5555 - sparse_categorical_accuracy: 0.5755 " ] }, { "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\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", " 48/782 [>.............................] - ETA: 1s - loss: 1.1299 - sparse_categorical_accuracy: 0.7025" ] }, { "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\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", " 72/782 [=>............................] - ETA: 1s - loss: 0.9278 - sparse_categorical_accuracy: 0.7572" ] }, { "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\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", " 95/782 [==>...........................] - ETA: 1s - loss: 0.7986 - sparse_categorical_accuracy: 0.7878" ] }, { "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\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", "118/782 [===>..........................] - ETA: 1s - loss: 0.7217 - sparse_categorical_accuracy: 0.8075" ] }, { "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\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", "141/782 [====>.........................] - ETA: 1s - loss: 0.6712 - sparse_categorical_accuracy: 0.8200" ] }, { "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\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", "164/782 [=====>........................] - ETA: 1s - loss: 0.6239 - sparse_categorical_accuracy: 0.8316" ] }, { "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\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", "188/782 [======>.......................] - ETA: 1s - loss: 0.5862 - sparse_categorical_accuracy: 0.8408" ] }, { "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\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", "212/782 [=======>......................] - ETA: 1s - loss: 0.5627 - sparse_categorical_accuracy: 0.8464" ] }, { "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\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", "235/782 [========>.....................] - ETA: 1s - loss: 0.5436 - sparse_categorical_accuracy: 0.8507" ] }, { "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\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", "258/782 [========>.....................] - ETA: 1s - loss: 0.5217 - sparse_categorical_accuracy: 0.8560" ] }, { "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\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", "282/782 [=========>....................] - ETA: 1s - loss: 0.5042 - sparse_categorical_accuracy: 0.8603" ] }, { "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\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", "305/782 [==========>...................] - ETA: 1s - loss: 0.4853 - sparse_categorical_accuracy: 0.8647" ] }, { "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\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", "329/782 [===========>..................] - ETA: 0s - loss: 0.4697 - sparse_categorical_accuracy: 0.8699" ] }, { "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\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", "352/782 [============>.................] - ETA: 0s - loss: 0.4568 - sparse_categorical_accuracy: 0.8736" ] }, { "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\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", "376/782 [=============>................] - ETA: 0s - loss: 0.4441 - sparse_categorical_accuracy: 0.8761" ] }, { "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\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", "400/782 [==============>...............] - ETA: 0s - loss: 0.4324 - sparse_categorical_accuracy: 0.8791" ] }, { "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\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", "423/782 [===============>..............] - ETA: 0s - loss: 0.4225 - sparse_categorical_accuracy: 0.8813" ] }, { "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\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", "447/782 [================>.............] - ETA: 0s - loss: 0.4135 - sparse_categorical_accuracy: 0.8839" ] }, { "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\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", "471/782 [=================>............] - ETA: 0s - loss: 0.4050 - sparse_categorical_accuracy: 0.8858" ] }, { "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\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", "495/782 [=================>............] - ETA: 0s - loss: 0.4004 - sparse_categorical_accuracy: 0.8867" ] }, { "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\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", "519/782 [==================>...........] - ETA: 0s - loss: 0.3921 - sparse_categorical_accuracy: 0.8889" ] }, { "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\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", "543/782 [===================>..........] - ETA: 0s - loss: 0.3842 - sparse_categorical_accuracy: 0.8912" ] }, { "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\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", "567/782 [====================>.........] - ETA: 0s - loss: 0.3760 - sparse_categorical_accuracy: 0.8933" ] }, { "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\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", "590/782 [=====================>........] - ETA: 0s - loss: 0.3711 - sparse_categorical_accuracy: 0.8946" ] }, { "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\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", "613/782 [======================>.......] - ETA: 0s - loss: 0.3662 - sparse_categorical_accuracy: 0.8959" ] }, { "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\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", "637/782 [=======================>......] - ETA: 0s - loss: 0.3603 - sparse_categorical_accuracy: 0.8975" ] }, { "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\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", "661/782 [========================>.....] - ETA: 0s - loss: 0.3552 - sparse_categorical_accuracy: 0.8988" ] }, { "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\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", "684/782 [=========================>....] - ETA: 0s - loss: 0.3502 - sparse_categorical_accuracy: 0.9001" ] }, { "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\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", "707/782 [==========================>...] - ETA: 0s - loss: 0.3456 - sparse_categorical_accuracy: 0.9013" ] }, { "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\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", "730/782 [===========================>..] - ETA: 0s - loss: 0.3420 - sparse_categorical_accuracy: 0.9023" ] }, { "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\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", "754/782 [===========================>..] - ETA: 0s - loss: 0.3377 - sparse_categorical_accuracy: 0.9034" ] }, { "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\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", "778/782 [============================>.] - ETA: 0s - loss: 0.3337 - sparse_categorical_accuracy: 0.9044" ] }, { "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\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", "782/782 [==============================] - 3s 3ms/step - loss: 0.3333 - sparse_categorical_accuracy: 0.9045 - val_loss: 0.1858 - val_sparse_categorical_accuracy: 0.9448\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "\n", "# Prepare the training dataset\n", "train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))\n", "train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64)\n", "\n", "# Prepare the validation dataset\n", "val_dataset = tf.data.Dataset.from_tensor_slices((x_val, y_val))\n", "val_dataset = val_dataset.batch(64)\n", "\n", "model.fit(train_dataset, epochs=1, validation_data=val_dataset)" ] }, { "cell_type": "markdown", "metadata": { "id": "2e7f0ebf5f1d" }, "source": [ "各エポックの終わりに、モデルは検証データセットを反復処理し、検証損失と検証メトリクスを計算します。\n", "\n", "このデータセットから特定の数のバッチでのみ検証を実行する場合は、`validation_steps` 引数を渡すことができます。これは、検証を中断して次のエポックに進む前に、モデルが検証データセットで実行する必要がある検証ステップの数を指定します。" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:14.935212Z", "iopub.status.busy": "2022-12-14T21:43:14.934673Z", "iopub.status.idle": "2022-12-14T21:43:18.037259Z", "shell.execute_reply": "2022-12-14T21:43:18.036635Z" }, "id": "f47342fed069" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:00 - loss: 2.3651 - sparse_categorical_accuracy: 0.0312" ] }, { "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\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", " 23/782 [..............................] - ETA: 1s - loss: 1.5987 - sparse_categorical_accuracy: 0.5822 " ] }, { "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\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", " 46/782 [>.............................] - ETA: 1s - loss: 1.2034 - sparse_categorical_accuracy: 0.6974" ] }, { "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\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", " 69/782 [=>............................] - ETA: 1s - loss: 0.9900 - sparse_categorical_accuracy: 0.7495" ] }, { "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\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", " 92/782 [==>...........................] - ETA: 1s - loss: 0.8474 - sparse_categorical_accuracy: 0.7841" ] }, { "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\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", "115/782 [===>..........................] - ETA: 1s - loss: 0.7604 - sparse_categorical_accuracy: 0.8038" ] }, { "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\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", "139/782 [====>.........................] - ETA: 1s - loss: 0.7023 - sparse_categorical_accuracy: 0.8178" ] }, { "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\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", "163/782 [=====>........................] - ETA: 1s - loss: 0.6440 - sparse_categorical_accuracy: 0.8317" ] }, { "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\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", "186/782 [======>.......................] - ETA: 1s - loss: 0.6081 - sparse_categorical_accuracy: 0.8396" ] }, { "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\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", "209/782 [=======>......................] - ETA: 1s - loss: 0.5860 - sparse_categorical_accuracy: 0.8443" ] }, { "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\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", "233/782 [=======>......................] - ETA: 1s - loss: 0.5652 - sparse_categorical_accuracy: 0.8493" ] }, { "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\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", "256/782 [========>.....................] - ETA: 1s - loss: 0.5439 - sparse_categorical_accuracy: 0.8539" ] }, { "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\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", "280/782 [=========>....................] - ETA: 1s - loss: 0.5242 - sparse_categorical_accuracy: 0.8583" ] }, { "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\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", "304/782 [==========>...................] - ETA: 1s - loss: 0.5016 - sparse_categorical_accuracy: 0.8647" ] }, { "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\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", "328/782 [===========>..................] - ETA: 0s - loss: 0.4865 - sparse_categorical_accuracy: 0.8689" ] }, { "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\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", "351/782 [============>.................] - ETA: 0s - loss: 0.4740 - sparse_categorical_accuracy: 0.8720" ] }, { "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\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", "374/782 [=============>................] - ETA: 0s - loss: 0.4605 - sparse_categorical_accuracy: 0.8754" ] }, { "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\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", "397/782 [==============>...............] - ETA: 0s - loss: 0.4485 - sparse_categorical_accuracy: 0.8781" ] }, { "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\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", "420/782 [===============>..............] - ETA: 0s - loss: 0.4393 - sparse_categorical_accuracy: 0.8805" ] }, { "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\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", "442/782 [===============>..............] - ETA: 0s - loss: 0.4292 - sparse_categorical_accuracy: 0.8831" ] }, { "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\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", "466/782 [================>.............] - ETA: 0s - loss: 0.4220 - sparse_categorical_accuracy: 0.8847" ] }, { "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\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", "490/782 [=================>............] - ETA: 0s - loss: 0.4140 - sparse_categorical_accuracy: 0.8867" ] }, { "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\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", "514/782 [==================>...........] - ETA: 0s - loss: 0.4086 - sparse_categorical_accuracy: 0.8877" ] }, { "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\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", "537/782 [===================>..........] - ETA: 0s - loss: 0.4006 - sparse_categorical_accuracy: 0.8897" ] }, { "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\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", "560/782 [====================>.........] - ETA: 0s - loss: 0.3941 - sparse_categorical_accuracy: 0.8914" ] }, { "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\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", "583/782 [=====================>........] - ETA: 0s - loss: 0.3887 - sparse_categorical_accuracy: 0.8926" ] }, { "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\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", "606/782 [======================>.......] - ETA: 0s - loss: 0.3829 - sparse_categorical_accuracy: 0.8939" ] }, { "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\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", "629/782 [=======================>......] - ETA: 0s - loss: 0.3777 - sparse_categorical_accuracy: 0.8951" ] }, { "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\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", "653/782 [========================>.....] - ETA: 0s - loss: 0.3733 - sparse_categorical_accuracy: 0.8959" ] }, { "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\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", "676/782 [========================>.....] - ETA: 0s - loss: 0.3688 - sparse_categorical_accuracy: 0.8972" ] }, { "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\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", "699/782 [=========================>....] - ETA: 0s - loss: 0.3636 - sparse_categorical_accuracy: 0.8989" ] }, { "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\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", "723/782 [==========================>...] - ETA: 0s - loss: 0.3586 - sparse_categorical_accuracy: 0.8999" ] }, { "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\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", "747/782 [===========================>..] - ETA: 0s - loss: 0.3541 - sparse_categorical_accuracy: 0.9009" ] }, { "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\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", "771/782 [============================>.] - ETA: 0s - loss: 0.3508 - sparse_categorical_accuracy: 0.9016" ] }, { "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\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", "782/782 [==============================] - 3s 2ms/step - loss: 0.3495 - sparse_categorical_accuracy: 0.9019 - val_loss: 0.2964 - val_sparse_categorical_accuracy: 0.9203\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "\n", "# Prepare the training dataset\n", "train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))\n", "train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64)\n", "\n", "# Prepare the validation dataset\n", "val_dataset = tf.data.Dataset.from_tensor_slices((x_val, y_val))\n", "val_dataset = val_dataset.batch(64)\n", "\n", "model.fit(\n", " train_dataset,\n", " epochs=1,\n", " # Only run validation using the first 10 batches of the dataset\n", " # using the `validation_steps` argument\n", " validation_data=val_dataset,\n", " validation_steps=10,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "67b4418e9f26" }, "source": [ "検証データセットは使用するたびにリセットされることに注意してください(エポックごとに常に同じサンプルが評価されます)。\n", "\n", "`validation_split` 引数(トレーニングデータからホールドアウトセットを生成)は、`Dataset` オブジェクトからトレーニングする場合はサポートされません。この機能には、データセットのサンプルにインデックスを付ける機能が必要ですが、一般的に `Dataset` API では不可能です。" ] }, { "cell_type": "markdown", "metadata": { "id": "8160beb766a0" }, "source": [ "## サポートされるほかの入力形式\n", "\n", "NumPy 配列、eager tensors、TensorFlow `Datasets` のほか、Pandas データフレームやデータとラベルのバッチを生成する Python ジェネレータを使用して Keras モデルをトレーニングできます。\n", "\n", "特に、`keras.utils.Sequence` クラスは、Python データジェネレータを構築するためのシンプルなインターフェースを提供します。 これらはマルチプロセッシングに対応し、シャッフルすることができます。\n", "\n", "一般的に、以下を使用することをお勧めします。\n", "\n", "- NumPy 入力データ - データが小さく、メモリに収まる場合\n", "- `Dataset` オブジェクト - 大規模なデータセットがあり、分散トレーニングを行う必要がある場合\n", "- `Sequence` オブジェクト - 大規模なデータセットがあり、TensorFlow では実行できない多くのカスタム Python 側の処理を行う必要がある場合(たとえば、データの読み込みや前処理が外部ライブラリに依存している場合)。\n", "\n", "## `keras.utils.Sequence` オブジェクトを入力として使用する\n", "\n", "`keras.utils.Sequence` は、以下の 2 つの重要な特性を持つ Python ジェネレータを取得するためにサブクラス化できるユーティリティです。\n", "\n", "- マルチプロセッシングでうまく機能する\n", "- シャッフル可能(`shuffle=True` を `fit()` に渡す場合など)\n", "\n", "`Sequence`は以下の 2 つのメソッドを実装する必要があります。\n", "\n", "- `__getitem__`\n", "- `__len__`\n", "\n", "`__getitem__` メソッドは完全なバッチを返します。エポック間でデータセットを変更する場合は、`on_epoch_end` を実装できます。\n", "\n", "簡単な例を次に示します。\n", "\n", "```python\n", "from skimage.io import imread\n", "from skimage.transform import resize\n", "import numpy as np\n", "\n", "# Here, `filenames` is list of path to the images\n", "# and `labels` are the associated labels.\n", "\n", "class CIFAR10Sequence(Sequence):\n", " def __init__(self, filenames, labels, batch_size):\n", " self.filenames, self.labels = filenames, labels\n", " self.batch_size = batch_size\n", "\n", " def __len__(self):\n", " return int(np.ceil(len(self.filenames) / float(self.batch_size)))\n", "\n", " def __getitem__(self, idx):\n", " batch_x = self.filenames[idx * self.batch_size:(idx + 1) * self.batch_size]\n", " batch_y = self.labels[idx * self.batch_size:(idx + 1) * self.batch_size]\n", " return np.array([\n", " resize(imread(filename), (200, 200))\n", " for filename in batch_x]), np.array(batch_y)\n", "\n", "sequence = CIFAR10Sequence(filenames, labels, batch_size)\n", "model.fit(sequence, epochs=10)\n", "```" ] }, { "cell_type": "markdown", "metadata": { "id": "2a28343b1967" }, "source": [ "## サンプルの重み付けとクラスの重み付けを使用する\n", "\n", "デフォルト設定ではサンプルの重みはデータセット内の頻度によって決定されますが、サンプルの頻度に関係なくデータに重みを付けるには、以下の 2 つの方法があります。\n", "\n", "- クラスの重み\n", "- サンプルの重み" ] }, { "cell_type": "markdown", "metadata": { "id": "f234a9a75b6d" }, "source": [ "### クラスの重み\n", "\n", "クラスに対する重みは、ディクショナリを `class_weight` 引数に渡し、`Model.fit()`に渡すことで設定されます。このディクショナリは、クラスインデックスを、このクラスに属するサンプルに使用する重みにマッピングします。\n", "\n", "これは、リサンプリングせずにクラスのバランスを取るために使用できます。または、特定のクラスをより重要視するモデルをトレーニングするために使用できます。\n", "\n", "たとえば、クラス「0」がデータでクラス「1」として表されるものの半分である場合、`Model.fit(..., class_weight={0: 1., 1: 0.5})` とすることができます。" ] }, { "cell_type": "markdown", "metadata": { "id": "9929d26d91b8" }, "source": [ "以下は NumPy の例です。クラス#5(MNIST データセットの数字「5」)の正しい分類をより重要視するために、クラスの重みまたはサンプルの重みを使用しています。" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:18.041191Z", "iopub.status.busy": "2022-12-14T21:43:18.040632Z", "iopub.status.idle": "2022-12-14T21:43:21.050600Z", "shell.execute_reply": "2022-12-14T21:43:21.049870Z" }, "id": "f1844f2329a6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fit with class weight\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:18 - loss: 2.7679 - sparse_categorical_accuracy: 0.1562" ] }, { "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\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", " 21/782 [..............................] - ETA: 1s - loss: 1.8255 - sparse_categorical_accuracy: 0.4799 " ] }, { "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\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", " 41/782 [>.............................] - ETA: 1s - loss: 1.3865 - sparse_categorical_accuracy: 0.6368" ] }, { "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\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", " 62/782 [=>............................] - ETA: 1s - loss: 1.1458 - sparse_categorical_accuracy: 0.7049" ] }, { "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\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", " 83/782 [==>...........................] - ETA: 1s - loss: 0.9917 - sparse_categorical_accuracy: 0.7451" ] }, { "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\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", "105/782 [===>..........................] - ETA: 1s - loss: 0.8766 - sparse_categorical_accuracy: 0.7763" ] }, { "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\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", "127/782 [===>..........................] - ETA: 1s - loss: 0.8015 - sparse_categorical_accuracy: 0.7955" ] }, { "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\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", "149/782 [====>.........................] - ETA: 1s - loss: 0.7436 - sparse_categorical_accuracy: 0.8087" ] }, { "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\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", "170/782 [=====>........................] - ETA: 1s - loss: 0.6995 - sparse_categorical_accuracy: 0.8188" ] }, { "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\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", "191/782 [======>.......................] - ETA: 1s - loss: 0.6650 - sparse_categorical_accuracy: 0.8275" ] }, { "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\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", "212/782 [=======>......................] - ETA: 1s - loss: 0.6343 - sparse_categorical_accuracy: 0.8356" ] }, { "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\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", "233/782 [=======>......................] - ETA: 1s - loss: 0.6138 - sparse_categorical_accuracy: 0.8410" ] }, { "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\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", "255/782 [========>.....................] - ETA: 1s - loss: 0.5906 - sparse_categorical_accuracy: 0.8472" ] }, { "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\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", "276/782 [=========>....................] - ETA: 1s - loss: 0.5726 - sparse_categorical_accuracy: 0.8519" ] }, { "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\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", "297/782 [==========>...................] - ETA: 1s - loss: 0.5562 - sparse_categorical_accuracy: 0.8562" ] }, { "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\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", "318/782 [===========>..................] - ETA: 1s - loss: 0.5383 - sparse_categorical_accuracy: 0.8605" ] }, { "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\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", "339/782 [============>.................] - ETA: 1s - loss: 0.5237 - sparse_categorical_accuracy: 0.8641" ] }, { "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\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", "361/782 [============>.................] - ETA: 1s - loss: 0.5092 - sparse_categorical_accuracy: 0.8670" ] }, { "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\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", "382/782 [=============>................] - ETA: 0s - loss: 0.4967 - sparse_categorical_accuracy: 0.8701" ] }, { "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\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", "403/782 [==============>...............] - ETA: 0s - loss: 0.4881 - sparse_categorical_accuracy: 0.8721" ] }, { "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\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", "424/782 [===============>..............] - ETA: 0s - loss: 0.4769 - sparse_categorical_accuracy: 0.8752" ] }, { "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\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", "446/782 [================>.............] - ETA: 0s - loss: 0.4672 - sparse_categorical_accuracy: 0.8777" ] }, { "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\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", "467/782 [================>.............] - ETA: 0s - loss: 0.4602 - sparse_categorical_accuracy: 0.8791" ] }, { "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\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", "488/782 [=================>............] - ETA: 0s - loss: 0.4515 - sparse_categorical_accuracy: 0.8818" ] }, { "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\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", "510/782 [==================>...........] - ETA: 0s - loss: 0.4404 - sparse_categorical_accuracy: 0.8847" ] }, { "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\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", "531/782 [===================>..........] - ETA: 0s - loss: 0.4331 - sparse_categorical_accuracy: 0.8863" ] }, { "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\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", "551/782 [====================>.........] - ETA: 0s - loss: 0.4247 - sparse_categorical_accuracy: 0.8884" ] }, { "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\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", "572/782 [====================>.........] - ETA: 0s - loss: 0.4184 - sparse_categorical_accuracy: 0.8900" ] }, { "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\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", "593/782 [=====================>........] - ETA: 0s - loss: 0.4128 - sparse_categorical_accuracy: 0.8918" ] }, { "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\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", "614/782 [======================>.......] - ETA: 0s - loss: 0.4074 - sparse_categorical_accuracy: 0.8935" ] }, { "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\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", "635/782 [=======================>......] - ETA: 0s - loss: 0.4032 - sparse_categorical_accuracy: 0.8943" ] }, { "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\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", "656/782 [========================>.....] - ETA: 0s - loss: 0.3962 - sparse_categorical_accuracy: 0.8961" ] }, { "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\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", "677/782 [========================>.....] - ETA: 0s - loss: 0.3906 - sparse_categorical_accuracy: 0.8975" ] }, { "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\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", "698/782 [=========================>....] - ETA: 0s - loss: 0.3852 - sparse_categorical_accuracy: 0.8988" ] }, { "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\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", "719/782 [==========================>...] - ETA: 0s - loss: 0.3803 - sparse_categorical_accuracy: 0.8999" ] }, { "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\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", "741/782 [===========================>..] - ETA: 0s - loss: 0.3751 - sparse_categorical_accuracy: 0.9011" ] }, { "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\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", "763/782 [============================>.] - ETA: 0s - loss: 0.3714 - sparse_categorical_accuracy: 0.9017" ] }, { "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\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", "782/782 [==============================] - 3s 2ms/step - loss: 0.3683 - sparse_categorical_accuracy: 0.9026\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "class_weight = {\n", " 0: 1.0,\n", " 1: 1.0,\n", " 2: 1.0,\n", " 3: 1.0,\n", " 4: 1.0,\n", " # Set weight \"2\" for class \"5\",\n", " # making this class 2x more important\n", " 5: 2.0,\n", " 6: 1.0,\n", " 7: 1.0,\n", " 8: 1.0,\n", " 9: 1.0,\n", "}\n", "\n", "print(\"Fit with class weight\")\n", "model = get_compiled_model()\n", "model.fit(x_train, y_train, class_weight=class_weight, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "ce27221fad08" }, "source": [ "### サンプルの重み\n", "\n", "細かく制御する場合、または分類子を構築しない場合は、「サンプルの重み」を使用できます。\n", "\n", "- NumPy データからトレーニングする場合:`sample_weight` 引数を `Model.fit()` に渡します。\n", "- `tf.data` またはその他のイテレータからトレーニングする場合:`(input_batch, label_batch, sample_weight_batch)` タプルを介します。\n", "\n", "「サンプルの重み」配列は、バッチ内の各サンプルが総損失を計算する際に必要な重みを指定する数値の配列です。 これは、不均衡な分類の問題(頻繁に使用されないクラスにより大きな重みを与えるため)でよく使用されます。\n", "\n", "使用される重みが 1 と 0 の場合、配列は損失関数の*マスク*として使用できます(損失全体に対する特定のサンプルの貢献を完全に破棄します)。" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:21.054035Z", "iopub.status.busy": "2022-12-14T21:43:21.053535Z", "iopub.status.idle": "2022-12-14T21:43:38.097477Z", "shell.execute_reply": "2022-12-14T21:43:38.096828Z" }, "id": "f9819d647793" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fit with sample weight\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:21 - loss: 2.3889 - sparse_categorical_accuracy: 0.1094" ] }, { "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\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", " 22/782 [..............................] - ETA: 1s - loss: 1.7862 - sparse_categorical_accuracy: 0.5561 " ] }, { "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\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", " 44/782 [>.............................] - ETA: 1s - loss: 1.3580 - sparse_categorical_accuracy: 0.6729" ] }, { "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\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", " 66/782 [=>............................] - ETA: 1s - loss: 1.1284 - sparse_categorical_accuracy: 0.7330" ] }, { "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\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", " 88/782 [==>...........................] - ETA: 1s - loss: 0.9866 - sparse_categorical_accuracy: 0.7653" ] }, { "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\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", "110/782 [===>..........................] - ETA: 1s - loss: 0.8886 - sparse_categorical_accuracy: 0.7874" ] }, { "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\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", "132/782 [====>.........................] - ETA: 1s - loss: 0.8076 - sparse_categorical_accuracy: 0.8054" ] }, { "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\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", "154/782 [====>.........................] - ETA: 1s - loss: 0.7473 - sparse_categorical_accuracy: 0.8177" ] }, { "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\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", "176/782 [=====>........................] - ETA: 1s - loss: 0.7006 - sparse_categorical_accuracy: 0.8290" ] }, { "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\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", "198/782 [======>.......................] - ETA: 1s - loss: 0.6680 - sparse_categorical_accuracy: 0.8358" ] }, { "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\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", "220/782 [=======>......................] - ETA: 1s - loss: 0.6374 - sparse_categorical_accuracy: 0.8423" ] }, { "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\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", "242/782 [========>.....................] - ETA: 1s - loss: 0.6079 - sparse_categorical_accuracy: 0.8490" ] }, { "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\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", "264/782 [=========>....................] - ETA: 1s - loss: 0.5862 - sparse_categorical_accuracy: 0.8543" ] }, { "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\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", "286/782 [=========>....................] - ETA: 1s - loss: 0.5630 - sparse_categorical_accuracy: 0.8600" ] }, { "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\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", "308/782 [==========>...................] - ETA: 1s - loss: 0.5491 - sparse_categorical_accuracy: 0.8635" ] }, { "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\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", "330/782 [===========>..................] - ETA: 1s - loss: 0.5313 - sparse_categorical_accuracy: 0.8679" ] }, { "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\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", "353/782 [============>.................] - ETA: 0s - loss: 0.5168 - sparse_categorical_accuracy: 0.8717" ] }, { "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\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", "375/782 [=============>................] - ETA: 0s - loss: 0.5064 - sparse_categorical_accuracy: 0.8739" ] }, { "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\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", "397/782 [==============>...............] - ETA: 0s - loss: 0.4916 - sparse_categorical_accuracy: 0.8772" ] }, { "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\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", "420/782 [===============>..............] - ETA: 0s - loss: 0.4814 - sparse_categorical_accuracy: 0.8796" ] }, { "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\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", "443/782 [===============>..............] - ETA: 0s - loss: 0.4706 - sparse_categorical_accuracy: 0.8819" ] }, { "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\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", "466/782 [================>.............] - ETA: 0s - loss: 0.4612 - sparse_categorical_accuracy: 0.8839" ] }, { "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\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", "489/782 [=================>............] - ETA: 0s - loss: 0.4518 - sparse_categorical_accuracy: 0.8858" ] }, { "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\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", "512/782 [==================>...........] - ETA: 0s - loss: 0.4423 - sparse_categorical_accuracy: 0.8877" ] }, { "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\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", "534/782 [===================>..........] - ETA: 0s - loss: 0.4349 - sparse_categorical_accuracy: 0.8894" ] }, { "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\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", "557/782 [====================>.........] - ETA: 0s - loss: 0.4275 - sparse_categorical_accuracy: 0.8913" ] }, { "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\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", "580/782 [=====================>........] - ETA: 0s - loss: 0.4203 - sparse_categorical_accuracy: 0.8929" ] }, { "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\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", "602/782 [======================>.......] - ETA: 0s - loss: 0.4137 - sparse_categorical_accuracy: 0.8945" ] }, { "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\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", "624/782 [======================>.......] - ETA: 0s - loss: 0.4070 - sparse_categorical_accuracy: 0.8961" ] }, { "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\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", "646/782 [=======================>......] - ETA: 0s - loss: 0.4028 - sparse_categorical_accuracy: 0.8969" ] }, { "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\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", "668/782 [========================>.....] - ETA: 0s - loss: 0.3969 - sparse_categorical_accuracy: 0.8983" ] }, { "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\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", "690/782 [=========================>....] - ETA: 0s - loss: 0.3910 - sparse_categorical_accuracy: 0.8997" ] }, { "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\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", "712/782 [==========================>...] - ETA: 0s - loss: 0.3857 - sparse_categorical_accuracy: 0.9010" ] }, { "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\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", "734/782 [===========================>..] - ETA: 0s - loss: 0.3815 - sparse_categorical_accuracy: 0.9019" ] }, { "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\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", "756/782 [============================>.] - ETA: 0s - loss: 0.3764 - sparse_categorical_accuracy: 0.9031" ] }, { "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\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", "779/782 [============================>.] - ETA: 0s - loss: 0.3710 - sparse_categorical_accuracy: 0.9043" ] }, { "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\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", "782/782 [==============================] - 3s 2ms/step - loss: 0.3703 - sparse_categorical_accuracy: 0.9045\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sample_weight = np.ones(shape=(len(y_train),))\n", "sample_weight[y_train == 5] = 2.0\n", "\n", "print(\"Fit with sample weight\")\n", "model = get_compiled_model()\n", "model.fit(x_train, y_train, sample_weight=sample_weight, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "eae5837c5f56" }, "source": [ "以下は、一致する `Dataset` の例です。" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:38.100989Z", "iopub.status.busy": "2022-12-14T21:43:38.100410Z", "iopub.status.idle": "2022-12-14T21:43:41.037068Z", "shell.execute_reply": "2022-12-14T21:43:41.036376Z" }, "id": "c870f3f0c66c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:06 - loss: 2.4248 - sparse_categorical_accuracy: 0.0469" ] }, { "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\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", " 23/782 [..............................] - ETA: 1s - loss: 1.7394 - sparse_categorical_accuracy: 0.5448 " ] }, { "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\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", " 47/782 [>.............................] - ETA: 1s - loss: 1.2921 - sparse_categorical_accuracy: 0.6762" ] }, { "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\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", " 70/782 [=>............................] - ETA: 1s - loss: 1.0532 - sparse_categorical_accuracy: 0.7431" ] }, { "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\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", " 93/782 [==>...........................] - ETA: 1s - loss: 0.9012 - sparse_categorical_accuracy: 0.7802" ] }, { "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\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", "116/782 [===>..........................] - ETA: 1s - loss: 0.8181 - sparse_categorical_accuracy: 0.7984" ] }, { "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\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", "139/782 [====>.........................] - ETA: 1s - loss: 0.7590 - sparse_categorical_accuracy: 0.8125" ] }, { "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\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", "162/782 [=====>........................] - ETA: 1s - loss: 0.7049 - sparse_categorical_accuracy: 0.8244" ] }, { "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\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", "185/782 [======>.......................] - ETA: 1s - loss: 0.6605 - sparse_categorical_accuracy: 0.8344" ] }, { "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\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", "208/782 [======>.......................] - ETA: 1s - loss: 0.6357 - sparse_categorical_accuracy: 0.8403" ] }, { "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\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", "230/782 [=======>......................] - ETA: 1s - loss: 0.6130 - sparse_categorical_accuracy: 0.8447" ] }, { "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\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", "252/782 [========>.....................] - ETA: 1s - loss: 0.5909 - sparse_categorical_accuracy: 0.8496" ] }, { "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\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", "276/782 [=========>....................] - ETA: 1s - loss: 0.5689 - sparse_categorical_accuracy: 0.8544" ] }, { "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\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", "300/782 [==========>...................] - ETA: 1s - loss: 0.5472 - sparse_categorical_accuracy: 0.8598" ] }, { "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\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", "323/782 [===========>..................] - ETA: 1s - loss: 0.5273 - sparse_categorical_accuracy: 0.8647" ] }, { "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\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", "347/782 [============>.................] - ETA: 0s - loss: 0.5125 - sparse_categorical_accuracy: 0.8688" ] }, { "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\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", "371/782 [=============>................] - ETA: 0s - loss: 0.4981 - sparse_categorical_accuracy: 0.8720" ] }, { "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\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", "395/782 [==============>...............] - ETA: 0s - loss: 0.4843 - sparse_categorical_accuracy: 0.8750" ] }, { "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\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", "419/782 [===============>..............] - ETA: 0s - loss: 0.4741 - sparse_categorical_accuracy: 0.8777" ] }, { "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\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", "443/782 [===============>..............] - ETA: 0s - loss: 0.4616 - sparse_categorical_accuracy: 0.8806" ] }, { "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\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", "467/782 [================>.............] - ETA: 0s - loss: 0.4528 - sparse_categorical_accuracy: 0.8829" ] }, { "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\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", "491/782 [=================>............] - ETA: 0s - loss: 0.4452 - sparse_categorical_accuracy: 0.8843" ] }, { "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\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", "515/782 [==================>...........] - ETA: 0s - loss: 0.4378 - sparse_categorical_accuracy: 0.8860" ] }, { "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\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", "539/782 [===================>..........] - ETA: 0s - loss: 0.4289 - sparse_categorical_accuracy: 0.8882" ] }, { "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\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", "563/782 [====================>.........] - ETA: 0s - loss: 0.4212 - sparse_categorical_accuracy: 0.8897" ] }, { "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\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", "586/782 [=====================>........] - ETA: 0s - loss: 0.4150 - sparse_categorical_accuracy: 0.8915" ] }, { "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\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", "610/782 [======================>.......] - ETA: 0s - loss: 0.4076 - sparse_categorical_accuracy: 0.8932" ] }, { "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\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", "634/782 [=======================>......] - ETA: 0s - loss: 0.4019 - sparse_categorical_accuracy: 0.8948" ] }, { "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\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", "657/782 [========================>.....] - ETA: 0s - loss: 0.3964 - sparse_categorical_accuracy: 0.8960" ] }, { "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\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", "681/782 [=========================>....] - ETA: 0s - loss: 0.3905 - sparse_categorical_accuracy: 0.8973" ] }, { "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\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", "704/782 [==========================>...] - ETA: 0s - loss: 0.3850 - sparse_categorical_accuracy: 0.8987" ] }, { "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\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", "728/782 [==========================>...] - ETA: 0s - loss: 0.3809 - sparse_categorical_accuracy: 0.8996" ] }, { "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\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", "752/782 [===========================>..] - ETA: 0s - loss: 0.3752 - sparse_categorical_accuracy: 0.9009" ] }, { "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\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", "775/782 [============================>.] - ETA: 0s - loss: 0.3721 - sparse_categorical_accuracy: 0.9016" ] }, { "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\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", "782/782 [==============================] - 2s 2ms/step - loss: 0.3709 - sparse_categorical_accuracy: 0.9019\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sample_weight = np.ones(shape=(len(y_train),))\n", "sample_weight[y_train == 5] = 2.0\n", "\n", "# Create a Dataset that includes sample weights\n", "# (3rd element in the return tuple).\n", "train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train, sample_weight))\n", "\n", "# Shuffle and slice the dataset.\n", "train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64)\n", "\n", "model = get_compiled_model()\n", "model.fit(train_dataset, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "a5f94cd76df5" }, "source": [ "## 多入力多出力モデルにデータを渡す\n", "\n", "前の例では、1つの入力(テンソルの形状 `(764,)`)と1つの出力(形状の予測テンソル `(10,)`)を持つモデルを見ました。では、複数の入力や出力を持つモデルではどうでしょう。\n", "\n", "次のモデルを考えてみましょう。形状 `(32, 32, 3)` の画像入力(`(height, width, channels)`)、形状 `(None, 10)` の時系列入力(`(timesteps, features)`)があります。モデルは、これらの入力の組み合わせから 2 つの出力(「スコア」(形状`(1,)`)および 5 つのクラスにわたる確率分布(形状`(5,)`)を計算します。" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.040652Z", "iopub.status.busy": "2022-12-14T21:43:41.040067Z", "iopub.status.idle": "2022-12-14T21:43:41.104218Z", "shell.execute_reply": "2022-12-14T21:43:41.103601Z" }, "id": "5f958449a057" }, "outputs": [], "source": [ "image_input = keras.Input(shape=(32, 32, 3), name=\"img_input\")\n", "timeseries_input = keras.Input(shape=(None, 10), name=\"ts_input\")\n", "\n", "x1 = layers.Conv2D(3, 3)(image_input)\n", "x1 = layers.GlobalMaxPooling2D()(x1)\n", "\n", "x2 = layers.Conv1D(3, 3)(timeseries_input)\n", "x2 = layers.GlobalMaxPooling1D()(x2)\n", "\n", "x = layers.concatenate([x1, x2])\n", "\n", "score_output = layers.Dense(1, name=\"score_output\")(x)\n", "class_output = layers.Dense(5, name=\"class_output\")(x)\n", "\n", "model = keras.Model(\n", " inputs=[image_input, timeseries_input], outputs=[score_output, class_output]\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "df3ed34fe78b" }, "source": [ "ここで何が行われているか明確に分かるようにこのモデルをプロットしてみましょう(プロットに表示される形状は、サンプルごとの形状ではなく、バッチの形状であることに注意してください)。" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.107705Z", "iopub.status.busy": "2022-12-14T21:43:41.107214Z", "iopub.status.idle": "2022-12-14T21:43:41.352355Z", "shell.execute_reply": "2022-12-14T21:43:41.351550Z" }, "id": "ac8c1baca9e3" }, "outputs": [ { "data": { "image/png": "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7BTvX+anOca8xoiUcnJy0KlTJ2uHYTSViIi1gzCFpKQkxMfHWzsMIiKyI1u2bOF88q1IXFwckpOTrR0GERHZodjYWGzdutXaYRhjq810FhBR82j+0OF/AYiIiKghzBeI7M5WjllARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERApO1g6AiCzn0KFDSE1NVZSdPXsWAPD+++8rysPCwvA///M/FouNiIiIWgbmC0QEACoREWsHQUSWceDAAYwZMwbOzs5wcND/YFFtbS2qq6uxf/9+REZGWjhCIiIisjbmC0QEYCs7C4jsSG1tLQICApCfn99ovXbt2iE3NxeOjo4WioyIiIhaCuYLRARgK8csILIjDg4OmDp1KlxcXBqs4+LigmnTpvHGT0REZKeYLxARwAEOiezOk08+iTt37jS4/M6dO3jyySctGBERERG1NMwXiIivIRDZoS5duuDy5ct6lwUHB+Py5ctQqVQWjoqIiIhaEuYLRHaNryEQ2aPp06fD2dlZp9zZ2RlPP/00b/xERETEfIHIzvHJAiI7dPbsWfzud7/Tu+zUqVPo16+fhSMiIiKilob5ApFd45MFRPaoT58+6Nevn85/BPr27csbPxEREQFgvkBk79hZQGSn/vCHPyhGMHZ2dsZTTz1lxYiIiIiopWG+QGS/+BoCkZ26cuUKHnjgAWi+AlQqFS5cuIAuXbpYNzAiIiJqMZgvENktvoZAZK+Cg4MxdOhQODg4wMHBAUOHDuWNn4iI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IV5eXlKvXj3p0qWLfP/99yZxxMTEiL+/f4UjgtwrNzdXUlNTJS4uTho3bize3t7i7+8vUVFR8v7771eYBP/888/StWtXqVWrlvj7+0tMTIzZc8Vd40lISJCwsDC5c+dOlesoj8UCcrT7TS5dMV8QEdm0aVOFuYK5YQcdmS/Yep0zV1B2NAQR5hH3ctftFlEmPzCHxQIjLBZU5X6KBWQfrnjR6hMAV2PL+Z6TkyNhYWGSnJzsoKiUdePGDdFoNJKUlKR0KCLinvEcPHhQVCqVyTBQlmKxgBzNFe9TNY0rXueumivY+3xnHlEzuUJ+YA4/z41w6EQiuj86nQ6bNm3CunXrDI2pagoRQUpKCmrVqoWpU6cqHY5bxnPu3DnEx8fj9ddfR//+/R2yDiIiUg7ziJqH+UHNwWIBEd23tm3bYt++ffj222+Rl5endDh2c/XqVZw7dw7btm27r+7ijMd2CxcuxLRp0zBt2jSHLJ+IiJTHPKJmYX5Qc6irnoWILDVz5kxMnDjR8N8qlQpTpkzBe++9p2BU1aNx48YVjn/rqkJCQgxjfjsDd4xn+vTpDl0+EVF1c+dcoTLMI2oO5gc1B4sFRHY0YcIETJgwQekwiIiIyEkxVyAiV8GfIRARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywgaHFvjoo4+wdu1apcNwW3v27AEAJCQkKByJe+D5TjXNpUuXlA6B3MCePXt4n1KQ/jrnMXA85mVUk+3ZswdPPPGE0mE4DZWIiNJBODN+EFJNd+TIEQBA69atFY6EyLFYBCNH+fDDD7F7926lwyByKOYL5C6efPJJjBs3TukwnMFaFguI3Fy/fv0AAGlpaQpHQkRERM6K+QKR21nLngVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERG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txxCz922W8nc4L6LBUVFRcjPz4evry/8/f1NXi/fxbGy5eTm5sLX19fscDLBwcEAgMzMTKPpQUFBZpvK1a9fHwDw+++/AwByc3Px9ttvo3Xr1ggMDDT8JmXixIkAgIKCAovitEatWrWM/tvDwwOenp7w8/Mzmu7p6Wnym0db4p06dSratWuHXbt2ISEhAR4e93d4K0qA79231hw3W4+xLco3/fD29gYAw36+n/O2pKQECQkJCAsLw+eff262UFDV8vX70NlVtR/vZcn5UtP5+voCAIqLi616X0pKChITE/HLL7+YHSrpfq4dS66F3NxclJWVQafTGf1mT6VS4eeffwYAnD592qptskSPHj0AwGg0AX2Sbe4Ge/nyZQBwWKLsCvHcq6SkxOUbpjGHqBhziJqZQ1iCOcQfmENUzV1zCHfd7urODe67WODj44OAgAAUFhbi5s2bJq9benH7+PhAp9OhsLDQpFHQK8WQAAAgAElEQVQPAFy9ehXA3WrNvXJzc80uT79e/YdMjx49MHXqVAwfPhynTp1CWVkZRAQfffQRADjdkHe2xLt9+3bk5uaidevWGDlyJA4dOnRfMVy7ds3seu7dt9YcN1uPsSPcz3mbnJyMoqIipKWlGTXJadasGfbs2WPR8q9fv26HrXAulpwveh4eHrhz547JvBU10XKVUSZCQ0MBVPy5VJnU1FS0aNECS5YswfLly41ec+S14+Pjg9q1a0OtVqO4uBgiYvZfp06drF62JesGjK8H/Xr2799vMr9+WmxsrN1jcZV49PLy8iAihnPOVTGHcAzmEI5lr/PW1uUzh2AOUZ475hCAe253decGdvkZQteuXQH88ciUXmZmplVdovv06QMAJsM9FBUVYdu2bdBoNCaPY928edPkhnbkyBFkZGQgMjISoaGhKC0txc6dOxESEoKUlBTUq1fP8MHhjI9w2hLv+fPnMWzYMHz55Zf4+uuvodFo0KtXL2RlZdkcR2FhIdLT042mld+3gHXHzZZj7Ci2nLfvvvsujh49io0bNxouVmuXn52djZMnT9oattOy9HwB7t4Q9d/K6mVmZuK3334zu2w/Pz+jxKBFixZYtGiRHaO3j1atWgEw/y10Vfz9/fHll19Cq9Xik08+MXndkddOfHw8SkpKzHYpnz59Oho2bGjzmL0TJkwwdFgv79tvvwVg/Lhfx44d8fDDD2PdunVGwyKVlpZi9erVCA8PN3mc0J3i0dNfP/pzzpUxh7Av5hDOm0PYY/nMIZhDmFNTc4iq1NTtdqrcwIoGBxU6c+aM1KlTx6hj65EjR+S5556TRo0a2dzJOC8vz6hj5aJFi0yWodVqJTo6Wvbs2VNp99SYmBgBIDNmzJCsrCwpKCiQH374QRo2bCgA5Pvvv68yPktV1PAlLi7ObDObjh07ilarNZpmTbz5+fnSpk0b2bhxo2Ha9u3bxcvLS55++mm5c+eO1dug7xIdGxtrdSfjyo6bLcfYluZE5adPmjTJpHmOteftZ599ZuhGWtG/extlmVv+0aNHJS4uTurXr+8SDQ4t2Y8i1p0vIiKjR48WADJnzhzJz8+XM2fOSL9+/SQsLMxsc6LnnntOdDqd/Pbbb7Jr1y5Rq9Vy7Ngxw+vOMhpCWVmZ1K9fv8JGSuaa9JS3YsUKAVBlR9+qrh1rjuHVq1eladOmEhERIVu2bJGcnBy5du2aLFiwQPz8/EyaYQ0cOFAAyLlz56rcJ+PHjxeVSiV//etf5fz581JYWCjnz5+X1157zdAcsKCgwOg9u3fvFl9fX+nfv79cuXJFsrOzJTk5WdRqtXz33Xcm63C3eEREvvjiCwEg69evr3Id5cHJGhwyhzDGHKJm5hDlVdXg0BE5hEj1Njh05xzClnyNOYR57rjd1Z0bOHw0BBGRkydPSu/evaVWrVri5+cn7du3lx9//FGeeeYZ8fPzM8z3j3/8w+QPrClTphhez87OlrFjx0qTJk3Ey8tLdDqdxMXFybZt28wuIywsTPbu3SudOnUSf39/0Wg00rFjR9mxY4dRfFlZWZKcnCzh4eHi5eUlwcHBMmTIEJk8ebJhWVFRUVXGV5ndu3ebfW96errJ9Pfff1/++9//mkx/5513rIp31KhRRu8/cuSIZGVlmSx36tSpVh1P/Q322LFjEhcXJwEBARXuW0uPmzXzVnQc1q9fbzJ94MCBFe57ETGZ3q1bN8N6LD1vRUS6detmVbGg/PL1w6588803Ehsba3jPsGHDLD4u9ioW2Hs/Wnu+5OTkSFJSkoSGhopGo5Ho6GhJT0+XqKgow/InTZpkmP/EiRPSoUMH0Wq1Eh4ebtIpuEOHDk4xGoKIyBtvvCFqtVouX75smGbumqysS+7LL79sNuGx5Nqx9Rheu3ZNxo0bJxEREeLl5SX16tWTLl26mPwRJHL3DxF/f3+zo4CUl5ubK6mpqRIXFyeNGzcWb29v8ff3l6ioKHn//ffN3uxERH7++Wfp2rWr1KpVS/z9/SUmJsbsueSu8SQkJEhYWJhNf8g5W7FAhDmECHOImp5DiPwxpKW5f+WHcCu/fHvkEPrtud/rnzlE1WzN15hD/MFdt1uk+nODaikWVKRFixbSsGFDuy2Pqsf9fCtSEzjreWvv69NeauL5YmuxICcnR8LCwiQ5OdkBUSnvxo0botFoJCkpSelQRMQ94zl48KCoVCqToaAs5YzFgoo462cxVa4m3hOs4cznraOvf1vUxPPF1nyNOUTN5Oy5gcOHTszMzESdOnVMundeuHABZ8+eRUxMjD1WQ2RXPG/JEXQ6HTZt2oR169Zh3rx5SodjVyKClJQU1KpV676HVWM8tjl37hzi4+Px+uuvo3///g5ZR3XjZzG5Ip635AjMIWoeV88N7FIsAIAbN24gOTkZFy9eREFBAfbu3YvExETUqlULb731lr1WQ2RXPG/JEdq2bYt9+/bh22+/RV5entLh2M3Vq1dx7tw5bNu2rVo6jjMeUwsXLsS0adMwbdo0hyxfKfwsJlfE85YcgTlEzeLquYFdigUhISHYunUrcnJy8PTTTyMwMBA9e/bEgw8+iL179yIiIsIeq1FU+fEzzf179913lQ6zUpZsg7+/P1QqFQ4dOoTLly9DpVLhzTffVDp0h3CH89bRZs6c6Tbni7UaN26Mb775xmSsdFcWEhKCHTt24JFHHlE6FADuGc/06dNrzBMFeu7wWcwcouZxh/PW0ZhDVIw5RM3h6rmBuupZLBMbG+uwsaadgTjZGMq2qAnbYG81/bx1tAkTJmDChAlKh0FELq6mfxbXhPtvTdgGe6vp562jMYcgcn52+xkCEREREREREdUMLBYQERERERERkREWC4iIiIiIiIjICIsFRERERERERGSkwgaHCQkJ1RkHEVng0qVLAHh9Voc9e/YA4L4mssVHH32EtWvXKh0GEZnB69PxmK+RK9Gfr+bwyQIiIiIiIiIiMlLhkwWsOBI5n7S0NCQmJvL6rAb6bwO4r6mmUalUDl/Hq6++in79+jl8PURkHZVKxeuzGjBfI1eiP1/N4ZMFRERERERERGSExQIiIiIiIiIiMsJiAREREREREREZYbGAiIiIiIiIiIxUS7Hg4MGDGDFiBFq0aAF/f3/4+/ujefPm6NKlCz744AMcOHAAIgIAmDlzJlQqFVQqFR544AGb1mePZVi77Js3bxqm6//t3r27yuVNnDjR6D3vvfeeXeMtz9/f3yROlUoFDw8P1KtXD71790Z6erpDY3Dk8bHVjRs3sGDBAsTExKBOnTrQaDR48MEHMXDgQBw6dMhkfnP70cPDA4GBgYiMjMTIkSOxf/9+BbaEyLxff/0VPXv2RF5eHrKzs43O3bZt26KwsNDkPeXnU6lUeOyxxxSI3n5EBDt37sSoUaPQvHlz+Pj4oH79+oiOjsaKFSsM9yK9yZMnY82aNQpFS3rMIyrGPMI58oh7bdmyBc2bN4daXWEfceYR5LSYL9zFfOH/k3LWrFkjZibbpLS0VF577TXx9PSU0aNHy4EDB6SgoEBu3Lghe/fulaFDhwoAASDp6elG742MjJSwsLD7Wr89lmHtsg8cOGDYpq5du1a6jOzsbPH39xcAMnDgQIfEaY4+xl69ehmm5eTkyFdffSX169cXLy8v+f777x0eh7l9mJ+fL82aNZNu3bo5fP33GjZsmKjVavn444/lypUrcuvWLfnpp5/k4YcfFk9PT1m/fr3Je8rvx5KSEsnMzJQNGzZIp06dBIAMGTJEbt26Zbc47Xl9UuX69u0rffv2VToMuzhw4IDUrVtX5syZYzQ9PT3d8HmVnJxc4ft3794tQUFBjg6zWhw/flwASOfOneXQoUNy+/ZtOXv2rAwYMEAAyPjx443mP3PmjDRp0kTefPNNhSK2PwCyZs0al1g+8wjmEZVxpjxC5O7nRY8ePaRNmzZSq1Yt8fT0rHR+JfIIR1//dJer5mvMF/7gTvlCJedrmkOfLHjrrbcwY8YMzJ07F3PmzMGjjz4KjUaD2rVr4/HHH8fixYsxadIkR4agCI1Gg0aNGuHbb7/Fvn37Kpzvo48+Qnh4eDVGVjGdToc+ffrgww8/RHFxMcaOHatIHCKCsrIylJWVVfu6hw4dijFjxiAkJAR+fn7o0KEDvvjiC5SWluK1116r8v2enp4IDg5Gr1698MMPP+C1117D0qVLMWDAAJPqY03i7++P6Ohot12/s8vLy0OPHj3w5z//GaNHjzZ53cfHB0FBQVi4cCFWrVqlQITVT61WIy0tDW3atIGvry8iIiKwdOlSBAUFYe7cuSgqKjLM27RpU6xfvx7Tpk1DWlqaglG7J+YRzCOspWQe8dZbb6F9+/bYv38/AgICrH6/O+YRSt/DlV6/M2G+YIr5ggN/hnD8+HF88MEHiIqKwksvvVThfJMnT4avr6+jwlCEh4cHJk+eDAAVPg6Yk5OD+fPnO12S06lTJwDA0aNHkZOTU+3rDwgIwNmzZ7Fly5ZqXW9qaioWLlxoMj0yMhIajQZnz561+kb9wQcfoF27dvj666+xevVqe4VKZJUZM2YgMzMTb7/9ttnXfX19sXLlSnh4eCA5ORmnTp2q5girV8uWLVFcXIzAwECj6d7e3ggPD0dRUZHJI5aRkZHo27cvxo8fj5KSkuoM160xj2AeYQul8ggAWLx4MSZPnlzpzw+swTyCqhPzBWPMF+5yWLFg0aJFKCsrQ0JCQqXz1a5dG7dv33b537WU9+KLLyIsLAxff/01Dh8+bPL67Nmz8b//+79o2rSpAtFV7N4/iFUqlYKROIdbt27h9u3baNWqldX7Q6VSGSqzn3zyiSPCI6qUiCA1NRXt2rVDgwYNKpwvLi4Ob775JvLz85GQkGD294g1XU5ODk6fPo22bdtCp9OZvN6nTx9cunQJmzdvViA698Q8gnmEq9FoNHZdHvMIqi7MFyznbvmCw4oFP/30E4C7FRZ7unbtGsaNG4emTZvC29sbgYGB6Nq1K/7zn/9U+J4TJ06gW7du0Ol08PPzQ6dOnbBz506jeUpKSrBmzRo8++yzCAkJgUajQevWrTFr1iybHmXz8fHBxIkTISKYNm2a0Ws3b97EnDlz8MYbb1T4fkvjiY6ONmomMmjQIABA586djaZbWt3fvn07AOCRRx4xXADW7HNbjo/ehg0bjGLWfwCVn37hwgUkJiaidu3aCAoKQvfu3XH27FmT5Z04cQK9e/c2HPc//elP+Oabb4z2TVJSUqUxrV27FgAwZcqUKuM3R/9o2549e1BcXGzTMuzBkuPy3nvvGfbLvY/kfffdd4bpdevWNUzXN5i6desWdu7caZhH/41K+QZU6enpiI2NRUBAgNnr0N7rJ+DQoUO4evWqRZ/D77zzDrp06YLDhw/jlVdesWj5lpxXtl6/WVlZSElJQePGjeHt7Y169eohPj4eBw8etHwHWCAvLw87d+5Ez549ERISgmXLlpmd79FHHwUA/Otf/7Lr+qlizCOYR9SEPOJ+OUMewRyi5mO+UDW3zResaHBgldDQUAEg//d//2fT+801rbly5Yo0adJEgoODZdOmTZKbmysnT56U+Ph4UalU8umnn5osQ6fTSadOnWTHjh2Sn58v6enp0qZNG/H29pbt27cb5t20aZMAkL///e9y/fp1ycrKktmzZ4uHh4dMmDDBovhE7jYG0Wq1IiJSUFAgwcHB4uHhIceOHTPM88EHH0i/fv1EROS///2v2cZE1sRz8OBB0Wq1EhkZKTdv3hQRkcLCQmnXrp2sWrXKbIwo15goNzfXbGMia/a5LcfH3D7s1auXAJDbt2+bnd6rVy/ZtWuX3Lx5U77//nvRaDTy+OOPG817+vRpqV27toSFhcm///1vyc/Pl19++UU6d+4s9erVEx8fH5P1lpeZmSnBwcGSlJRk9nVz+7G827dvGxrCZGRkVLnOqthyfVp7XLRarTz11FMmy4mKijLbtKai+fUiIyNFq9XKk08+aThuFV2Hjlh/p06dpE6dOrJ79+4K5zGnJjQ4XL58ueFzxJz09HTR6XSG/87KypLw8HABICtWrDBMN9ewyNrzyprrNyMjQxo1aiTBwcGyefNmw/XbsWNH8fX1lV27dt3vrhERkalTpxquz2eeeUYOHz5c4by5ubkCQDp06GCXdSsJLtLgkHkE8whXziPCwsKsbnBojr3zCGuvT+YQtuUQrtbgkPlC5Wp6vlBZg0OHFQtCQkIqvclHRkYadrq5D0pzN4AhQ4YIAJMbV2FhoTRo0EA0Go1kZmaarKP8BX748GEBIJGRkYZpmzZtkmeeecYkzkGDBomXl5fk5uZWGZ+I8U1eRGT69OkCQAYNGiQiIrdu3ZLg4GA5dOiQiFR+k7cmnrS0NAEg8fHxUlZWJi+88IK88cYbJu/Xx3jvvgcgKpVKgoKCpGfPnrJ3717DvNbsc1uOjy03+U2bNhlN79u3rwCQrKwsw7SEhAQBIOvWrTOa9/fffxc/P78qb/LZ2dny6KOPSmJiopSUlJidx5KbfEFBgeLFAmuPiyNu9ADkwIEDRtPNXYeOWH/Hjh0lMDDQ6htGTSgWzJgxQwDIvHnzzL5e/uYvcvdG7+XlJVqtVo4fP26YVn7fW3teWXP9vvDCCwJAVq5caTTvlStXxMfHR6KioizcA1UrKiqS48ePy0svvSSenp7yt7/9rcJ5VSqVNGvWzG7rVoqrFAuYR9zFPMI18wh7FQvsnUdYe30yh7Ath3C1YgHzharV5HxBkdEQwsLCANwdd9OcgwcPQkSsGot3/fr1AIBu3boZTffx8UFsbCxu375t8siHr68v2rVrZzStdevWaNCgAQ4dOoQrV64AALp37272EbfIyEgUFxfj6NGjFsd5r5EjRyIoKAirVq3CmTNnsHDhQjzxxBNo06ZNpe+zNp6EhARMmTIFX331FaKjo3Ht2jVMnTq10nX06tULImLoHJydnY2NGzfi8ccfN8xjzT635fjY4t74ABg6QWdkZBimfffddwDu/rbqXvXq1UPLli0rXf6tW7cQFxeHhx9+GCtXroSnp6fNserPLy8vL6PH36pTdR2Xymi1WsNjWXrmrkNH2L59O65fv44nn3zSYetwVvpHcL28vCx+zxNPPIGZM2fi1q1bSEhIwO3bt83OZ+t5Zcn1u2HDBnh4eKB79+5G84aEhOCRRx7B/v37cenSJYu3qTLe3t5o2bIl5s+fj549e+Ltt9/G1q1bzc6rVqsr3B9kf8wj7mIe4Xp5hD0pnUcwh3CPHIL5QtXcNV9wWLHg6aefBgD8/PPPdlleUVERcnNz4evra3Y4muDgYABAZmam0fSgoCCzDXbq168PAPj9998BALm5uXj77bfRunVrBAYGGn4vM3HiRABAQUGBTXH7+/tj7NixKC0txTvvvIOZM2fizTffrPJ9tsQzdepUtGvXDrt27UJCQgI8PO7v8Fqzz209PrYo30zE29sbAAy/wSwqKkJ+fj58fX3h7+9v8v7yXU3vVVJSgoSEBISFheHzzz+/r0IBAOzYsQMA8OSTT1r1AWwv1XlcKlO7dm2z08tfh2Rf+g7x1v7ONSUlBYmJifjll1/MDp90P+eVJddvbm4uysrKoNPpjH6/qFKpDPeU06dPW7VNlujRowcA4JtvvjH7eklJid0bmFHFmEfcxTzCdN775cg8wt6UzCOYQ7gP5gvWcad8wWHFguHDh8PDwwOrV6+2y9iwPj4+0Ol0KCwsRH5+vsnrV69eBXC3knSv3Nxcs8vTf7DoP2h69OiBqVOnYvjw4Th16hTKysogIvjoo48A4L624ZVXXoFOp8MXX3yByMhIizo22xLP9u3bkZubi9atW2PkyJE4dOiQzTED1u1zW4+PI/j4+CAgIACFhYW4efOmyeuV3VSSk5NRVFSEtLQ0oyY3zZo1w549e6yKo6ysDPPmzQMAjBo1yqr32ostx8XDwwN37twxmbei5laWdLu+du2a2XO2/HXoqPW7q9DQUAAVfw5WJjU1FS1atMCSJUuwfPlyo9cceb37+Pigdu3aUKvVKC4uNnxrWf6ffng2e/Lx8QEAXL9+3eS1vLw8iIhhn5LjMY/4A/MI18kj7EnpPII5hPtgvmD9ugH3yBccVix46KGHMHnyZBw9ehQzZsyocL7S0lKLl9mnTx8AMBmKoqioCNu2bYNGozF5XOzmzZsmN7sjR44gIyMDkZGRCA0NRWlpKXbu3ImQkBCkpKSgXr16hg8PezxCotPpMG7cOOh0Oou+DbAlnvPnz2PYsGH48ssv8fXXX0Oj0aBXr17Iysq6r9it2ee2HB9H6dq1K4A/HiPUy8zMrHBc2HfffRdHjx7Fxo0bDR8C9+P111/H3r170adPnyqH/nIka49LaGgoLl++bDRvZmYmfvvtN7PL9/PzM7oxt2jRAosWLTKap7Cw0ORR4fLXoSPX765atWoFADY9gufv748vv/wSWq3W7JBdjrze4+PjUVJSYtJtHgCmT5+Ohg0b2jx+8YQJEwzd3sv79ttvAZg++gjAcE7q9yk5HvOIPzCPcI08wt6cIY9gDuEemC+YYr7w/1nR4MBqpaWlMnHiRFGpVDJ06FDZt2+f3Lp1SwoKCuTw4cMybdo0CQ4OFk9PT5k6darRey3pYpyXl2fUTXPRokUmy9BqtRIdHS179uyptINqTEyMAJAZM2ZIVlaWFBQUyA8//CANGzYUAIauvpXFJ2LamKgqFTUmsiae/Px8adOmjWzcuNEwbfv27eLl5SVPP/203LlzxyRGVNFQR8+afW7L8bGlMVH56ZMmTTJpfnPmzBmpU6eOURfjI0eOyHPPPSeNGjUyaUz02WefmTRrKv+vfIOr8vuxtLRUrl69Khs2bDAcv6FDh0pBQUGV+9lS9hgNoarjMnr0aAEgc+bMkfz8fDlz5oz069dPwsLCzDYHeu6550Sn08lvv/0mu3btErVabdS1W99NPDY21qJOxvZevzuPhlBWVib169evsHmTuYZF5a1YsUIAVNnduKrzyprr9+rVq9K0aVOJiIiQLVu2SE5Ojly7dk0WLFggfn5+Js25Bg4cKADk3LlzVe6T8ePHi0qlkr/+9a9y/vx5KSwslPPnz8trr70mACQqKsrsNfvFF18IAFm/fn2V63B2cJEGhyLMIyzBPMI58ojybGlwWB15hLXXJ3MI9xgNgfmCKXfKFxQZDeFe+/fvl6FDh0rTpk1Fo9GIt7e3hISESExMjLz33ntGB+wf//iHyR9pU6ZMMbyenZ0tY8eOlSZNmoiXl5fodDqJi4uTbdu2mV1GWFiY7N27Vzp16iT+/v6i0WikY8eOsmPHDqMYs7KyJDk5WcLDw8XLy0uCg4NlyJAhMnnyZMOyoqKiKo1Pq9UaTY+Li6t0v5j7g3TOnDlWxTNq1Cij9x85ckSysrJMlqtPosrHCEBatGhRaZyW7HNbj8+9+3D9+vUm0wcOHCi7d++ucJ+Xn96tWzfDek6ePCm9e/eWWrVqiZ+fn7Rv315+/PFHeeaZZ8TPz88o7m7dullVLDC3H1Uqleh0OmndurW8/PLLsn///kr3qy1svT6tOYY5OTmSlJQkoaGhotFoJDo6WtLT0yUqKsqwrZMmTTLMf+LECenQoYNotVoJDw836aSrT+aOHTsmcXFxEhAQUOF16Ij1d+jQwW1HQxAReeONN0StVsvly5cN08x9RlTWMfjll182m2RZcl7Zev1eu3ZNxo0bJxEREeLl5SX16tWTLl26mPzBJXL3jyJ/f/8KRy65V25urqSmpkpcXJw0btxYvL29xd/fX6KiouT999+vMClPSEiQsLAwkz+aXJErFQv0mEeYxzzCefIIkT+GqzT3z9wQg0rkEbZcn8whav5oCCLMF8pzp3xB8WIBkTNp0aKFNGzYUOkwbOKK12dF3/w4u5pSLMjJyZGwsDBJTk5WOhSHuHHjhmg0GklKSnLYOg4ePCgqlcrsePOuyBWLBUTOxJXzCFe7Pl01h3DFfI35wv1z1XxBkaETiZSUmZmJOnXqmHR1vXDhAs6ePYuYmBiFIiOqXjqdDps2bcK6desMjbJqChFBSkoKatWqVeUQb7Y6d+4c4uPj8frrr6N///4OWQcROR/mEeRumC/cn5qaL7BYQDXWjRs3kJycjIsXL6KgoAB79+5FYmIiatWqhbfeekvp8IiqTdu2bbFv3z58++23yMvLUzocu7l69SrOnTuHbdu2OaxD+sKFCzFt2jRMmzbNIcsnIufFPILcDfMF29XUfIHFAqqRQkJCsHXrVuTk5ODpp59GYGAgevbsiQcffBB79+5FRESE0iHWeDNnzoRKpcKhQ4dw+fJlqFQqi7p4k2M0btwY33zzDWrVqqV0KHYTEhKCHTt24JFHHnHYOqZPn16jviEgIsswj1AWcwjlMF+wTU3NF9RVz0LkmmJjYxEbG6t0GG5rwoQJmDBhgtJhEBER2YR5hHKYQxA5Bz5ZQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZKTC0RBUKlV1xkFEVuD1WX24r4msl5iYiMTERKXDICIzeH1WH+YQ5OpMigXt27fHmjVrlIiFiMipFBYWYtmyZdixYwcAoEOHDnj22WfRuHFjZQMjuk/t27d32LKZQ5CrKCkpwd69e/Hvf/8bx48fR0hICHr37o1OnTopHRoRkVNQiYgoHQQRkTPLy8vD6tWrMXfuXBw5cgRRUVEYMWIEBg8eDI1Go3R4RERkhYyMDCxfvhxz585FRkYGYmJiMGLECMTHx8PT01Pp8IiInMVaFguIiKywf/9+zJo1C6tXr4ZWq8Xzzz+PMWPGICIiQunQiIioAmVlZfjhhx+waNEirF+/HnXr1sULL7yAl19+GY0aNVI6PCIiZ8RiARGRLTIzM7h3nSsAACAASURBVPH5559j/vz5uHjxouGbqT59+kCtrrAdDBERVaOcnBx8/vnnmD17Ns6dO4eoqCikpKRgwIAB8PLyUjo8IiJnxmIBEdH90H9bNWvWLGzevBkNGjRAUlISRo4cifr16ysdHhGRW9q/fz8WLVqE5cuXw8vLC/3798crr7yCVq1aKR0aEZGrYLGAiMheTp8+jcWLFyM1NRX5+fno1asXRowYgc6dOysdGhFRjZefn49Vq1bhk08+waFDhwz9ZQYOHAitVqt0eERErobFAiIieyssLMSmTZvw8ccfY9euXWjZsiVeeuklDBs2DP7+/kqHR0RUo5w4cQJLly7FokWLUFBQgJ49e7JQS0R0/1gsICJyJP2jsCtWrICnpycGDBiA0aNHo3Xr1kqHRkTksu7cuYONGzdi0aJF2LZtG5o1a4Zhw4Zh2LBhqFu3rtLhERHVBCwWEBFVh9zcXKxZswazZs3CsWPH2GSLiMgGly9fxqeffor58+cjOzsbMTExSElJQffu3aFSqZQOj4ioJmGxgIioOpUfvisoKAhDhgzh8F1ERBW493Pzq6++Qv369fH8889j5MiRaNiwodLhERHVVCwWEBEpJSMjA8uXL8fcuXORkZHBb8iIiO5x9epVLF26FAsXLsT58+fx1FNPYcyYMejduzefyCIicjwWC4iIlFb+t7dNmzZFUlISkpKSEBQUpHR4RETV6t5hD729vZGYmIiUlBQ88sgjSodGROROWCwgInImJ0+exGeffWbU1XvMmDF46qmnlA6NiMhh9MMezps3D4cPH+awh0REymOxgIjIGVU0XvigQYPg5+endHhERHZx/PhxLFiwAEuWLEFJSQl69OiBsWPHon379kqHRkTk7lgsICJyduYeyR0zZgwefvhhpUMjIrJaUVERvv76ayxatAhbt25F8+bNMXToUP70iojIubBYQETkKvTNvhYsWIBff/0VsbGxGDFiBPr06QO1Wq10eERElTp79iw+/fRTLFmyBNevX0fXrl0xZswYxMbGsqkrEZHzYbGAiMjVVDSM2KhRoxAeHq50eEREBvy8IiJyWSwWEBG5Mv03dYsXL0ZeXh569eqFESNG8Js6IlJUZmYmPv/8cyxYsAC//fYbYmJi+CQUEZFrYbGAiKgmKP8b4BYtWuDFF1/EiBEjEBgYqHR4ROQm9u/fj1mzZmH16tXQarXo168fe6wQEbkmFguIiGqan3/+GQsXLsTKlSuhUqnwl7/8BSNHjkRkZKTSoRFRDZSXl4fVq1dj7ty5OHLkCEdvISKqGVgsICKqqfQJ/Jw5c/DLL78YEvjBgwdDo9EoHR4Rubh7C5OlpaVISEjAq6++irZt2yodGhER3T8WC4iI3MGOHTswe/ZsbNiwAYGBgXjxxReRnJyMJk2aKB0aEbmQin7yNHz4cNSpU0fp8IiIyH5YLCAicidXrlzBsmXL8Mknn+DSpUuGpmPx8fHw9PRUOjwiclJnzpxBamoqm6kSEbkPFguIiNxRaWkptmzZgtmzZ2Pbtm1o0qQJRowYgaFDh6JevXpKh0dETkA/7OGsWbOwefNmhIaGYvDgwRg9ejQeeOABpcMjIiLHYrGAiMjdnTp1CkuWLMGnn36KW7duoWfPnhgxYgQ6d+6sdGhEpAD9sIfln0DisIdERG6FxQIiIrqrsLAQaWlp+Pjjj3HgwAG0bdsWL730EgYOHAitVqt0eETkYPf2NtFqtXj++ecxZswYREREKB0aERFVPxYLiIjI1P79+7Fo0SKsWLECarUa/fv3xyuvvIJWrVopHRoR2VFubi7WrFmD2bNn4+jRoxw1hYiI9FgsICKiiuXk5ODzzz/H7Nmzce7cOURFRSElJQUDBgyAl5eX0uERkY30BcGVK1fCw8MDAwYMwMiRIxEZGal0aERE5BxYLCAioqrpG50tWrQI69evR926dfHCCy9g5MiRaNiwodLhEZEFCgsLsWnTJsyaNQs7d+5Ey5YtMWTIEIwYMQKBgYFKh0dERM6FxQIiIrLO5cuX8emnn2L+/PnIzs5GTEwMUlJS0L17dw6hRuSETp8+jcWLFyM1NRX5+fkc9pCIiCzBYgEREdnmzp072LhxIxYtWoStW7fiwQcfxLBhw5CUlISgoCClwyNya+WHR23QoAGSkpIwcuRI1K9fX+nwiIjI+bFYQERE9+/EiROYP38+lixZgpKSEvTo0QNjx45F+/btlQ6NyK1cuXIFy5Ytw7x583D58mXDsIfx8fHw9PRUOjwiInIdLBYQEZH95OfnY9WqVZg3bx4OHz5s6Kw+aNAg+Pn5KR0eUY0kIti2bZuhp0hQUBCGDBmC5ORkNGnSROnwiIjINbFYQEREjrF//37MmjULq1evhlarRb9+/TB27Fg89NBDSodGVCPohz2cNWsWjh07xmEPiYjInlgsICIix7p69SqWLl2K+fPn4+LFi4bHovv06QO1Wq10eEQuRz/s4YoVK+Dp6YkBAwZg1KhRaNOmjdKhERFRzcFiARERVQ/98IuzZs3C5s2bERoaisGDB2P06NF44IEHlA6PyKkVFhYiLS0NH3/8MQ4cOICHHnoIycnJGDZsGPz9/ZUOj4iIah4WC4iIqPqdOXMGqampWLx4MfLy8jiUG1EFTp06hSVLluDTTz/FrVu30LNnT4wYMQKdO3dWOjQiIqrZWCwgIiLlFBUV4euvv8asWbOwc+dOtGzZEkOGDMGIESMQGBiodHhEirh3WNJt27YhIiICw4cPx9ChQ1GvXj2lwyMiIvew1kPpCIiIyH35+PggISEBO3bswL59+/D0009j6tSpaNSoEZKTk3H48GGrlrdjxw6wBk7OYteuXVbNn5GRgenTp6Np06bo378/AGDNmjU4efIkJk2axEIBERFVKz5ZQERETqWiDu/PP/88fH19K3xfYWEhwsLC0KVLF3z++efw9vauxqiJ/lBaWopRo0Zh5cqVyMjIQEBAQIXz6nt5lB/28KWXXkLjxo2rL2giIiJjfLKAiIici06nw4gRI/DLL7/g+++/R0REBEaNGoXGjRtj8uTJuHDhgtn3paWlIScnB+vWrUOXLl2Ql5dXvYETASgoKEDv3r2RmpqK27dvY+XKlWbny8nJwaxZs/Dggw/i2Wefxblz57B48WJcvHgRH3zwAQsFRESkOD5ZQERETu/KlStYtmwZ5s2bh8uXLxuGX4yPj4enpycAICoqCgcPHkRZWRm8vLwQERGBrVu3cqQFqjbXr19Ht27dsG/fPpSUlEClUqFly5Y4duyYYR79sIfLly+Hl5cX+vfvj9GjR6N169YKRk5ERGSCDQ6JiMh1VNT4rV27dujUqZPRvF5eXqhXrx62bduGli1bKhQxuYvz58+jc+fOuHjxIoqLi41e27p1K86ePYv58+fj4MGD+J//+R8kJydj4MCB0Gq1CkVMRERUKRYLiIjINR09ehTz58/H8uXLUVxcjJKSEpM/0tRqNTQaDTZv3owOHTooFCnVdIcPH8azzz6LGzdumJyDXl5e8PPzw507d5CYmIiXX34Zf/rTnxSKlIiIyGIsFhARkWu7fPkyIiIicOfOHbOve3h4wNPTEytXrkRCQkI1R0c13datW9GrVy/cuXMHJSUlZudRq9U4evQomjdvXs3RERER2YwNDomIyLWtXbsWpaWlFb5eVlaGkpIS9O/fH5988kk1RkY13bJly/Dcc8+hsLCwwkKB3saNG6spKiIiIvvgkwVEROSyRATNmjXD+fPnYentLCUlBR9//DFUKpWDo6OabNasWXj11VctPu/Cw8Nx4cIFeHjwexoiInIJfLKAiIhc1w8//IBz585Z/AcbAMyZMwcvvvhild8EE5lTWlqKl156yapCAQBcvHgR33//vQMjIyIisi8+WUBEitu9ezc+/PBDpcMgF/TLL7/g119/NTQ4rIhKpTI8SSAiEBEEBwfjySefhFqtrq5wycWVlpZiz549uHLlitlzqiKenp5Qq9UIDw/Ho48+Wl3hUg2ydu1apUMgIvezlhkSESnu4sWLWLduHfr27at0KORC1q1bhyeeeAKtWrUyTCspKTGMiqD/33v//73TiouLcerUKTz00EP8SUIlLl26hD179vD6BHD69Gmo1WpERETAy8sLarUaarXa8P+9vb0N0/T/vL29lQ6bXJj+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SOnQiOqdk5OTfqrF/v37Y9KkSRg4cCBOnz6tdGhERNTMsbOAiIgajdTUVDz55JNISkrCwoULkZ2djWHDhikdFpHN6aZa/P7771FeXo6nn34aU6ZMwbVr15QOjYiImil2FhARkeJOnTqFZ599FqNHj8azzz6LnJwczJo1C87OzkqHRtSgevbsifT0dP1Ui126dOFUi0REpAh2FhARkWJu3ryJ6dOno0ePHigvL0d6ejo2btwIHx8fpUMjUoxKpcLEiRPx888/4/XXX8esWbPQo0cPTrVIREQNip0FRETU4Kqrq7Fx40Z06dIF27dvx+rVq/H999+jT58+SodG1Gh4eHjoX8cJCAjgVItERNSg2FlAREQN6ocffkBERAQmT56M559/Hjk5OXj11Vfh4MCvJCJTOnfujN27d+PAgQO4ePGifqrF8vJypUMjIqImjHdmRETUIHJzczFx4kT06dMHnp6eOHnyJJKSkuDl5aV0aER2YfDgwcjKysLSpUuxcuVKTrVIREQ2xc4CIiKyqcrKSiQlJSEkJATp6elITk7Gt99+i65duyodGpHdeXCqxd///vf405/+hIEDByI7O1vp0IiIqIlhZwEREdnMt99+C61Wi7lz52LmzJk4c+YM4uLilA6LyO75+flh7dq1+P7771FRUYHw8HBMmTIFhYWFSodGRERNBDsLiIio3v3000+IiYnBkCFDEBwcjLNnz2LhwoVwdXVVOjSiJqVHjx5IS0vDp59+iq+++gohISGcapGIiOoFOwuIiKje3L59GwsXLkRoaCiuXr2Kf/7zn0hNTUXHjh2VDo2oyTI11WJoaCi++eYbpUMjIiI7xs4CIiJ6qCtXrtRZRkSwfft2PPHEE/joo4+wbNkyHDt2DJGRkQ0QIREBgFqtxsKFC3H69GkEBwcjOjoaI0eOxC+//FLntgUFBaiurrZ9kEREZDfYWUBERLXKz89H37598eWXX9Za5sSJE4iMjMT48ePRv39/nD9/HtOnT0eLFi0aMFIi0vnd736H1NRUHDhwAJcuXcKTTz6J2bNn49atW7VuM3nyZLz55psNGCURETV27CwgIiKTysvLERMTg8uXL+P1119HRUWFwfobN25g+vTp6NWrF1q0aIETJ05g48aNaNu2rUIRE9GDBg8ejFOnTuG9997DJ598gieeeAIbN26EiBiU+/rrr7F7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\n", "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keras.utils.plot_model(model, \"multi_input_and_output_model.png\", show_shapes=True)" ] }, { "cell_type": "markdown", "metadata": { "id": "4d979e89b335" }, "source": [ "コンパイル時に損失関数をリストとして渡すことにより出力ごとに異なる損失を指定できます。" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.356250Z", "iopub.status.busy": "2022-12-14T21:43:41.355745Z", "iopub.status.idle": "2022-12-14T21:43:41.370345Z", "shell.execute_reply": "2022-12-14T21:43:41.369777Z" }, "id": "9655c0084d70" }, "outputs": [], "source": [ "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss=[keras.losses.MeanSquaredError(), keras.losses.CategoricalCrossentropy()],\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "f5fc73405283" }, "source": [ "モデルに単一の損失関数のみを渡した場合、同じ損失関数がすべての出力に適用されます(ここでは適切ではありません)。\n", "\n", "メトリクスの場合も同様です。" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.373645Z", "iopub.status.busy": "2022-12-14T21:43:41.373135Z", "iopub.status.idle": "2022-12-14T21:43:41.388822Z", "shell.execute_reply": "2022-12-14T21:43:41.388242Z" }, "id": "b4c0c6c564bc" }, "outputs": [], "source": [ "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss=[keras.losses.MeanSquaredError(), keras.losses.CategoricalCrossentropy()],\n", " metrics=[\n", " [\n", " keras.metrics.MeanAbsolutePercentageError(),\n", " keras.metrics.MeanAbsoluteError(),\n", " ],\n", " [keras.metrics.CategoricalAccuracy()],\n", " ],\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "4dd9fb0343cc" }, "source": [ "出力レイヤーに名前を付けたので、dict を介して出力ごとの損失とメトリクスを指定することもできます。" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.392056Z", "iopub.status.busy": "2022-12-14T21:43:41.391614Z", "iopub.status.idle": "2022-12-14T21:43:41.406314Z", "shell.execute_reply": "2022-12-14T21:43:41.405711Z" }, "id": "42cb75110fc3" }, "outputs": [], "source": [ "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss={\n", " \"score_output\": keras.losses.MeanSquaredError(),\n", " \"class_output\": keras.losses.CategoricalCrossentropy(),\n", " },\n", " metrics={\n", " \"score_output\": [\n", " keras.metrics.MeanAbsolutePercentageError(),\n", " keras.metrics.MeanAbsoluteError(),\n", " ],\n", " \"class_output\": [keras.metrics.CategoricalAccuracy()],\n", " },\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "bfd95ac0dd8b" }, "source": [ "3 つ以上の出力がある場合は、明示的な名前とディクショナリを使用することをお勧めします。\n", "\n", "`loss_weights` 引数を使用すると、異なる出力固有の損失に異なる重みを与えることができます(この例でクラス損失の 2 倍の重要性を与えることにより、「スコア」損失を優先する場合など)。" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.409543Z", "iopub.status.busy": "2022-12-14T21:43:41.409101Z", "iopub.status.idle": "2022-12-14T21:43:41.423871Z", "shell.execute_reply": "2022-12-14T21:43:41.423312Z" }, "id": "23a71e5f5227" }, "outputs": [], "source": [ "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss={\n", " \"score_output\": keras.losses.MeanSquaredError(),\n", " \"class_output\": keras.losses.CategoricalCrossentropy(),\n", " },\n", " metrics={\n", " \"score_output\": [\n", " keras.metrics.MeanAbsolutePercentageError(),\n", " keras.metrics.MeanAbsoluteError(),\n", " ],\n", " \"class_output\": [keras.metrics.CategoricalAccuracy()],\n", " },\n", " loss_weights={\"score_output\": 2.0, \"class_output\": 1.0},\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "147b5f581c32" }, "source": [ "これらの出力が予測に使用するもので、トレーニングには使用されない場合、特定の出力の損失を計算しないことを選択することもできます。" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.427344Z", "iopub.status.busy": "2022-12-14T21:43:41.426749Z", "iopub.status.idle": "2022-12-14T21:43:41.439475Z", "shell.execute_reply": "2022-12-14T21:43:41.438928Z" }, "id": "6d51aa372ef4" }, "outputs": [], "source": [ "# List loss version\n", "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss=[None, keras.losses.CategoricalCrossentropy()],\n", ")\n", "\n", "# Or dict loss version\n", "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss={\"class_output\": keras.losses.CategoricalCrossentropy()},\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "c00d5f56d3f0" }, "source": [ "`fit()` で多入力または多出力モデルにデータを渡すと、コンパイルで損失関数を指定するのと同じように機能します。NumPy 配列のリスト(損失関数を受け取った出力に 1:1 でマッピング)または**出力の名前を NumPy 配列にマッピングする dict** を渡すことができます。" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:41.442664Z", "iopub.status.busy": "2022-12-14T21:43:41.442199Z", "iopub.status.idle": "2022-12-14T21:43:44.273237Z", "shell.execute_reply": "2022-12-14T21:43:44.272640Z" }, "id": "0539da84328b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/4 [======>.......................] - ETA: 6s - loss: 17.3793 - score_output_loss: 0.1522 - class_output_loss: 17.2272" ] }, { "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\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", "4/4 [==============================] - 2s 9ms/step - loss: 17.7520 - score_output_loss: 0.1534 - class_output_loss: 17.5986\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/4 [======>.......................] - ETA: 1s - loss: 18.4055 - score_output_loss: 0.1918 - class_output_loss: 18.2137" ] }, { "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\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", "4/4 [==============================] - 0s 5ms/step - loss: 17.8890 - score_output_loss: 0.1902 - class_output_loss: 17.6988\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.compile(\n", " optimizer=keras.optimizers.RMSprop(1e-3),\n", " loss=[keras.losses.MeanSquaredError(), keras.losses.CategoricalCrossentropy()],\n", ")\n", "\n", "# Generate dummy NumPy data\n", "img_data = np.random.random_sample(size=(100, 32, 32, 3))\n", "ts_data = np.random.random_sample(size=(100, 20, 10))\n", "score_targets = np.random.random_sample(size=(100, 1))\n", "class_targets = np.random.random_sample(size=(100, 5))\n", "\n", "# Fit on lists\n", "model.fit([img_data, ts_data], [score_targets, class_targets], batch_size=32, epochs=1)\n", "\n", "# Alternatively, fit on dicts\n", "model.fit(\n", " {\"img_input\": img_data, \"ts_input\": ts_data},\n", " {\"score_output\": score_targets, \"class_output\": class_targets},\n", " batch_size=32,\n", " epochs=1,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "e53eda8e1399" }, "source": [ "以下は `Dataset` のユースケースです。NumPy 配列と同様に、`Dataset` は dicts のタプルを返します。" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:44.276885Z", "iopub.status.busy": "2022-12-14T21:43:44.276251Z", "iopub.status.idle": "2022-12-14T21:43:44.733180Z", "shell.execute_reply": "2022-12-14T21:43:44.732530Z" }, "id": "4df41a12ed2c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/2 [==============>...............] - ETA: 0s - loss: 17.9856 - score_output_loss: 0.1560 - class_output_loss: 17.8296" ] }, { "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\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", "2/2 [==============================] - 0s 19ms/step - loss: 18.1589 - score_output_loss: 0.1828 - class_output_loss: 17.9761\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_dataset = tf.data.Dataset.from_tensor_slices(\n", " (\n", " {\"img_input\": img_data, \"ts_input\": ts_data},\n", " {\"score_output\": score_targets, \"class_output\": class_targets},\n", " )\n", ")\n", "train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64)\n", "\n", "model.fit(train_dataset, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "05c792cd43a4" }, "source": [ "## コールバックを使用する\n", "\n", "Keras のコールバックは、トレーニング中の異なる時点(エポックの始め、バッチの終わり、エポックの終わりなど)で呼び出されるオブジェクトで、以下のような動作を実装するために使用できます。\n", "\n", "- トレーニング中に(組み込みのエポックごとの検証だけでなく)さまざまな時点で検証を行う\n", "- 定期的に、または特定の精度しきい値を超えたときにモデルにチェックポイントを設定する\n", "- 学習が停滞したときにモデルの学習率を変更する\n", "- 学習が停滞したときにトップレイヤーをファインチューニングする\n", "- トレーニング終了時、または特定のパフォーマンスしきい値を超えたときにメールまたはインスタントメッセージ通知を送信する\n", "- など\n", "\n", "コールバックは、リストとして `fit()` の呼び出しに渡すことができます。" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:44.736795Z", "iopub.status.busy": "2022-12-14T21:43:44.736238Z", "iopub.status.idle": "2022-12-14T21:43:57.023850Z", "shell.execute_reply": "2022-12-14T21:43:57.023126Z" }, "id": "15036ddbee42" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:08 - loss: 2.3299 - sparse_categorical_accuracy: 0.0938" ] }, { "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\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", " 25/625 [>.............................] - ETA: 1s - loss: 1.5719 - sparse_categorical_accuracy: 0.5825 " ] }, { "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\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", " 50/625 [=>............................] - ETA: 1s - loss: 1.1691 - sparse_categorical_accuracy: 0.6919" ] }, { "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\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", " 74/625 [==>...........................] - ETA: 1s - loss: 0.9805 - sparse_categorical_accuracy: 0.7397" ] }, { "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\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", " 98/625 [===>..........................] - ETA: 1s - loss: 0.8528 - sparse_categorical_accuracy: 0.7731" ] }, { "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\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", "122/625 [====>.........................] - ETA: 1s - loss: 0.7691 - sparse_categorical_accuracy: 0.7929" ] }, { "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\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", "147/625 [======>.......................] - ETA: 1s - loss: 0.7026 - sparse_categorical_accuracy: 0.8095" ] }, { "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\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", "171/625 [=======>......................] - ETA: 0s - loss: 0.6542 - sparse_categorical_accuracy: 0.8217" ] }, { "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\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", "195/625 [========>.....................] - ETA: 0s - loss: 0.6103 - sparse_categorical_accuracy: 0.8328" ] }, { "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\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", "219/625 [=========>....................] - ETA: 0s - loss: 0.5773 - sparse_categorical_accuracy: 0.8414" ] }, { "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\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", "244/625 [==========>...................] - ETA: 0s - loss: 0.5528 - sparse_categorical_accuracy: 0.8474" ] }, { "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\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", "268/625 [===========>..................] - ETA: 0s - loss: 0.5296 - sparse_categorical_accuracy: 0.8531" ] }, { "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\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", "293/625 [=============>................] - ETA: 0s - loss: 0.5096 - sparse_categorical_accuracy: 0.8580" ] }, { "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\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", "318/625 [==============>...............] - ETA: 0s - loss: 0.4915 - sparse_categorical_accuracy: 0.8631" ] }, { "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\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", "343/625 [===============>..............] - ETA: 0s - loss: 0.4759 - sparse_categorical_accuracy: 0.8669" ] }, { "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\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", "367/625 [================>.............] - ETA: 0s - loss: 0.4643 - sparse_categorical_accuracy: 0.8698" ] }, { "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\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", "392/625 [=================>............] - ETA: 0s - loss: 0.4527 - sparse_categorical_accuracy: 0.8726" ] }, { "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\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", "417/625 [===================>..........] - ETA: 0s - loss: 0.4405 - sparse_categorical_accuracy: 0.8755" ] }, { "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\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", "442/625 [====================>.........] - ETA: 0s - loss: 0.4275 - sparse_categorical_accuracy: 0.8787" ] }, { "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\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", "468/625 [=====================>........] - ETA: 0s - loss: 0.4196 - sparse_categorical_accuracy: 0.8808" ] }, { "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\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", "494/625 [======================>.......] - ETA: 0s - loss: 0.4109 - sparse_categorical_accuracy: 0.8832" ] }, { "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\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", "519/625 [=======================>......] - ETA: 0s - loss: 0.4022 - sparse_categorical_accuracy: 0.8857" ] }, { "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\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", "544/625 [=========================>....] - ETA: 0s - loss: 0.3958 - sparse_categorical_accuracy: 0.8871" ] }, { "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\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", "570/625 [==========================>...] - ETA: 0s - loss: 0.3867 - sparse_categorical_accuracy: 0.8893" ] }, { "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\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", "596/625 [===========================>..] - ETA: 0s - loss: 0.3796 - sparse_categorical_accuracy: 0.8914" ] }, { "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\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", "621/625 [============================>.] - ETA: 0s - loss: 0.3737 - sparse_categorical_accuracy: 0.8929" ] }, { "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\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", "625/625 [==============================] - 3s 3ms/step - loss: 0.3721 - sparse_categorical_accuracy: 0.8933 - val_loss: 0.2397 - val_sparse_categorical_accuracy: 0.9269\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1503 - sparse_categorical_accuracy: 0.9531" ] }, { "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\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", " 25/625 [>.............................] - ETA: 1s - loss: 0.1877 - sparse_categorical_accuracy: 0.9394" ] }, { "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\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", " 50/625 [=>............................] - ETA: 1s - loss: 0.1775 - sparse_categorical_accuracy: 0.9444" ] }, { "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\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", " 74/625 [==>...........................] - ETA: 1s - loss: 0.1740 - sparse_categorical_accuracy: 0.9451" ] }, { "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\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", " 99/625 [===>..........................] - ETA: 1s - loss: 0.1869 - sparse_categorical_accuracy: 0.9426" ] }, { "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\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", "123/625 [====>.........................] - ETA: 1s - loss: 0.1887 - sparse_categorical_accuracy: 0.9428" ] }, { "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\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", "148/625 [======>.......................] - ETA: 0s - loss: 0.1880 - sparse_categorical_accuracy: 0.9419" ] }, { "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\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", "172/625 [=======>......................] - ETA: 0s - loss: 0.1882 - sparse_categorical_accuracy: 0.9420" ] }, { "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\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", "197/625 [========>.....................] - ETA: 0s - loss: 0.1912 - sparse_categorical_accuracy: 0.9412" ] }, { "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\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", "222/625 [=========>....................] - ETA: 0s - loss: 0.1939 - sparse_categorical_accuracy: 0.9409" ] }, { "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\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", "247/625 [==========>...................] - ETA: 0s - loss: 0.1927 - sparse_categorical_accuracy: 0.9414" ] }, { "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\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", "272/625 [============>.................] - ETA: 0s - loss: 0.1890 - sparse_categorical_accuracy: 0.9422" ] }, { "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\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", "297/625 [=============>................] - ETA: 0s - loss: 0.1930 - sparse_categorical_accuracy: 0.9412" ] }, { "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\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", "322/625 [==============>...............] - ETA: 0s - loss: 0.1909 - sparse_categorical_accuracy: 0.9421" ] }, { "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\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", "346/625 [===============>..............] - ETA: 0s - loss: 0.1907 - sparse_categorical_accuracy: 0.9424" ] }, { "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\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", "371/625 [================>.............] - ETA: 0s - loss: 0.1894 - sparse_categorical_accuracy: 0.9428" ] }, { "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\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", "395/625 [=================>............] - ETA: 0s - loss: 0.1885 - sparse_categorical_accuracy: 0.9436" ] }, { "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\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", "420/625 [===================>..........] - ETA: 0s - loss: 0.1849 - sparse_categorical_accuracy: 0.9449" ] }, { "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\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", "445/625 [====================>.........] - ETA: 0s - loss: 0.1851 - sparse_categorical_accuracy: 0.9450" ] }, { "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\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", "470/625 [=====================>........] - ETA: 0s - loss: 0.1848 - sparse_categorical_accuracy: 0.9451" ] }, { "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\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", "495/625 [======================>.......] - ETA: 0s - loss: 0.1837 - sparse_categorical_accuracy: 0.9449" ] }, { "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\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", "520/625 [=======================>......] - ETA: 0s - loss: 0.1816 - sparse_categorical_accuracy: 0.9454" ] }, { "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\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", "545/625 [=========================>....] - ETA: 0s - loss: 0.1815 - sparse_categorical_accuracy: 0.9456" ] }, { "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\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", "570/625 [==========================>...] - ETA: 0s - loss: 0.1804 - sparse_categorical_accuracy: 0.9458" ] }, { "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\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", "595/625 [===========================>..] - ETA: 0s - loss: 0.1788 - sparse_categorical_accuracy: 0.9462" ] }, { "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\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", "620/625 [============================>.] - ETA: 0s - loss: 0.1774 - sparse_categorical_accuracy: 0.9468" ] }, { "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\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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1773 - sparse_categorical_accuracy: 0.9468 - val_loss: 0.1920 - val_sparse_categorical_accuracy: 0.9428\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1424 - sparse_categorical_accuracy: 0.9531" ] }, { "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\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", " 26/625 [>.............................] - ETA: 1s - loss: 0.1456 - sparse_categorical_accuracy: 0.9597" ] }, { "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\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", " 51/625 [=>............................] - ETA: 1s - loss: 0.1406 - sparse_categorical_accuracy: 0.9608" ] }, { "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\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", " 75/625 [==>...........................] - ETA: 1s - loss: 0.1414 - sparse_categorical_accuracy: 0.9600" ] }, { "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\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", " 99/625 [===>..........................] - ETA: 1s - loss: 0.1430 - sparse_categorical_accuracy: 0.9590" ] }, { "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\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", "124/625 [====>.........................] - ETA: 1s - loss: 0.1367 - sparse_categorical_accuracy: 0.9614" ] }, { "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\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", "149/625 [======>.......................] - ETA: 0s - loss: 0.1361 - sparse_categorical_accuracy: 0.9621" ] }, { "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\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", "174/625 [=======>......................] - ETA: 0s - loss: 0.1359 - sparse_categorical_accuracy: 0.9626" ] }, { "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\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", "198/625 [========>.....................] - ETA: 0s - loss: 0.1344 - sparse_categorical_accuracy: 0.9625" ] }, { "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\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", "222/625 [=========>....................] - ETA: 0s - loss: 0.1337 - sparse_categorical_accuracy: 0.9626" ] }, { "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\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", "247/625 [==========>...................] - ETA: 0s - loss: 0.1312 - sparse_categorical_accuracy: 0.9628" ] }, { "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\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", "272/625 [============>.................] - ETA: 0s - loss: 0.1310 - sparse_categorical_accuracy: 0.9627" ] }, { "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\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", "297/625 [=============>................] - ETA: 0s - loss: 0.1308 - sparse_categorical_accuracy: 0.9625" ] }, { "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\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", "322/625 [==============>...............] - ETA: 0s - loss: 0.1310 - sparse_categorical_accuracy: 0.9626" ] }, { "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\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", "347/625 [===============>..............] - ETA: 0s - loss: 0.1316 - sparse_categorical_accuracy: 0.9619" ] }, { "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\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", "372/625 [================>.............] - ETA: 0s - loss: 0.1304 - sparse_categorical_accuracy: 0.9620" ] }, { "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\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", "397/625 [==================>...........] - ETA: 0s - loss: 0.1309 - sparse_categorical_accuracy: 0.9617" ] }, { "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\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", "422/625 [===================>..........] - ETA: 0s - loss: 0.1315 - sparse_categorical_accuracy: 0.9613" ] }, { "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\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", "448/625 [====================>.........] - ETA: 0s - loss: 0.1310 - sparse_categorical_accuracy: 0.9611" ] }, { "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\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", "473/625 [=====================>........] - ETA: 0s - loss: 0.1310 - sparse_categorical_accuracy: 0.9614" ] }, { "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\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", "498/625 [======================>.......] - ETA: 0s - loss: 0.1308 - sparse_categorical_accuracy: 0.9613" ] }, { "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\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", "523/625 [========================>.....] - ETA: 0s - loss: 0.1308 - sparse_categorical_accuracy: 0.9612" ] }, { "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\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", "548/625 [=========================>....] - ETA: 0s - loss: 0.1306 - sparse_categorical_accuracy: 0.9615" ] }, { "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\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", "572/625 [==========================>...] - ETA: 0s - loss: 0.1297 - sparse_categorical_accuracy: 0.9616" ] }, { "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\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", "597/625 [===========================>..] - ETA: 0s - loss: 0.1295 - sparse_categorical_accuracy: 0.9617" ] }, { "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\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", "621/625 [============================>.] - ETA: 0s - loss: 0.1293 - sparse_categorical_accuracy: 0.9616" ] }, { "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\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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1290 - sparse_categorical_accuracy: 0.9617 - val_loss: 0.1583 - val_sparse_categorical_accuracy: 0.9512\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1964 - sparse_categorical_accuracy: 0.9531" ] }, { "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\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", " 26/625 [>.............................] - ETA: 1s - loss: 0.0872 - sparse_categorical_accuracy: 0.9760" ] }, { "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\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", " 51/625 [=>............................] - ETA: 1s - loss: 0.0980 - sparse_categorical_accuracy: 0.9715" ] }, { "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\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", " 76/625 [==>...........................] - ETA: 1s - loss: 0.1002 - sparse_categorical_accuracy: 0.9720" ] }, { "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\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", "101/625 [===>..........................] - ETA: 1s - loss: 0.1011 - sparse_categorical_accuracy: 0.9700" ] }, { "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\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", "126/625 [=====>........................] - ETA: 1s - loss: 0.0995 - sparse_categorical_accuracy: 0.9710" ] }, { "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\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", "150/625 [======>.......................] - ETA: 0s - loss: 0.1038 - sparse_categorical_accuracy: 0.9693" ] }, { "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\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", "175/625 [=======>......................] - ETA: 0s - loss: 0.1051 - sparse_categorical_accuracy: 0.9695" ] }, { "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\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", "200/625 [========>.....................] - ETA: 0s - loss: 0.1049 - sparse_categorical_accuracy: 0.9697" ] }, { "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\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", "225/625 [=========>....................] - ETA: 0s - loss: 0.1042 - sparse_categorical_accuracy: 0.9696" ] }, { "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\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", "250/625 [===========>..................] - ETA: 0s - loss: 0.1013 - sparse_categorical_accuracy: 0.9704" ] }, { "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\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", "275/625 [============>.................] - ETA: 0s - loss: 0.1029 - sparse_categorical_accuracy: 0.9695" ] }, { "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\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", "301/625 [=============>................] - ETA: 0s - loss: 0.1022 - sparse_categorical_accuracy: 0.9696" ] }, { "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\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", "326/625 [==============>...............] - ETA: 0s - loss: 0.1023 - sparse_categorical_accuracy: 0.9696" ] }, { "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\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", "351/625 [===============>..............] - ETA: 0s - loss: 0.1032 - sparse_categorical_accuracy: 0.9694" ] }, { "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\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", "377/625 [=================>............] - ETA: 0s - loss: 0.1036 - sparse_categorical_accuracy: 0.9694" ] }, { "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\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", "402/625 [==================>...........] - ETA: 0s - loss: 0.1023 - sparse_categorical_accuracy: 0.9694" ] }, { "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\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", "427/625 [===================>..........] - ETA: 0s - loss: 0.1021 - sparse_categorical_accuracy: 0.9694" ] }, { "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\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", "452/625 [====================>.........] - ETA: 0s - loss: 0.1019 - sparse_categorical_accuracy: 0.9695" ] }, { "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\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", "477/625 [=====================>........] - ETA: 0s - loss: 0.1030 - sparse_categorical_accuracy: 0.9694" ] }, { "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\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", "502/625 [=======================>......] - ETA: 0s - loss: 0.1014 - sparse_categorical_accuracy: 0.9697" ] }, { "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\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", "527/625 [========================>.....] - ETA: 0s - loss: 0.1006 - sparse_categorical_accuracy: 0.9701" ] }, { "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\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", "552/625 [=========================>....] - ETA: 0s - loss: 0.1006 - sparse_categorical_accuracy: 0.9700" ] }, { "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\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", "577/625 [==========================>...] - ETA: 0s - loss: 0.1015 - sparse_categorical_accuracy: 0.9699" ] }, { "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\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", "601/625 [===========================>..] - ETA: 0s - loss: 0.1020 - sparse_categorical_accuracy: 0.9698" ] }, { "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\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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1009 - sparse_categorical_accuracy: 0.9701 - val_loss: 0.1497 - val_sparse_categorical_accuracy: 0.9561\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 2s - loss: 0.0593 - sparse_categorical_accuracy: 0.9844" ] }, { "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\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", " 26/625 [>.............................] - ETA: 1s - loss: 0.0699 - sparse_categorical_accuracy: 0.9796" ] }, { "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\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", " 51/625 [=>............................] - ETA: 1s - loss: 0.0880 - sparse_categorical_accuracy: 0.9730" ] }, { "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\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", " 76/625 [==>...........................] - ETA: 1s - loss: 0.0882 - sparse_categorical_accuracy: 0.9718" ] }, { "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\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", "101/625 [===>..........................] - ETA: 1s - loss: 0.0874 - sparse_categorical_accuracy: 0.9731" ] }, { "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\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", "125/625 [=====>........................] - ETA: 1s - loss: 0.0860 - sparse_categorical_accuracy: 0.9731" ] }, { "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\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", "149/625 [======>.......................] - ETA: 0s - loss: 0.0847 - sparse_categorical_accuracy: 0.9737" ] }, { "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\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", "174/625 [=======>......................] - ETA: 0s - loss: 0.0832 - sparse_categorical_accuracy: 0.9739" ] }, { "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\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", "199/625 [========>.....................] - ETA: 0s - loss: 0.0805 - sparse_categorical_accuracy: 0.9744" ] }, { "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\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", "225/625 [=========>....................] - ETA: 0s - loss: 0.0812 - sparse_categorical_accuracy: 0.9738" ] }, { "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\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", "250/625 [===========>..................] - ETA: 0s - loss: 0.0828 - sparse_categorical_accuracy: 0.9739" ] }, { "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\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", "275/625 [============>.................] - ETA: 0s - loss: 0.0857 - sparse_categorical_accuracy: 0.9739" ] }, { "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\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", "300/625 [=============>................] - ETA: 0s - loss: 0.0853 - sparse_categorical_accuracy: 0.9740" ] }, { "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\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", "325/625 [==============>...............] - ETA: 0s - loss: 0.0848 - sparse_categorical_accuracy: 0.9738" ] }, { "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\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", "349/625 [===============>..............] - ETA: 0s - loss: 0.0850 - sparse_categorical_accuracy: 0.9738" ] }, { "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\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", "374/625 [================>.............] - ETA: 0s - loss: 0.0855 - sparse_categorical_accuracy: 0.9738" ] }, { "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\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", "399/625 [==================>...........] - ETA: 0s - loss: 0.0852 - sparse_categorical_accuracy: 0.9739" ] }, { "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\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", "424/625 [===================>..........] - ETA: 0s - loss: 0.0849 - sparse_categorical_accuracy: 0.9739" ] }, { "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\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", "448/625 [====================>.........] - ETA: 0s - loss: 0.0843 - sparse_categorical_accuracy: 0.9741" ] }, { "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\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", "472/625 [=====================>........] - ETA: 0s - loss: 0.0836 - sparse_categorical_accuracy: 0.9743" ] }, { "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\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", "496/625 [======================>.......] - ETA: 0s - loss: 0.0834 - sparse_categorical_accuracy: 0.9744" ] }, { "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\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", "522/625 [========================>.....] - ETA: 0s - loss: 0.0834 - sparse_categorical_accuracy: 0.9742" ] }, { "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\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", "547/625 [=========================>....] - ETA: 0s - loss: 0.0833 - sparse_categorical_accuracy: 0.9741" ] }, { "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\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", "572/625 [==========================>...] - ETA: 0s - loss: 0.0832 - sparse_categorical_accuracy: 0.9742" ] }, { "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\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", "597/625 [===========================>..] - ETA: 0s - loss: 0.0836 - sparse_categorical_accuracy: 0.9741" ] }, { "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\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", "622/625 [============================>.] - ETA: 0s - loss: 0.0832 - sparse_categorical_accuracy: 0.9743" ] }, { "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\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", "625/625 [==============================] - 2s 2ms/step - loss: 0.0833 - sparse_categorical_accuracy: 0.9743 - val_loss: 0.1447 - val_sparse_categorical_accuracy: 0.9590\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.0655 - sparse_categorical_accuracy: 0.9688" ] }, { "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\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", " 25/625 [>.............................] - ETA: 1s - loss: 0.0736 - sparse_categorical_accuracy: 0.9762" ] }, { "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\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", " 51/625 [=>............................] - ETA: 1s - loss: 0.0703 - sparse_categorical_accuracy: 0.9786" ] }, { "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\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", " 75/625 [==>...........................] - ETA: 1s - loss: 0.0769 - sparse_categorical_accuracy: 0.9771" ] }, { "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\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", "100/625 [===>..........................] - ETA: 1s - loss: 0.0707 - sparse_categorical_accuracy: 0.9781" ] }, { "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\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", "124/625 [====>.........................] - ETA: 1s - loss: 0.0698 - sparse_categorical_accuracy: 0.9796" ] }, { "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\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", "148/625 [======>.......................] - ETA: 0s - loss: 0.0714 - sparse_categorical_accuracy: 0.9791" ] }, { "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\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", "172/625 [=======>......................] - ETA: 0s - loss: 0.0684 - sparse_categorical_accuracy: 0.9797" ] }, { "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\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", "197/625 [========>.....................] - ETA: 0s - loss: 0.0689 - sparse_categorical_accuracy: 0.9799" ] }, { "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\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", "222/625 [=========>....................] - ETA: 0s - loss: 0.0682 - sparse_categorical_accuracy: 0.9799" ] }, { "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\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", "247/625 [==========>...................] - ETA: 0s - loss: 0.0684 - sparse_categorical_accuracy: 0.9799" ] }, { "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\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", "272/625 [============>.................] - ETA: 0s - loss: 0.0679 - sparse_categorical_accuracy: 0.9798" ] }, { "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\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", "297/625 [=============>................] - ETA: 0s - loss: 0.0671 - sparse_categorical_accuracy: 0.9799" ] }, { "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\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", "322/625 [==============>...............] - ETA: 0s - loss: 0.0670 - sparse_categorical_accuracy: 0.9801" ] }, { "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\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", "346/625 [===============>..............] - ETA: 0s - loss: 0.0664 - sparse_categorical_accuracy: 0.9802" ] }, { "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\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", "370/625 [================>.............] - ETA: 0s - loss: 0.0668 - sparse_categorical_accuracy: 0.9801" ] }, { "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\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", "394/625 [=================>............] - ETA: 0s - loss: 0.0676 - sparse_categorical_accuracy: 0.9801" ] }, { "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\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", "419/625 [===================>..........] - ETA: 0s - loss: 0.0680 - sparse_categorical_accuracy: 0.9800" ] }, { "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\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", "443/625 [====================>.........] - ETA: 0s - loss: 0.0676 - sparse_categorical_accuracy: 0.9800" ] }, { "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\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", "467/625 [=====================>........] - ETA: 0s - loss: 0.0686 - sparse_categorical_accuracy: 0.9797" ] }, { "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\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", "492/625 [======================>.......] - ETA: 0s - loss: 0.0686 - sparse_categorical_accuracy: 0.9794" ] }, { "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\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", "516/625 [=======================>......] - ETA: 0s - loss: 0.0685 - sparse_categorical_accuracy: 0.9794" ] }, { "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\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", "541/625 [========================>.....] - ETA: 0s - loss: 0.0693 - sparse_categorical_accuracy: 0.9790" ] }, { "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\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", "566/625 [==========================>...] - ETA: 0s - loss: 0.0688 - sparse_categorical_accuracy: 0.9791" ] }, { "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\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", "591/625 [===========================>..] - ETA: 0s - loss: 0.0689 - sparse_categorical_accuracy: 0.9791" ] }, { "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\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", "616/625 [============================>.] - ETA: 0s - loss: 0.0689 - sparse_categorical_accuracy: 0.9789" ] }, { "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\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", "625/625 [==============================] - 2s 3ms/step - loss: 0.0686 - sparse_categorical_accuracy: 0.9790 - val_loss: 0.1383 - val_sparse_categorical_accuracy: 0.9609\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 7/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 2s - loss: 0.0055 - sparse_categorical_accuracy: 1.0000" ] }, { "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\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", " 25/625 [>.............................] - ETA: 1s - loss: 0.0511 - sparse_categorical_accuracy: 0.9837" ] }, { "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\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", " 50/625 [=>............................] - ETA: 1s - loss: 0.0456 - sparse_categorical_accuracy: 0.9862" ] }, { "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\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", " 75/625 [==>...........................] - ETA: 1s - loss: 0.0481 - sparse_categorical_accuracy: 0.9848" ] }, { "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\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", "100/625 [===>..........................] - ETA: 1s - loss: 0.0506 - sparse_categorical_accuracy: 0.9831" ] }, { "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\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", "125/625 [=====>........................] - ETA: 1s - loss: 0.0536 - sparse_categorical_accuracy: 0.9830" ] }, { "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\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", "150/625 [======>.......................] - ETA: 0s - loss: 0.0558 - sparse_categorical_accuracy: 0.9824" ] }, { "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\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", "175/625 [=======>......................] - ETA: 0s - loss: 0.0581 - sparse_categorical_accuracy: 0.9825" ] }, { "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\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", "199/625 [========>.....................] - ETA: 0s - loss: 0.0586 - sparse_categorical_accuracy: 0.9823" ] }, { "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\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", "224/625 [=========>....................] - ETA: 0s - loss: 0.0592 - sparse_categorical_accuracy: 0.9823" ] }, { "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\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", "249/625 [==========>...................] - ETA: 0s - loss: 0.0588 - sparse_categorical_accuracy: 0.9822" ] }, { "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\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", "274/625 [============>.................] - ETA: 0s - loss: 0.0588 - sparse_categorical_accuracy: 0.9824" ] }, { "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\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", "300/625 [=============>................] - ETA: 0s - loss: 0.0584 - sparse_categorical_accuracy: 0.9822" ] }, { "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\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", "325/625 [==============>...............] - ETA: 0s - loss: 0.0600 - sparse_categorical_accuracy: 0.9815" ] }, { "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\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", "350/625 [===============>..............] - ETA: 0s - loss: 0.0583 - sparse_categorical_accuracy: 0.9819" ] }, { "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\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", "375/625 [=================>............] - ETA: 0s - loss: 0.0589 - sparse_categorical_accuracy: 0.9818" ] }, { "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\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", "400/625 [==================>...........] - ETA: 0s - loss: 0.0581 - sparse_categorical_accuracy: 0.9820" ] }, { "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\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", "425/625 [===================>..........] - ETA: 0s - loss: 0.0580 - sparse_categorical_accuracy: 0.9821" ] }, { "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\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", "450/625 [====================>.........] - ETA: 0s - loss: 0.0575 - sparse_categorical_accuracy: 0.9823" ] }, { "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\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", "475/625 [=====================>........] - ETA: 0s - loss: 0.0581 - sparse_categorical_accuracy: 0.9823" ] }, { "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\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", "500/625 [=======================>......] - ETA: 0s - loss: 0.0584 - sparse_categorical_accuracy: 0.9823" ] }, { "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\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", "525/625 [========================>.....] - ETA: 0s - loss: 0.0582 - sparse_categorical_accuracy: 0.9824" ] }, { "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\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", "550/625 [=========================>....] - ETA: 0s - loss: 0.0580 - sparse_categorical_accuracy: 0.9823" ] }, { "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\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", "575/625 [==========================>...] - ETA: 0s - loss: 0.0580 - sparse_categorical_accuracy: 0.9824" ] }, { "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\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", "600/625 [===========================>..] - ETA: 0s - loss: 0.0588 - sparse_categorical_accuracy: 0.9822" ] }, { "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\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", "625/625 [==============================] - ETA: 0s - loss: 0.0588 - sparse_categorical_accuracy: 0.9821" ] }, { "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\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", "625/625 [==============================] - 2s 2ms/step - loss: 0.0588 - sparse_categorical_accuracy: 0.9821 - val_loss: 0.1437 - val_sparse_categorical_accuracy: 0.9604\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 7: early stopping\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "\n", "callbacks = [\n", " keras.callbacks.EarlyStopping(\n", " # Stop training when `val_loss` is no longer improving\n", " monitor=\"val_loss\",\n", " # \"no longer improving\" being defined as \"no better than 1e-2 less\"\n", " min_delta=1e-2,\n", " # \"no longer improving\" being further defined as \"for at least 2 epochs\"\n", " patience=2,\n", " verbose=1,\n", " )\n", "]\n", "model.fit(\n", " x_train,\n", " y_train,\n", " epochs=20,\n", " batch_size=64,\n", " callbacks=callbacks,\n", " validation_split=0.2,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "15f5af3b6da9" }, "source": [ "### 利用できる多数の組み込みコールバック\n", "\n", "Keras には、次のような組み込みコールバックが多数用意されています。\n", "\n", "- `ModelCheckpoint`: モデルを定期的に保存する\n", "- `EarlyStopping`: トレーニングによって検証指標が改善されなくなったら、トレーニングを停止する\n", "- `TensorBoard`: [TensorBoard](https://www.tensorflow.org/tensorboard) で視覚化できるモデルログを定期的に記述する(詳細については、「視覚化」セクションを参照)。\n", "- `CSVLogger`: 損失およびメトリクスデータを CSV ファイルにストリーミングする\n", "- など\n", "\n", "完全なリストについては[コールバックのドキュメント](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/)をご覧ください。\n", "\n", "### コールバックを記述する\n", "\n", "ベースクラス `keras.callbacks.Callback` を拡張することにより、カスタムコールバックを作成できます。コールバックは、クラスプロパティ `self.model` を通じて関連するモデルにアクセスできます。\n", "\n", "詳細については、[カスタムコールバックの作成に関する完全ガイド](https://www.tensorflow.org/guide/keras/custom_callback/)を参照してください。\n", "\n", "以下は、トレーニング時にバッチごとの損失値のリストを保存する簡単な例です。" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:57.027385Z", "iopub.status.busy": "2022-12-14T21:43:57.026859Z", "iopub.status.idle": "2022-12-14T21:43:57.031054Z", "shell.execute_reply": "2022-12-14T21:43:57.030323Z" }, "id": "b265d36ce608" }, "outputs": [], "source": [ "class LossHistory(keras.callbacks.Callback):\n", " def on_train_begin(self, logs):\n", " self.per_batch_losses = []\n", "\n", " def on_batch_end(self, batch, logs):\n", " self.per_batch_losses.append(logs.get(\"loss\"))\n" ] }, { "cell_type": "markdown", "metadata": { "id": "5ee672524987" }, "source": [ "## モデルにチェックポイントを設定する\n", "\n", "比較的大きなデータセットでモデルをトレーニングする場合、モデルのチェックポイントを頻繁に保存することが重要です。\n", "\n", "これを達成するには `ModelCheckpoint` コールバックを使用するのが最も簡単です。" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:43:57.034371Z", "iopub.status.busy": "2022-12-14T21:43:57.033823Z", "iopub.status.idle": "2022-12-14T21:44:02.240633Z", "shell.execute_reply": "2022-12-14T21:44:02.240030Z" }, "id": "83614be57725" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:03 - loss: 2.3084 - sparse_categorical_accuracy: 0.1562" ] }, { "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\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", " 25/625 [>.............................] - ETA: 1s - loss: 1.5073 - sparse_categorical_accuracy: 0.5831 " ] }, { "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\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", " 49/625 [=>............................] - ETA: 1s - loss: 1.1526 - sparse_categorical_accuracy: 0.6913" ] }, { "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\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", " 74/625 [==>...........................] - ETA: 1s - loss: 0.9605 - sparse_categorical_accuracy: 0.7422" ] }, { "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\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", " 99/625 [===>..........................] - ETA: 1s - loss: 0.8272 - sparse_categorical_accuracy: 0.7787" ] }, { "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\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", "124/625 [====>.........................] - ETA: 1s - loss: 0.7517 - sparse_categorical_accuracy: 0.7979" ] }, { "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\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", "149/625 [======>.......................] - ETA: 0s - loss: 0.6895 - sparse_categorical_accuracy: 0.8133" ] }, { "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\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", "175/625 [=======>......................] - ETA: 0s - loss: 0.6386 - sparse_categorical_accuracy: 0.8265" ] }, { "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\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", "200/625 [========>.....................] - ETA: 0s - loss: 0.5969 - sparse_categorical_accuracy: 0.8377" ] }, { "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\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", "224/625 [=========>....................] - ETA: 0s - loss: 0.5673 - sparse_categorical_accuracy: 0.8437" ] }, { "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\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", "249/625 [==========>...................] - ETA: 0s - loss: 0.5407 - sparse_categorical_accuracy: 0.8505" ] }, { "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\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", "274/625 [============>.................] - ETA: 0s - loss: 0.5186 - sparse_categorical_accuracy: 0.8562" ] }, { "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\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", "299/625 [=============>................] - ETA: 0s - loss: 0.4990 - sparse_categorical_accuracy: 0.8617" ] }, { "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\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", "324/625 [==============>...............] - ETA: 0s - loss: 0.4814 - sparse_categorical_accuracy: 0.8666" ] }, { "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\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", "349/625 [===============>..............] - ETA: 0s - loss: 0.4668 - sparse_categorical_accuracy: 0.8707" ] }, { "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\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", "374/625 [================>.............] - ETA: 0s - loss: 0.4519 - sparse_categorical_accuracy: 0.8744" ] }, { "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\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", "399/625 [==================>...........] - ETA: 0s - loss: 0.4427 - sparse_categorical_accuracy: 0.8768" ] }, { "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\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", "423/625 [===================>..........] - ETA: 0s - loss: 0.4296 - sparse_categorical_accuracy: 0.8803" ] }, { "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\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", "447/625 [====================>.........] - ETA: 0s - loss: 0.4185 - sparse_categorical_accuracy: 0.8831" ] }, { "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\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", "472/625 [=====================>........] - ETA: 0s - loss: 0.4083 - sparse_categorical_accuracy: 0.8859" ] }, { "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\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", "497/625 [======================>.......] - ETA: 0s - loss: 0.3992 - sparse_categorical_accuracy: 0.8880" ] }, { "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\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", "522/625 [========================>.....] - ETA: 0s - loss: 0.3897 - sparse_categorical_accuracy: 0.8906" ] }, { "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\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", "547/625 [=========================>....] - ETA: 0s - loss: 0.3809 - sparse_categorical_accuracy: 0.8927" ] }, { "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\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", "572/625 [==========================>...] - ETA: 0s - loss: 0.3744 - sparse_categorical_accuracy: 0.8946" ] }, { "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\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", "597/625 [===========================>..] - ETA: 0s - loss: 0.3675 - sparse_categorical_accuracy: 0.8968" ] }, { "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\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", "623/625 [============================>.] - ETA: 0s - loss: 0.3613 - sparse_categorical_accuracy: 0.8983" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Epoch 1: val_loss improved from inf to 0.21801, saving model to mymodel_1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: mymodel_1/assets\n" ] }, { "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\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", "625/625 [==============================] - 3s 4ms/step - loss: 0.3613 - sparse_categorical_accuracy: 0.8983 - val_loss: 0.2180 - val_sparse_categorical_accuracy: 0.9356\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.2831 - sparse_categorical_accuracy: 0.9062" ] }, { "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\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", " 26/625 [>.............................] - ETA: 1s - loss: 0.1828 - sparse_categorical_accuracy: 0.9453" ] }, { "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\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", " 51/625 [=>............................] - ETA: 1s - loss: 0.1762 - sparse_categorical_accuracy: 0.9473" ] }, { "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\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", " 76/625 [==>...........................] - ETA: 1s - loss: 0.1708 - sparse_categorical_accuracy: 0.9478" ] }, { "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\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", "101/625 [===>..........................] - ETA: 1s - loss: 0.1794 - sparse_categorical_accuracy: 0.9448" ] }, { "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\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", "127/625 [=====>........................] - ETA: 1s - loss: 0.1702 - sparse_categorical_accuracy: 0.9483" ] }, { "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\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", "152/625 [======>.......................] - ETA: 0s - loss: 0.1715 - sparse_categorical_accuracy: 0.9491" ] }, { "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\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", "177/625 [=======>......................] - ETA: 0s - loss: 0.1750 - sparse_categorical_accuracy: 0.9477" ] }, { "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\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", "202/625 [========>.....................] - ETA: 0s - loss: 0.1766 - sparse_categorical_accuracy: 0.9476" ] }, { "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\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", "226/625 [=========>....................] - ETA: 0s - loss: 0.1773 - sparse_categorical_accuracy: 0.9477" ] }, { "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\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", "250/625 [===========>..................] - ETA: 0s - loss: 0.1775 - sparse_categorical_accuracy: 0.9476" ] }, { "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\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", "275/625 [============>.................] - ETA: 0s - loss: 0.1803 - sparse_categorical_accuracy: 0.9463" ] }, { "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\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", "300/625 [=============>................] - ETA: 0s - loss: 0.1810 - sparse_categorical_accuracy: 0.9458" ] }, { "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\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", "325/625 [==============>...............] - ETA: 0s - loss: 0.1802 - sparse_categorical_accuracy: 0.9465" ] }, { "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\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", "351/625 [===============>..............] - ETA: 0s - loss: 0.1796 - sparse_categorical_accuracy: 0.9469" ] }, { "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\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", "377/625 [=================>............] - ETA: 0s - loss: 0.1773 - sparse_categorical_accuracy: 0.9474" ] }, { "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\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", "402/625 [==================>...........] - ETA: 0s - loss: 0.1775 - sparse_categorical_accuracy: 0.9473" ] }, { "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\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", "427/625 [===================>..........] - ETA: 0s - loss: 0.1772 - sparse_categorical_accuracy: 0.9476" ] }, { "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\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", "452/625 [====================>.........] - ETA: 0s - loss: 0.1765 - sparse_categorical_accuracy: 0.9478" ] }, { "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\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", "477/625 [=====================>........] - ETA: 0s - loss: 0.1755 - sparse_categorical_accuracy: 0.9481" ] }, { "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\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", "502/625 [=======================>......] - ETA: 0s - loss: 0.1734 - sparse_categorical_accuracy: 0.9488" ] }, { "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\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", "527/625 [========================>.....] - ETA: 0s - loss: 0.1727 - sparse_categorical_accuracy: 0.9491" ] }, { "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\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", "552/625 [=========================>....] - ETA: 0s - loss: 0.1707 - sparse_categorical_accuracy: 0.9497" ] }, { "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\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", "577/625 [==========================>...] - ETA: 0s - loss: 0.1703 - sparse_categorical_accuracy: 0.9499" ] }, { "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\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", "602/625 [===========================>..] - ETA: 0s - loss: 0.1685 - sparse_categorical_accuracy: 0.9505" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Epoch 2: val_loss improved from 0.21801 to 0.17181, saving model to mymodel_2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: mymodel_2/assets\n" ] }, { "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\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", "625/625 [==============================] - 2s 3ms/step - loss: 0.1675 - sparse_categorical_accuracy: 0.9507 - val_loss: 0.1718 - val_sparse_categorical_accuracy: 0.9494\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "\n", "callbacks = [\n", " keras.callbacks.ModelCheckpoint(\n", " # Path where to save the model\n", " # The two parameters below mean that we will overwrite\n", " # the current checkpoint if and only if\n", " # the `val_loss` score has improved.\n", " # The saved model name will include the current epoch.\n", " filepath=\"mymodel_{epoch}\",\n", " save_best_only=True, # Only save a model if `val_loss` has improved.\n", " monitor=\"val_loss\",\n", " verbose=1,\n", " )\n", "]\n", "model.fit(\n", " x_train, y_train, epochs=2, batch_size=64, callbacks=callbacks, validation_split=0.2\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "7f6afa36950c" }, "source": [ "`ModelCheckpoint` コールバックを使用するとフォールトトレランスを実装できます。フォールトトレランスはトレーニングがランダムに中断された場合に、モデルの最後に保存された状態からトレーニングを再開する機能です。 以下は基本的な例です。" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:44:02.244305Z", "iopub.status.busy": "2022-12-14T21:44:02.243688Z", "iopub.status.idle": "2022-12-14T21:44:13.452732Z", "shell.execute_reply": "2022-12-14T21:44:13.452112Z" }, "id": "27ce92b2ad58" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating a new model\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/1563 [..............................] - ETA: 17:50 - loss: 2.3009 - sparse_categorical_accuracy: 0.0938" ] }, { "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\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", " 23/1563 [..............................] - ETA: 3s - loss: 1.7067 - sparse_categorical_accuracy: 0.5177 " ] }, { "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\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", " 46/1563 [..............................] - ETA: 3s - loss: 1.3338 - sparse_categorical_accuracy: 0.6399" ] }, { "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\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", " 70/1563 [>.............................] - ETA: 3s - loss: 1.1157 - sparse_categorical_accuracy: 0.6982" ] }, { "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\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", " 93/1563 [>.............................] - ETA: 3s - loss: 1.0051 - sparse_categorical_accuracy: 0.7275" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.97/assets\n" ] }, { "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\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", " 100/1563 [>.............................] - ETA: 9s - loss: 0.9686 - sparse_categorical_accuracy: 0.7362" ] }, { "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\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", " 122/1563 [=>............................] - ETA: 8s - loss: 0.8833 - sparse_categorical_accuracy: 0.7574" ] }, { "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\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", " 145/1563 [=>............................] - ETA: 7s - loss: 0.8079 - sparse_categorical_accuracy: 0.7769" ] }, { "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\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", " 168/1563 [==>...........................] - ETA: 6s - loss: 0.7571 - sparse_categorical_accuracy: 0.7892" ] }, { "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\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", " 191/1563 [==>...........................] - ETA: 6s - loss: 0.7122 - sparse_categorical_accuracy: 0.8002" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.70/assets\n" ] }, { "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\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", " 200/1563 [==>...........................] - ETA: 8s - loss: 0.6957 - sparse_categorical_accuracy: 0.8044" ] }, { "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\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", " 223/1563 [===>..........................] - ETA: 8s - loss: 0.6609 - sparse_categorical_accuracy: 0.8143" ] }, { "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\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", " 246/1563 [===>..........................] - ETA: 7s - loss: 0.6319 - sparse_categorical_accuracy: 0.8228" ] }, { "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\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", " 269/1563 [====>.........................] - ETA: 7s - loss: 0.6092 - sparse_categorical_accuracy: 0.8280" ] }, { "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\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", " 292/1563 [====>.........................] - ETA: 6s - loss: 0.5911 - sparse_categorical_accuracy: 0.8332" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.58/assets\n" ] }, { "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\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", " 300/1563 [====>.........................] - ETA: 8s - loss: 0.5846 - sparse_categorical_accuracy: 0.8352" ] }, { "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\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", " 323/1563 [=====>........................] - ETA: 7s - loss: 0.5682 - sparse_categorical_accuracy: 0.8395" ] }, { "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\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", " 346/1563 [=====>........................] - ETA: 7s - loss: 0.5498 - sparse_categorical_accuracy: 0.8442" ] }, { "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\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", " 369/1563 [======>.......................] - ETA: 6s - loss: 0.5364 - sparse_categorical_accuracy: 0.8477" ] }, { "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\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", " 392/1563 [======>.......................] - ETA: 6s - loss: 0.5261 - sparse_categorical_accuracy: 0.8508" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.52/assets\n" ] }, { "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\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", " 400/1563 [======>.......................] - ETA: 7s - loss: 0.5231 - sparse_categorical_accuracy: 0.8512" ] }, { "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\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", " 423/1563 [=======>......................] - ETA: 7s - loss: 0.5124 - sparse_categorical_accuracy: 0.8549" ] }, { "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\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", " 447/1563 [=======>......................] - ETA: 6s - loss: 0.5010 - sparse_categorical_accuracy: 0.8582" ] }, { "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\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", " 470/1563 [========>.....................] - ETA: 6s - loss: 0.4920 - sparse_categorical_accuracy: 0.8606" ] }, { "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\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", " 493/1563 [========>.....................] - ETA: 6s - loss: 0.4797 - sparse_categorical_accuracy: 0.8638" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.48/assets\n" ] }, { "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\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", " 500/1563 [========>.....................] - ETA: 6s - loss: 0.4763 - sparse_categorical_accuracy: 0.8646" ] }, { "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\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", " 522/1563 [=========>....................] - ETA: 6s - loss: 0.4667 - sparse_categorical_accuracy: 0.8673" ] }, { "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\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", " 546/1563 [=========>....................] - ETA: 6s - loss: 0.4593 - sparse_categorical_accuracy: 0.8689" ] }, { "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\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", " 568/1563 [=========>....................] - ETA: 6s - loss: 0.4523 - sparse_categorical_accuracy: 0.8706" ] }, { "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\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", " 591/1563 [==========>...................] - ETA: 5s - loss: 0.4459 - sparse_categorical_accuracy: 0.8723" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.44/assets\n" ] }, { "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\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", " 600/1563 [==========>...................] - ETA: 6s - loss: 0.4441 - sparse_categorical_accuracy: 0.8729" ] }, { "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\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", " 623/1563 [==========>...................] - ETA: 6s - loss: 0.4387 - sparse_categorical_accuracy: 0.8743" ] }, { "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\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", " 646/1563 [===========>..................] - ETA: 5s - loss: 0.4310 - sparse_categorical_accuracy: 0.8768" ] }, { "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\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", " 669/1563 [===========>..................] - ETA: 5s - loss: 0.4244 - sparse_categorical_accuracy: 0.8788" ] }, { "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\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", " 692/1563 [============>.................] - ETA: 5s - loss: 0.4205 - sparse_categorical_accuracy: 0.8794" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.42/assets\n" ] }, { "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\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", " 700/1563 [============>.................] - ETA: 5s - loss: 0.4184 - sparse_categorical_accuracy: 0.8800" ] }, { "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\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", " 722/1563 [============>.................] - ETA: 5s - loss: 0.4135 - sparse_categorical_accuracy: 0.8814" ] }, { "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\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", " 745/1563 [=============>................] - ETA: 5s - loss: 0.4079 - sparse_categorical_accuracy: 0.8831" ] }, { "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\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", " 768/1563 [=============>................] - ETA: 4s - loss: 0.4029 - sparse_categorical_accuracy: 0.8847" ] }, { "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\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", " 791/1563 [==============>...............] - ETA: 4s - loss: 0.3981 - sparse_categorical_accuracy: 0.8861" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.40/assets\n" ] }, { "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\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", " 800/1563 [==============>...............] - ETA: 5s - loss: 0.3960 - sparse_categorical_accuracy: 0.8866" ] }, { "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\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", " 823/1563 [==============>...............] - ETA: 4s - loss: 0.3918 - sparse_categorical_accuracy: 0.8878" ] }, { "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\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", " 846/1563 [===============>..............] - ETA: 4s - loss: 0.3871 - sparse_categorical_accuracy: 0.8892" ] }, { "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\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", " 869/1563 [===============>..............] - ETA: 4s - loss: 0.3823 - sparse_categorical_accuracy: 0.8904" ] }, { "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\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", " 893/1563 [================>.............] - ETA: 4s - loss: 0.3781 - sparse_categorical_accuracy: 0.8916" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.38/assets\n" ] }, { "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\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", " 900/1563 [================>.............] - ETA: 4s - loss: 0.3770 - sparse_categorical_accuracy: 0.8919" ] }, { "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\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", " 922/1563 [================>.............] - ETA: 4s - loss: 0.3740 - sparse_categorical_accuracy: 0.8928" ] }, { "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\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", " 945/1563 [=================>............] - ETA: 4s - loss: 0.3711 - sparse_categorical_accuracy: 0.8935" ] }, { "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\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", " 968/1563 [=================>............] - ETA: 3s - loss: 0.3669 - sparse_categorical_accuracy: 0.8945" ] }, { "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\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", " 991/1563 [==================>...........] - ETA: 3s - loss: 0.3646 - sparse_categorical_accuracy: 0.8953" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.36/assets\n" ] }, { "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\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", "1000/1563 [==================>...........] - ETA: 3s - loss: 0.3628 - sparse_categorical_accuracy: 0.8957" ] }, { "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\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", "1023/1563 [==================>...........] - ETA: 3s - loss: 0.3592 - sparse_categorical_accuracy: 0.8969" ] }, { "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\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", "1045/1563 [===================>..........] - ETA: 3s - loss: 0.3565 - sparse_categorical_accuracy: 0.8978" ] }, { "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\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", "1067/1563 [===================>..........] - ETA: 3s - loss: 0.3537 - sparse_categorical_accuracy: 0.8987" ] }, { "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\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", "1090/1563 [===================>..........] - ETA: 3s - loss: 0.3503 - sparse_categorical_accuracy: 0.8997" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.35/assets\n" ] }, { "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\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", "1100/1563 [====================>.........] - ETA: 3s - loss: 0.3488 - sparse_categorical_accuracy: 0.9000" ] }, { "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\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", "1122/1563 [====================>.........] - ETA: 2s - loss: 0.3463 - sparse_categorical_accuracy: 0.9007" ] }, { "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\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", "1145/1563 [====================>.........] - ETA: 2s - loss: 0.3429 - sparse_categorical_accuracy: 0.9014" ] }, { "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\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", "1168/1563 [=====================>........] - ETA: 2s - loss: 0.3399 - sparse_categorical_accuracy: 0.9023" ] }, { "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\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", "1191/1563 [=====================>........] - ETA: 2s - loss: 0.3379 - sparse_categorical_accuracy: 0.9027" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.34/assets\n" ] }, { "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\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", "1200/1563 [======================>.......] - ETA: 2s - loss: 0.3366 - sparse_categorical_accuracy: 0.9030" ] }, { "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\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", "1223/1563 [======================>.......] - ETA: 2s - loss: 0.3339 - sparse_categorical_accuracy: 0.9037" ] }, { "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\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", "1246/1563 [======================>.......] - ETA: 2s - loss: 0.3307 - sparse_categorical_accuracy: 0.9045" ] }, { "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\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", "1269/1563 [=======================>......] - ETA: 1s - loss: 0.3282 - sparse_categorical_accuracy: 0.9051" ] }, { "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\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", "1292/1563 [=======================>......] - ETA: 1s - loss: 0.3256 - sparse_categorical_accuracy: 0.9059" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.32/assets\n" ] }, { "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\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", "1300/1563 [=======================>......] - ETA: 1s - loss: 0.3247 - sparse_categorical_accuracy: 0.9061" ] }, { "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\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", "1323/1563 [========================>.....] - ETA: 1s - loss: 0.3227 - sparse_categorical_accuracy: 0.9067" ] }, { "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\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", "1346/1563 [========================>.....] - ETA: 1s - loss: 0.3210 - sparse_categorical_accuracy: 0.9071" ] }, { "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\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", "1369/1563 [=========================>....] - ETA: 1s - loss: 0.3181 - sparse_categorical_accuracy: 0.9079" ] }, { "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\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", "1392/1563 [=========================>....] - ETA: 1s - loss: 0.3156 - sparse_categorical_accuracy: 0.9088" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.31/assets\n" ] }, { "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\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", "1400/1563 [=========================>....] - ETA: 1s - loss: 0.3148 - sparse_categorical_accuracy: 0.9090" ] }, { "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\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", "1422/1563 [==========================>...] - ETA: 0s - loss: 0.3122 - sparse_categorical_accuracy: 0.9096" ] }, { "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\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", "1445/1563 [==========================>...] - ETA: 0s - loss: 0.3099 - sparse_categorical_accuracy: 0.9103" ] }, { "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\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", "1468/1563 [===========================>..] - ETA: 0s - loss: 0.3081 - sparse_categorical_accuracy: 0.9109" ] }, { "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\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", "1491/1563 [===========================>..] - ETA: 0s - loss: 0.3063 - sparse_categorical_accuracy: 0.9114" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.31/assets\n" ] }, { "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\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", "1500/1563 [===========================>..] - ETA: 0s - loss: 0.3056 - sparse_categorical_accuracy: 0.9116" ] }, { "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\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", "1523/1563 [============================>.] - ETA: 0s - loss: 0.3040 - sparse_categorical_accuracy: 0.9121" ] }, { "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\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", "1546/1563 [============================>.] - ETA: 0s - loss: 0.3018 - sparse_categorical_accuracy: 0.9128" ] }, { "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\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", "1563/1563 [==============================] - 11s 6ms/step - loss: 0.3004 - sparse_categorical_accuracy: 0.9132\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "\n", "# Prepare a directory to store all the checkpoints.\n", "checkpoint_dir = \"./ckpt\"\n", "if not os.path.exists(checkpoint_dir):\n", " os.makedirs(checkpoint_dir)\n", "\n", "\n", "def make_or_restore_model():\n", " # Either restore the latest model, or create a fresh one\n", " # if there is no checkpoint available.\n", " checkpoints = [checkpoint_dir + \"/\" + name for name in os.listdir(checkpoint_dir)]\n", " if checkpoints:\n", " latest_checkpoint = max(checkpoints, key=os.path.getctime)\n", " print(\"Restoring from\", latest_checkpoint)\n", " return keras.models.load_model(latest_checkpoint)\n", " print(\"Creating a new model\")\n", " return get_compiled_model()\n", "\n", "\n", "model = make_or_restore_model()\n", "callbacks = [\n", " # This callback saves a SavedModel every 100 batches.\n", " # We include the training loss in the saved model name.\n", " keras.callbacks.ModelCheckpoint(\n", " filepath=checkpoint_dir + \"/ckpt-loss={loss:.2f}\", save_freq=100\n", " )\n", "]\n", "model.fit(x_train, y_train, epochs=1, callbacks=callbacks)" ] }, { "cell_type": "markdown", "metadata": { "id": "da3ab58d5235" }, "source": [ "また、モデルを保存および復元するための独自のコールバックを記述することもできます。\n", "\n", "シリアル化と保存の完全なガイドについては、[モデルの保存とシリアル化に関するガイド](https://www.tensorflow.org/guide/keras/save_and_serialize/)をご覧ください。" ] }, { "cell_type": "markdown", "metadata": { "id": "b9342cc2ddba" }, "source": [ "## 学習率スケジュールを使用する\n", "\n", "ディープラーニングモデルをトレーニングする際は、一般的に、トレーニングが進むにつれて徐々に学習進度が減少するパターンが見られます。これは一般に「学習率の減衰」として知られています。\n", "\n", "学習減衰スケジュールは、静的(その時点のエポックまたはその時点のバッチインデックスの関数として事前に指定)または動的(モデルの現在の動作、特に検証損失に対応)にすることができます。\n", "\n", "### オプティマイザにスケジュールを渡す\n", "\n", "オプティマイザの `learning_rate` 引数としてスケジュールオブジェクトを渡すことで、静的学習率の減衰スケジュールを簡単に使用できます。" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:44:13.456410Z", "iopub.status.busy": "2022-12-14T21:44:13.455793Z", "iopub.status.idle": "2022-12-14T21:44:13.467718Z", "shell.execute_reply": "2022-12-14T21:44:13.467146Z" }, "id": "684f0ab6d3de" }, "outputs": [], "source": [ "initial_learning_rate = 0.1\n", "lr_schedule = keras.optimizers.schedules.ExponentialDecay(\n", " initial_learning_rate, decay_steps=100000, decay_rate=0.96, staircase=True\n", ")\n", "\n", "optimizer = keras.optimizers.RMSprop(learning_rate=lr_schedule)" ] }, { "cell_type": "markdown", "metadata": { "id": "03b61ddd9586" }, "source": [ "組み込みスケジュールには、`ExponentialDecay`、`PiecewiseConstantDecay`、`PolynomialDecay`、および `InverseTimeDecay` を利用できます。\n", "\n", "### コールバックを使用して動的学習率スケジュールを実装する\n", "\n", "オプティマイザは検証メトリクスにアクセスできないため、これらのスケジュールオブジェクトでは動的学習率のスケジュール(検証の損失が改善されなくなったときに学習率を下げるなど)を実現できません。\n", "\n", "ただし、コールバックは、検証メトリクスを含むすべてのメトリクスにアクセスできます。このパターンでは、コールバックを使用してオプティマイザのその時点の学習率を変更します。これは`ReduceLROnPlateau` コールバックとして組み込まれています。" ] }, { "cell_type": "markdown", "metadata": { "id": "7f8b9539cd57" }, "source": [ "## トレーニング時の損失とメトリクスを視覚化する\n", "\n", "トレーニング時にモデルを監視する場合、[TensorBoard](https://www.tensorflow.org/tensorboard) を使用するのが最善の方法です。これは、ローカルで実行できるブラウザベースのアプリケーションで、以下の機能を提供します。\n", "\n", "- トレーニングと評価のための損失とメトリクスのライブプロット\n", "- レイヤーアクティベーションのヒストグラムの視覚化(オプション)\n", "- `Embedding` レイヤーが学習した埋め込みスペースの 3D 視覚化(オプション)\n", "\n", "TensorFlow を pip でインストールした場合は、コマンドラインから TensorBoard を起動できます。\n", "\n", "```\n", "tensorboard --logdir=/full_path_to_your_logs\n", "```" ] }, { "cell_type": "markdown", "metadata": { "id": "f2685d7ce531" }, "source": [ "### TensorBoard コールバックを使用する\n", "\n", "Keras モデルと `fit()` メソッドで TensorBoard を使用するには、`TensorBoard` コールバックを使用するのが最も簡単です。\n", "\n", "最も単純なケースでは、コールバックがログを書き込む場所を指定するだけで完了します。" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:44:13.471318Z", "iopub.status.busy": "2022-12-14T21:44:13.470799Z", "iopub.status.idle": "2022-12-14T21:44:13.475221Z", "shell.execute_reply": "2022-12-14T21:44:13.474699Z" }, "id": "f74247282ff6" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keras.callbacks.TensorBoard(\n", " log_dir=\"/full_path_to_your_logs\",\n", " histogram_freq=0, # How often to log histogram visualizations\n", " embeddings_freq=0, # How often to log embedding visualizations\n", " update_freq=\"epoch\",\n", ") # How often to write logs (default: once per epoch)" ] }, { "cell_type": "markdown", "metadata": { "id": "3614f8ba1e03" }, "source": [ "詳細については、[`TensorBoard`コールバックのドキュメント](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/tensorboard/)を参照してください。" ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "train_and_evaluate.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.9.16" } }, "nbformat": 4, "nbformat_minor": 0 }