{ "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:24:54.748412Z", "iopub.status.busy": "2022-12-14T21:24:54.747962Z", "iopub.status.idle": "2022-12-14T21:24:54.751740Z", "shell.execute_reply": "2022-12-14T21:24:54.751213Z" }, "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:24:54.754976Z", "iopub.status.busy": "2022-12-14T21:24:54.754734Z", "iopub.status.idle": "2022-12-14T21:24:56.655018Z", "shell.execute_reply": "2022-12-14T21:24:56.654207Z" }, "id": "0472bf67b2bf" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2022-12-14 21:24:55.689069: 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:24:55.689163: 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:24:55.689172: 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://tensorflow.google.cn/guide/keras/writing_a_training_loop_from_scratch/)指南。\n", "\n", "一般而言,无论您使用内置循环还是编写自己的循环,模型训练和评估都会在每种 Keras 模型(序贯模型、使用函数式 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", "我们考虑以下模型(在这里,我们使用函数式 API 构建了此模型,但它也可以是序贯模型或子类化模型):" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:24:56.659607Z", "iopub.status.busy": "2022-12-14T21:24:56.658923Z", "iopub.status.idle": "2022-12-14T21:25:00.112471Z", "shell.execute_reply": "2022-12-14T21:25:00.111444Z" }, "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:25:00.117211Z", "iopub.status.busy": "2022-12-14T21:25:00.116595Z", "iopub.status.idle": "2022-12-14T21:25:00.476955Z", "shell.execute_reply": "2022-12-14T21:25:00.475987Z" }, "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:25:00.481506Z", "iopub.status.busy": "2022-12-14T21:25:00.480785Z", "iopub.status.idle": "2022-12-14T21:25:00.497919Z", "shell.execute_reply": "2022-12-14T21:25:00.497125Z" }, "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:25:00.501607Z", "iopub.status.busy": "2022-12-14T21:25:00.500968Z", "iopub.status.idle": "2022-12-14T21:25:06.293100Z", "shell.execute_reply": "2022-12-14T21:25:06.292360Z" }, "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:15 - loss: 2.3341 - 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\b\r", " 23/782 [..............................] - ETA: 1s - loss: 1.6160 - sparse_categorical_accuracy: 0.5489 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.2412 - sparse_categorical_accuracy: 0.6658" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.0225 - sparse_categorical_accuracy: 0.7255" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9045 - sparse_categorical_accuracy: 0.7549" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8077 - sparse_categorical_accuracy: 0.7808" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7354 - sparse_categorical_accuracy: 0.7996" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6784 - sparse_categorical_accuracy: 0.8148" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6380 - sparse_categorical_accuracy: 0.8243" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "210/782 [=======>......................] - ETA: 1s - loss: 0.6041 - sparse_categorical_accuracy: 0.8324" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5735 - sparse_categorical_accuracy: 0.8407" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "260/782 [========>.....................] - ETA: 1s - loss: 0.5478 - sparse_categorical_accuracy: 0.8478" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5271 - 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", "308/782 [==========>...................] - ETA: 1s - loss: 0.5107 - sparse_categorical_accuracy: 0.8575" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "332/782 [===========>..................] - ETA: 0s - loss: 0.4952 - sparse_categorical_accuracy: 0.8616" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "356/782 [============>.................] - ETA: 0s - loss: 0.4810 - sparse_categorical_accuracy: 0.8657" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "380/782 [=============>................] - ETA: 0s - loss: 0.4697 - sparse_categorical_accuracy: 0.8683" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4571 - sparse_categorical_accuracy: 0.8718" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "426/782 [===============>..............] - ETA: 0s - loss: 0.4470 - sparse_categorical_accuracy: 0.8745" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [================>.............] - ETA: 0s - loss: 0.4377 - sparse_categorical_accuracy: 0.8770" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=================>............] - ETA: 0s - loss: 0.4287 - 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", "496/782 [==================>...........] - ETA: 0s - loss: 0.4193 - sparse_categorical_accuracy: 0.8817" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4117 - sparse_categorical_accuracy: 0.8841" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4025 - 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", "566/782 [====================>.........] - ETA: 0s - loss: 0.3964 - 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", "590/782 [=====================>........] - ETA: 0s - loss: 0.3889 - sparse_categorical_accuracy: 0.8905" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3833 - 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", "637/782 [=======================>......] - ETA: 0s - loss: 0.3777 - 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", "661/782 [========================>.....] - ETA: 0s - loss: 0.3728 - sparse_categorical_accuracy: 0.8944" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3674 - 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\r", "708/782 [==========================>...] - ETA: 0s - loss: 0.3624 - sparse_categorical_accuracy: 0.8971" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "732/782 [===========================>..] - ETA: 0s - loss: 0.3562 - 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", "755/782 [===========================>..] - ETA: 0s - loss: 0.3516 - sparse_categorical_accuracy: 0.8998" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3481 - 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\r", "782/782 [==============================] - 3s 3ms/step - loss: 0.3473 - sparse_categorical_accuracy: 0.9009 - val_loss: 0.1936 - val_sparse_categorical_accuracy: 0.9444\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 2s - loss: 0.2749 - 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.2012 - sparse_categorical_accuracy: 0.9408" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1834 - 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", " 72/782 [=>............................] - ETA: 1s - loss: 0.1830 - sparse_categorical_accuracy: 0.9438" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1833 - 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", "121/782 [===>..........................] - ETA: 1s - loss: 0.1786 - 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", "145/782 [====>.........................] - ETA: 1s - loss: 0.1760 - 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", "169/782 [=====>........................] - ETA: 1s - loss: 0.1792 - sparse_categorical_accuracy: 0.9455" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1758 - 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", "217/782 [=======>......................] - ETA: 1s - loss: 0.1743 - 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", "241/782 [========>.....................] - ETA: 1s - loss: 0.1722 - 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", "265/782 [=========>....................] - ETA: 1s - loss: 0.1730 - sparse_categorical_accuracy: 0.9479" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1750 - 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", "311/782 [==========>...................] - ETA: 1s - loss: 0.1743 - 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", "335/782 [===========>..................] - ETA: 0s - loss: 0.1718 - 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", "359/782 [============>.................] - ETA: 0s - loss: 0.1703 - 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", "382/782 [=============>................] - ETA: 0s - loss: 0.1708 - sparse_categorical_accuracy: 0.9482" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1713 - sparse_categorical_accuracy: 0.9482" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1709 - 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", "451/782 [================>.............] - ETA: 0s - loss: 0.1702 - 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", "475/782 [=================>............] - ETA: 0s - loss: 0.1696 - 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", "499/782 [==================>...........] - ETA: 0s - loss: 0.1689 - 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", "523/782 [===================>..........] - ETA: 0s - loss: 0.1677 - 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", "546/782 [===================>..........] - ETA: 0s - loss: 0.1672 - 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", "570/782 [====================>.........] - ETA: 0s - loss: 0.1678 - 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", "594/782 [=====================>........] - ETA: 0s - loss: 0.1672 - sparse_categorical_accuracy: 0.9493" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1673 - sparse_categorical_accuracy: 0.9493" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1675 - 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", "665/782 [========================>.....] - ETA: 0s - loss: 0.1657 - 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", "689/782 [=========================>....] - ETA: 0s - loss: 0.1647 - sparse_categorical_accuracy: 0.9500" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "713/782 [==========================>...] - ETA: 0s - loss: 0.1636 - 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", "736/782 [===========================>..] - ETA: 0s - loss: 0.1629 - sparse_categorical_accuracy: 0.9504" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "759/782 [============================>.] - ETA: 0s - loss: 0.1619 - sparse_categorical_accuracy: 0.9507" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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 [==============================] - ETA: 0s - loss: 0.1616 - sparse_categorical_accuracy: 0.9507" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1616 - sparse_categorical_accuracy: 0.9507 - val_loss: 0.1324 - val_sparse_categorical_accuracy: 0.9605\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:25:06.297013Z", "iopub.status.busy": "2022-12-14T21:25:06.296350Z", "iopub.status.idle": "2022-12-14T21:25:06.302691Z", "shell.execute_reply": "2022-12-14T21:25:06.302108Z" }, "id": "a20b8f5b9fcc" }, "outputs": [ { "data": { "text/plain": [ "{'loss': [0.3473339378833771, 0.16158732771873474],\n", " 'sparse_categorical_accuracy': [0.9008600115776062, 0.9506999850273132],\n", " 'val_loss': [0.19355881214141846, 0.13244354724884033],\n", " 'val_sparse_categorical_accuracy': [0.9444000124931335, 0.9605000019073486]}" ] }, "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:25:06.306076Z", "iopub.status.busy": "2022-12-14T21:25:06.305562Z", "iopub.status.idle": "2022-12-14T21:25:06.686421Z", "shell.execute_reply": "2022-12-14T21:25:06.685723Z" }, "id": "69f524a93f9d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Evaluate on test data\n", "\r", " 1/79 [..............................] - ETA: 1s - loss: 0.0433 - 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.1775 - 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\r", "55/79 [===================>..........] - ETA: 0s - loss: 0.1599 - sparse_categorical_accuracy: 0.9537" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1384 - sparse_categorical_accuracy: 0.9599\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "test loss, test acc: [0.13839252293109894, 0.9599000215530396]\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:25:06.690286Z", "iopub.status.busy": "2022-12-14T21:25:06.689725Z", "iopub.status.idle": "2022-12-14T21:25:06.700444Z", "shell.execute_reply": "2022-12-14T21:25:06.699793Z" }, "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:25:06.704050Z", "iopub.status.busy": "2022-12-14T21:25:06.703526Z", "iopub.status.idle": "2022-12-14T21:25:06.711925Z", "shell.execute_reply": "2022-12-14T21:25:06.711321Z" }, "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:25:06.714998Z", "iopub.status.busy": "2022-12-14T21:25:06.714751Z", "iopub.status.idle": "2022-12-14T21:25:06.719444Z", "shell.execute_reply": "2022-12-14T21:25:06.718827Z" }, "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 提供了两种方式。\n", "\n", "第一种方式涉及创建一个接受输入 `y_true` 和 `y_pred` 的函数。下面的示例显示了一个计算实际数据与预测值之间均方误差的损失函数:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:25:06.722594Z", "iopub.status.busy": "2022-12-14T21:25:06.722131Z", "iopub.status.idle": "2022-12-14T21:25:09.828056Z", "shell.execute_reply": "2022-12-14T21:25:09.827302Z" }, "id": "cc4edd47bb5a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 14:08 - loss: 0.0911" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0786 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0611" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0505" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [==>...........................] - ETA: 1s - 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", "124/782 [===>..........................] - ETA: 1s - loss: 0.0387" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0353" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=====>........................] - ETA: 1s - loss: 0.0326" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [======>.......................] - ETA: 1s - loss: 0.0303" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=======>......................] - ETA: 1s - loss: 0.0285" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "248/782 [========>.....................] - ETA: 1s - loss: 0.0270" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "273/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", "298/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", "323/782 [===========>..................] - ETA: 0s - loss: 0.0239" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0231" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0223" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "396/782 [==============>...............] - ETA: 0s - loss: 0.0217" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0211" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "444/782 [================>.............] - ETA: 0s - loss: 0.0206" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "469/782 [================>.............] - ETA: 0s - loss: 0.0201" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0196" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0192" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "569/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", "594/782 [=====================>........] - ETA: 0s - loss: 0.0181" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0178" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "644/782 [=======================>......] - ETA: 0s - loss: 0.0175" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "693/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", "718/782 [==========================>...] - ETA: 0s - loss: 0.0166" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0164" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [============================>.] - ETA: 0s - loss: 0.0161" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0160\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` 类子类化,并实现以下两种方法:\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:25:09.831811Z", "iopub.status.busy": "2022-12-14T21:25:09.831038Z", "iopub.status.idle": "2022-12-14T21:25:12.899311Z", "shell.execute_reply": "2022-12-14T21:25:12.898632Z" }, "id": "b09463a8c568" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 12:16 - loss: 0.1067" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.0934 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0777" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0678" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0615" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0577" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "161/782 [=====>........................] - ETA: 1s - loss: 0.0525" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0507" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0493" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "231/782 [=======>......................] - ETA: 1s - loss: 0.0480" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0471" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "278/782 [=========>....................] - ETA: 1s - loss: 0.0463" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [==========>...................] - ETA: 1s - loss: 0.0456" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [===========>..................] - ETA: 1s - loss: 0.0450" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "370/782 [=============>................] - ETA: 0s - loss: 0.0439" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0433" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [==============>...............] - ETA: 0s - loss: 0.0429" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.0424" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "463/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", "487/782 [=================>............] - ETA: 0s - loss: 0.0417" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0414" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0411" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0409" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0406" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "623/782 [======================>.......] - ETA: 0s - loss: 0.0401" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "669/782 [========================>.....] - ETA: 0s - loss: 0.0396" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/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", "715/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", "738/782 [===========================>..] - ETA: 0s - loss: 0.0389" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0387" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0386\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` 类子类化来轻松创建自定义指标。您需要实现 4 种方法:\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:25:12.903046Z", "iopub.status.busy": "2022-12-14T21:25:12.902507Z", "iopub.status.idle": "2022-12-14T21:25:19.104251Z", "shell.execute_reply": "2022-12-14T21:25:19.103493Z" }, "id": "2ad9c57c0683" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:34 - loss: 2.2613 - 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", " 25/782 [..............................] - ETA: 1s - loss: 1.5528 - categorical_true_positives: 959.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", " 49/782 [>.............................] - ETA: 1s - loss: 1.1701 - categorical_true_positives: 2234.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.9652 - categorical_true_positives: 3545.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.8409 - categorical_true_positives: 4895.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.7536 - categorical_true_positives: 6253.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.6888 - categorical_true_positives: 7581.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.6431 - categorical_true_positives: 8957.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", "192/782 [======>.......................] - ETA: 1s - loss: 0.6140 - categorical_true_positives: 10321.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", "215/782 [=======>......................] - ETA: 1s - loss: 0.5870 - categorical_true_positives: 11638.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", "238/782 [========>.....................] - ETA: 1s - loss: 0.5632 - categorical_true_positives: 12960.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", "262/782 [=========>....................] - ETA: 1s - loss: 0.5399 - categorical_true_positives: 14357.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", "286/782 [=========>....................] - ETA: 1s - loss: 0.5203 - categorical_true_positives: 15748.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", "310/782 [==========>...................] - ETA: 1s - loss: 0.5018 - categorical_true_positives: 17154.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.4871 - categorical_true_positives: 18553.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", "359/782 [============>.................] - ETA: 0s - loss: 0.4731 - categorical_true_positives: 20025.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.4602 - categorical_true_positives: 21498.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.4501 - categorical_true_positives: 22900.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.4398 - categorical_true_positives: 24319.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.4322 - categorical_true_positives: 25723.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", "481/782 [=================>............] - ETA: 0s - loss: 0.4228 - categorical_true_positives: 27202.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", "506/782 [==================>...........] - ETA: 0s - loss: 0.4131 - categorical_true_positives: 28695.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", "530/782 [===================>..........] - ETA: 0s - loss: 0.4053 - categorical_true_positives: 30122.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", "554/782 [====================>.........] - ETA: 0s - loss: 0.3989 - categorical_true_positives: 31549.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", "578/782 [=====================>........] - ETA: 0s - loss: 0.3924 - categorical_true_positives: 32969.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", "602/782 [======================>.......] - ETA: 0s - loss: 0.3851 - categorical_true_positives: 34403.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", "626/782 [=======================>......] - ETA: 0s - loss: 0.3797 - categorical_true_positives: 35823.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", "650/782 [=======================>......] - ETA: 0s - loss: 0.3737 - categorical_true_positives: 37271.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", "674/782 [========================>.....] - ETA: 0s - loss: 0.3678 - categorical_true_positives: 38701.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.3630 - categorical_true_positives: 40133.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.3585 - categorical_true_positives: 41549.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.3537 - categorical_true_positives: 42994.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.3492 - categorical_true_positives: 44441.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.3474 - categorical_true_positives: 45106.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.2403 - categorical_true_positives: 60.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", " 24/782 [..............................] - ETA: 1s - loss: 0.1939 - categorical_true_positives: 1447.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", " 47/782 [>.............................] - ETA: 1s - loss: 0.1968 - categorical_true_positives: 2829.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", " 72/782 [=>............................] - ETA: 1s - loss: 0.1933 - categorical_true_positives: 4339.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", " 96/782 [==>...........................] - ETA: 1s - loss: 0.1998 - categorical_true_positives: 5772.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", "119/782 [===>..........................] - ETA: 1s - loss: 0.1960 - categorical_true_positives: 7175.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", "143/782 [====>.........................] - ETA: 1s - loss: 0.1927 - categorical_true_positives: 8634.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", "167/782 [=====>........................] - ETA: 1s - loss: 0.1898 - categorical_true_positives: 10094.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", "191/782 [======>.......................] - ETA: 1s - loss: 0.1904 - categorical_true_positives: 11547.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", "214/782 [=======>......................] - ETA: 1s - loss: 0.1890 - categorical_true_positives: 12950.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", "236/782 [========>.....................] - ETA: 1s - loss: 0.1878 - categorical_true_positives: 14290.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", "259/782 [========>.....................] - ETA: 1s - loss: 0.1892 - categorical_true_positives: 15664.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", "282/782 [=========>....................] - ETA: 1s - loss: 0.1861 - categorical_true_positives: 17079.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", "305/782 [==========>...................] - ETA: 1s - loss: 0.1872 - categorical_true_positives: 18467.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", "328/782 [===========>..................] - ETA: 0s - loss: 0.1857 - categorical_true_positives: 19854.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", "351/782 [============>.................] - ETA: 0s - loss: 0.1846 - categorical_true_positives: 21256.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", "374/782 [=============>................] - ETA: 0s - loss: 0.1834 - categorical_true_positives: 22651.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", "397/782 [==============>...............] - ETA: 0s - loss: 0.1823 - categorical_true_positives: 24043.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", "420/782 [===============>..............] - ETA: 0s - loss: 0.1795 - categorical_true_positives: 25462.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.1786 - categorical_true_positives: 26797.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", "464/782 [================>.............] - ETA: 0s - loss: 0.1783 - categorical_true_positives: 28137.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", "487/782 [=================>............] - ETA: 0s - loss: 0.1772 - categorical_true_positives: 29538.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", "510/782 [==================>...........] - ETA: 0s - loss: 0.1769 - categorical_true_positives: 30935.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", "533/782 [===================>..........] - ETA: 0s - loss: 0.1764 - categorical_true_positives: 32337.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", "556/782 [====================>.........] - ETA: 0s - loss: 0.1756 - categorical_true_positives: 33742.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", "579/782 [=====================>........] - ETA: 0s - loss: 0.1749 - categorical_true_positives: 35147.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", "602/782 [======================>.......] - ETA: 0s - loss: 0.1732 - categorical_true_positives: 36567.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", "625/782 [======================>.......] - ETA: 0s - loss: 0.1712 - categorical_true_positives: 37983.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", "648/782 [=======================>......] - ETA: 0s - loss: 0.1709 - categorical_true_positives: 39383.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", "672/782 [========================>.....] - ETA: 0s - loss: 0.1702 - categorical_true_positives: 40848.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", "695/782 [=========================>....] - ETA: 0s - loss: 0.1698 - categorical_true_positives: 42259.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", "719/782 [==========================>...] - ETA: 0s - loss: 0.1697 - categorical_true_positives: 43719.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", "742/782 [===========================>..] - ETA: 0s - loss: 0.1689 - categorical_true_positives: 45122.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", "766/782 [============================>.] - ETA: 0s - loss: 0.1681 - categorical_true_positives: 46584.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.1668 - categorical_true_positives: 47531.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.1184 - categorical_true_positives: 61.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.1467 - categorical_true_positives: 1529.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.1507 - categorical_true_positives: 2999.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.1354 - categorical_true_positives: 4481.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", " 98/782 [==>...........................] - ETA: 1s - loss: 0.1288 - categorical_true_positives: 6026.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.1262 - categorical_true_positives: 7504.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.1232 - categorical_true_positives: 8982.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.1236 - categorical_true_positives: 10464.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", "194/782 [======>.......................] - ETA: 1s - loss: 0.1233 - categorical_true_positives: 11956.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", "218/782 [=======>......................] - ETA: 1s - loss: 0.1237 - categorical_true_positives: 13431.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", "242/782 [========>.....................] - ETA: 1s - loss: 0.1233 - categorical_true_positives: 14913.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", "266/782 [=========>....................] - ETA: 1s - loss: 0.1256 - categorical_true_positives: 16380.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", "289/782 [==========>...................] - ETA: 1s - loss: 0.1279 - categorical_true_positives: 17784.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", "313/782 [===========>..................] - ETA: 0s - loss: 0.1271 - categorical_true_positives: 19274.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", "337/782 [===========>..................] - ETA: 0s - loss: 0.1266 - categorical_true_positives: 20746.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.1256 - categorical_true_positives: 22172.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.1262 - categorical_true_positives: 23648.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", "407/782 [==============>...............] - ETA: 0s - loss: 0.1272 - categorical_true_positives: 25050.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", "431/782 [===============>..............] - ETA: 0s - loss: 0.1267 - categorical_true_positives: 26531.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", "455/782 [================>.............] - ETA: 0s - loss: 0.1261 - categorical_true_positives: 28014.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.1263 - categorical_true_positives: 29500.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", "503/782 [==================>...........] - ETA: 0s - loss: 0.1255 - categorical_true_positives: 30995.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", "527/782 [===================>..........] - ETA: 0s - loss: 0.1243 - categorical_true_positives: 32488.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", "551/782 [====================>.........] - ETA: 0s - loss: 0.1233 - categorical_true_positives: 33976.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", "575/782 [=====================>........] - ETA: 0s - loss: 0.1237 - categorical_true_positives: 35448.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", "599/782 [=====================>........] - ETA: 0s - loss: 0.1235 - categorical_true_positives: 36936.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", "623/782 [======================>.......] - ETA: 0s - loss: 0.1236 - categorical_true_positives: 38417.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", "647/782 [=======================>......] - ETA: 0s - loss: 0.1235 - categorical_true_positives: 39894.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", "672/782 [========================>.....] - ETA: 0s - loss: 0.1230 - categorical_true_positives: 41440.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", "697/782 [=========================>....] - ETA: 0s - loss: 0.1237 - categorical_true_positives: 42983.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", "721/782 [==========================>...] - ETA: 0s - loss: 0.1227 - categorical_true_positives: 44471.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", "745/782 [===========================>..] - ETA: 0s - loss: 0.1227 - categorical_true_positives: 45959.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", "769/782 [============================>.] - ETA: 0s - loss: 0.1225 - categorical_true_positives: 47445.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.1219 - categorical_true_positives: 48207.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:25:19.108053Z", "iopub.status.busy": "2022-12-14T21:25:19.107500Z", "iopub.status.idle": "2022-12-14T21:25:21.706286Z", "shell.execute_reply": "2022-12-14T21:25:21.705577Z" }, "id": "b494d47437a0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:39 - loss: 90.2398" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 27/782 [>.............................] - ETA: 1s - loss: 8.9180 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 54/782 [=>............................] - ETA: 1s - loss: 5.6710" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 81/782 [==>...........................] - ETA: 1s - loss: 4.5567" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "107/782 [===>..........................] - ETA: 1s - loss: 4.0126" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "134/782 [====>.........................] - ETA: 1s - loss: 3.6690" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "161/782 [=====>........................] - ETA: 1s - loss: 3.4400" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.2825" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "214/782 [=======>......................] - ETA: 1s - loss: 3.1587" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.0629" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "267/782 [=========>....................] - ETA: 0s - loss: 2.9891" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0s - loss: 2.9261" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0s - loss: 2.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\r", "348/782 [============>.................] - ETA: 0s - loss: 2.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\r", "374/782 [=============>................] - ETA: 0s - loss: 2.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\r", "400/782 [==============>...............] - ETA: 0s - loss: 2.7609" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "426/782 [===============>..............] - ETA: 0s - loss: 2.7329" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.7091" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6877" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "501/782 [==================>...........] - ETA: 0s - loss: 2.6684" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6511" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6351" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=====================>........] - ETA: 0s - loss: 2.6207" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6070" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5938" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "655/782 [========================>.....] - ETA: 0s - loss: 2.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\r", "680/782 [=========================>....] - ETA: 0s - loss: 2.5718" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5615" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5520" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "762/782 [============================>.] - ETA: 0s - loss: 2.5427" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5368\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:25:21.710149Z", "iopub.status.busy": "2022-12-14T21:25:21.709552Z", "iopub.status.idle": "2022-12-14T21:25:24.476647Z", "shell.execute_reply": "2022-12-14T21:25:24.475889Z" }, "id": "aa58091be092" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:57 - loss: 2.3995 - std_of_activation: 0.2849" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5487 - std_of_activation: 0.4526 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.1695 - std_of_activation: 0.5794" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9418 - std_of_activation: 0.6624" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8155 - std_of_activation: 0.7200" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.7453 - std_of_activation: 0.7601" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.6889 - std_of_activation: 0.7911" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "173/782 [=====>........................] - ETA: 1s - loss: 0.6416 - std_of_activation: 0.8158" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [======>.......................] - ETA: 1s - loss: 0.6055 - std_of_activation: 0.8337" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=======>......................] - ETA: 1s - loss: 0.5756 - std_of_activation: 0.8516" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "243/782 [========>.....................] - ETA: 1s - loss: 0.5497 - std_of_activation: 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\r", "267/782 [=========>....................] - ETA: 1s - loss: 0.5284 - 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", "291/782 [==========>...................] - ETA: 1s - loss: 0.5090 - std_of_activation: 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\r", "315/782 [===========>..................] - ETA: 0s - loss: 0.4929 - std_of_activation: 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\r", "339/782 [============>.................] - ETA: 0s - loss: 0.4803 - std_of_activation: 0.9063" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "363/782 [============>.................] - ETA: 0s - loss: 0.4686 - std_of_activation: 0.9136" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "387/782 [=============>................] - ETA: 0s - loss: 0.4558 - std_of_activation: 0.9190" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "411/782 [==============>...............] - ETA: 0s - loss: 0.4443 - std_of_activation: 0.9251" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "435/782 [===============>..............] - ETA: 0s - loss: 0.4345 - std_of_activation: 0.9296" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4242 - std_of_activation: 0.9338" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "483/782 [=================>............] - ETA: 0s - loss: 0.4157 - std_of_activation: 0.9387" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4071 - std_of_activation: 0.9429" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3998 - std_of_activation: 0.9471" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3915 - std_of_activation: 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\r", "581/782 [=====================>........] - ETA: 0s - loss: 0.3844 - std_of_activation: 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\r", "606/782 [======================>.......] - ETA: 0s - loss: 0.3774 - std_of_activation: 0.9577" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "630/782 [=======================>......] - ETA: 0s - loss: 0.3718 - std_of_activation: 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\r", "654/782 [========================>.....] - ETA: 0s - loss: 0.3659 - std_of_activation: 0.9636" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3619 - std_of_activation: 0.9666" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3564 - std_of_activation: 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\r", "725/782 [==========================>...] - ETA: 0s - loss: 0.3515 - std_of_activation: 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\r", "749/782 [===========================>..] - ETA: 0s - loss: 0.3478 - std_of_activation: 0.9734" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3436 - std_of_activation: 0.9754" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3427 - std_of_activation: 0.9762\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": [ "在[函数式 API](https://tensorflow.google.cn/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:25:24.480300Z", "iopub.status.busy": "2022-12-14T21:25:24.479532Z", "iopub.status.idle": "2022-12-14T21:25:27.260079Z", "shell.execute_reply": "2022-12-14T21:25:27.259023Z" }, "id": "0e19afe78b3a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:19 - loss: 93.3453 - std_of_activation: 0.2837" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 10.2339 - std_of_activation: 0.0513 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 6.3552 - std_of_activation: 0.0295 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 5.0520 - std_of_activation: 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\b\b\b\b\b\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: 4.3841 - std_of_activation: 0.0162" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.9769 - std_of_activation: 0.0132" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.7028 - std_of_activation: 0.0112" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.5053 - std_of_activation: 0.0096" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.3512 - std_of_activation: 0.0085" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.2276 - std_of_activation: 0.0075" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "237/782 [========>.....................] - ETA: 1s - loss: 3.1302 - std_of_activation: 0.0067" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "262/782 [=========>....................] - ETA: 1s - loss: 3.0513 - std_of_activation: 0.0061" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "287/782 [==========>...................] - ETA: 1s - loss: 2.9860 - std_of_activation: 0.0056" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.9333 - std_of_activation: 0.0052" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.8863 - std_of_activation: 0.0048" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0s - loss: 2.8459 - std_of_activation: 0.0045" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "385/782 [=============>................] - ETA: 0s - loss: 2.8121 - 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", "410/782 [==============>...............] - ETA: 0s - loss: 2.7811 - 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", "435/782 [===============>..............] - ETA: 0s - loss: 2.7535 - std_of_activation: 0.0038" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "460/782 [================>.............] - ETA: 0s - loss: 2.7289 - std_of_activation: 0.0036" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.7069 - std_of_activation: 0.0034" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6871 - 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", "534/782 [===================>..........] - ETA: 0s - loss: 2.6698 - std_of_activation: 0.0031" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6534 - 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", "584/782 [=====================>........] - ETA: 0s - loss: 2.6385 - std_of_activation: 0.0028" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6246 - 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", "634/782 [=======================>......] - ETA: 0s - loss: 2.6118 - 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", "658/782 [========================>.....] - ETA: 0s - loss: 2.6005 - 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", "683/782 [=========================>....] - ETA: 0s - loss: 2.5895 - 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", "708/782 [==========================>...] - ETA: 0s - loss: 2.5794 - 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", "733/782 [===========================>..] - ETA: 0s - loss: 2.5700 - 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", "758/782 [============================>.] - ETA: 0s - loss: 2.5612 - 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", "782/782 [==============================] - ETA: 0s - loss: 2.5534 - 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", "782/782 [==============================] - 2s 2ms/step - loss: 2.5534 - std_of_activation: 0.0021\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` 层:它以目标和 logits 作为输入,并通过 `add_loss()` 跟踪交叉熵损失。另外,它还通过 `add_metric()` 跟踪分类准确率。" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:25:27.263999Z", "iopub.status.busy": "2022-12-14T21:25:27.263265Z", "iopub.status.idle": "2022-12-14T21:25:27.269000Z", "shell.execute_reply": "2022-12-14T21:25:27.268192Z" }, "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` 参数,如下所示:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:25:27.272627Z", "iopub.status.busy": "2022-12-14T21:25:27.272032Z", "iopub.status.idle": "2022-12-14T21:25:27.923750Z", "shell.execute_reply": "2022-12-14T21:25:27.922778Z" }, "id": "0f6842f2bbe6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/1 [==============================] - ETA: 0s - loss: 1.0727 - 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 503ms/step - loss: 1.0727 - 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", "在您看到的第一个端到端示例中,我们使用了 `validation_data` 参数将 NumPy 数组 `(x_val, y_val)` 的元组传递给模型,用于在每个周期结束时评估验证损失和验证指标。\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:25:27.927544Z", "iopub.status.busy": "2022-12-14T21:25:27.926765Z", "iopub.status.idle": "2022-12-14T21:25:30.778628Z", "shell.execute_reply": "2022-12-14T21:25:30.777932Z" }, "id": "232fd59c751b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:03 - loss: 2.2898 - 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.5192 - sparse_categorical_accuracy: 0.5775 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.1340 - sparse_categorical_accuracy: 0.6915" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9445 - sparse_categorical_accuracy: 0.7424" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "102/625 [===>..........................] - ETA: 1s - loss: 0.8234 - sparse_categorical_accuracy: 0.7736" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "129/625 [=====>........................] - ETA: 0s - loss: 0.7322 - sparse_categorical_accuracy: 0.7977" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "156/625 [======>.......................] - ETA: 0s - loss: 0.6726 - sparse_categorical_accuracy: 0.8135" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======>......................] - ETA: 0s - loss: 0.6242 - sparse_categorical_accuracy: 0.8268" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=========>....................] - ETA: 0s - loss: 0.5902 - sparse_categorical_accuracy: 0.8364" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "234/625 [==========>...................] - ETA: 0s - loss: 0.5630 - sparse_categorical_accuracy: 0.8426" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "260/625 [===========>..................] - ETA: 0s - loss: 0.5379 - sparse_categorical_accuracy: 0.8498" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "287/625 [============>.................] - ETA: 0s - loss: 0.5173 - sparse_categorical_accuracy: 0.8554" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=============>................] - ETA: 0s - loss: 0.5005 - 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", "336/625 [===============>..............] - ETA: 0s - loss: 0.4836 - 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", "362/625 [================>.............] - ETA: 0s - loss: 0.4684 - sparse_categorical_accuracy: 0.8677" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "387/625 [=================>............] - ETA: 0s - loss: 0.4546 - sparse_categorical_accuracy: 0.8711" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "412/625 [==================>...........] - ETA: 0s - loss: 0.4417 - sparse_categorical_accuracy: 0.8745" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "437/625 [===================>..........] - ETA: 0s - loss: 0.4285 - sparse_categorical_accuracy: 0.8785" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "463/625 [=====================>........] - ETA: 0s - loss: 0.4193 - sparse_categorical_accuracy: 0.8812" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [======================>.......] - ETA: 0s - loss: 0.4081 - sparse_categorical_accuracy: 0.8841" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======================>......] - ETA: 0s - loss: 0.4009 - 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", "541/625 [========================>.....] - ETA: 0s - loss: 0.3925 - 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", "567/625 [==========================>...] - ETA: 0s - loss: 0.3862 - 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", "592/625 [===========================>..] - ETA: 0s - loss: 0.3793 - sparse_categorical_accuracy: 0.8921" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "618/625 [============================>.] - ETA: 0s - loss: 0.3732 - 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", "625/625 [==============================] - 2s 3ms/step - loss: 0.3719 - sparse_categorical_accuracy: 0.8944 - val_loss: 0.2294 - val_sparse_categorical_accuracy: 0.9302\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://tensorflow.google.cn/guide/data)。\n", "\n", "您可以将 `Dataset` 实例直接传递给方法 `fit()`、`evaluate()` 和 `predict()`:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:25:30.782022Z", "iopub.status.busy": "2022-12-14T21:25:30.781752Z", "iopub.status.idle": "2022-12-14T21:25:37.361639Z", "shell.execute_reply": "2022-12-14T21:25:37.361005Z" }, "id": "3bf4ded224f8" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:57 - loss: 2.3237 - sparse_categorical_accuracy: 0.1719" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.5353 - sparse_categorical_accuracy: 0.5679 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.1461 - sparse_categorical_accuracy: 0.6931" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9393 - sparse_categorical_accuracy: 0.7523" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.8017 - sparse_categorical_accuracy: 0.7897" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7295 - sparse_categorical_accuracy: 0.8074" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6790 - sparse_categorical_accuracy: 0.8193" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=====>........................] - ETA: 1s - loss: 0.6269 - sparse_categorical_accuracy: 0.8318" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.5905 - 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", "221/782 [=======>......................] - ETA: 1s - loss: 0.5645 - sparse_categorical_accuracy: 0.8476" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.5423 - sparse_categorical_accuracy: 0.8525" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5233 - sparse_categorical_accuracy: 0.8574" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "295/782 [==========>...................] - ETA: 1s - loss: 0.5033 - 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", "320/782 [===========>..................] - ETA: 0s - loss: 0.4851 - sparse_categorical_accuracy: 0.8681" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4690 - sparse_categorical_accuracy: 0.8723" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4548 - sparse_categorical_accuracy: 0.8760" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4415 - sparse_categorical_accuracy: 0.8795" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4317 - sparse_categorical_accuracy: 0.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\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [================>.............] - ETA: 0s - loss: 0.4211 - sparse_categorical_accuracy: 0.8850" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "469/782 [================>.............] - ETA: 0s - loss: 0.4125 - sparse_categorical_accuracy: 0.8868" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4053 - sparse_categorical_accuracy: 0.8886" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3977 - sparse_categorical_accuracy: 0.8905" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3895 - 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", "568/782 [====================>.........] - ETA: 0s - loss: 0.3814 - 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", "590/782 [=====================>........] - ETA: 0s - loss: 0.3771 - 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\r", "613/782 [======================>.......] - ETA: 0s - loss: 0.3716 - 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", "638/782 [=======================>......] - ETA: 0s - loss: 0.3653 - sparse_categorical_accuracy: 0.8990" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "663/782 [========================>.....] - ETA: 0s - loss: 0.3593 - sparse_categorical_accuracy: 0.9008" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3545 - sparse_categorical_accuracy: 0.9018" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "714/782 [==========================>...] - ETA: 0s - loss: 0.3497 - 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\r", "739/782 [===========================>..] - ETA: 0s - loss: 0.3450 - 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", "763/782 [============================>.] - ETA: 0s - loss: 0.3405 - 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\r", "782/782 [==============================] - 2s 2ms/step - loss: 0.3383 - sparse_categorical_accuracy: 0.9057\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 3s - loss: 0.1231 - 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", " 25/782 [..............................] - ETA: 1s - loss: 0.1991 - 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", " 49/782 [>.............................] - ETA: 1s - loss: 0.1772 - 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", " 72/782 [=>............................] - ETA: 1s - loss: 0.1794 - sparse_categorical_accuracy: 0.9503" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1750 - sparse_categorical_accuracy: 0.9513" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1739 - sparse_categorical_accuracy: 0.9507" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1816 - 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", "168/782 [=====>........................] - ETA: 1s - loss: 0.1787 - 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", "192/782 [======>.......................] - ETA: 1s - loss: 0.1786 - 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", "217/782 [=======>......................] - ETA: 1s - loss: 0.1755 - 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", "241/782 [========>.....................] - ETA: 1s - loss: 0.1772 - 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", "266/782 [=========>....................] - ETA: 1s - loss: 0.1773 - 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", "291/782 [==========>...................] - ETA: 1s - loss: 0.1745 - 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", "315/782 [===========>..................] - ETA: 0s - loss: 0.1709 - 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", "339/782 [============>.................] - ETA: 0s - loss: 0.1719 - sparse_categorical_accuracy: 0.9509" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "363/782 [============>.................] - ETA: 0s - loss: 0.1713 - sparse_categorical_accuracy: 0.9509" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "387/782 [=============>................] - ETA: 0s - loss: 0.1700 - 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", "412/782 [==============>...............] - ETA: 0s - loss: 0.1677 - 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", "436/782 [===============>..............] - ETA: 0s - loss: 0.1680 - 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", "461/782 [================>.............] - ETA: 0s - loss: 0.1682 - sparse_categorical_accuracy: 0.9513" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "486/782 [=================>............] - ETA: 0s - loss: 0.1669 - 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", "510/782 [==================>...........] - ETA: 0s - loss: 0.1665 - sparse_categorical_accuracy: 0.9518" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "533/782 [===================>..........] - ETA: 0s - loss: 0.1650 - sparse_categorical_accuracy: 0.9522" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1633 - sparse_categorical_accuracy: 0.9527" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "582/782 [=====================>........] - ETA: 0s - loss: 0.1633 - sparse_categorical_accuracy: 0.9527" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1617 - sparse_categorical_accuracy: 0.9532" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "632/782 [=======================>......] - ETA: 0s - loss: 0.1613 - sparse_categorical_accuracy: 0.9532" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1614 - sparse_categorical_accuracy: 0.9532" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1608 - sparse_categorical_accuracy: 0.9533" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.1603 - sparse_categorical_accuracy: 0.9533" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1598 - sparse_categorical_accuracy: 0.9533" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.1596 - sparse_categorical_accuracy: 0.9532" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1602 - 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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1603 - sparse_categorical_accuracy: 0.9531\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 3s - loss: 0.1324 - 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", " 25/782 [..............................] - ETA: 1s - loss: 0.1609 - sparse_categorical_accuracy: 0.9556" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1286 - 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", " 75/782 [=>............................] - ETA: 1s - loss: 0.1208 - sparse_categorical_accuracy: 0.9654" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1196 - 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", "126/782 [===>..........................] - ETA: 1s - loss: 0.1250 - 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", "151/782 [====>.........................] - ETA: 1s - loss: 0.1294 - 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", "176/782 [=====>........................] - ETA: 1s - loss: 0.1254 - sparse_categorical_accuracy: 0.9634" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "201/782 [======>.......................] - ETA: 1s - loss: 0.1254 - 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", "226/782 [=======>......................] - ETA: 1s - loss: 0.1251 - 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", "251/782 [========>.....................] - ETA: 1s - loss: 0.1246 - 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", "276/782 [=========>....................] - ETA: 1s - loss: 0.1242 - 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", "300/782 [==========>...................] - ETA: 0s - loss: 0.1215 - sparse_categorical_accuracy: 0.9641" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [===========>..................] - ETA: 0s - loss: 0.1212 - 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", "348/782 [============>.................] - ETA: 0s - loss: 0.1218 - 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", "372/782 [=============>................] - ETA: 0s - loss: 0.1221 - 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", "396/782 [==============>...............] - ETA: 0s - loss: 0.1219 - 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", "420/782 [===============>..............] - ETA: 0s - loss: 0.1212 - 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", "444/782 [================>.............] - ETA: 0s - loss: 0.1208 - 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", "468/782 [================>.............] - ETA: 0s - loss: 0.1193 - sparse_categorical_accuracy: 0.9645" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=================>............] - ETA: 0s - loss: 0.1194 - sparse_categorical_accuracy: 0.9645" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [==================>...........] - ETA: 0s - loss: 0.1193 - 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", "540/782 [===================>..........] - ETA: 0s - loss: 0.1193 - 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", "564/782 [====================>.........] - ETA: 0s - loss: 0.1189 - 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", "588/782 [=====================>........] - ETA: 0s - loss: 0.1186 - 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", "611/782 [======================>.......] - ETA: 0s - loss: 0.1176 - sparse_categorical_accuracy: 0.9652" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1180 - 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", "660/782 [========================>.....] - ETA: 0s - loss: 0.1180 - 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", "685/782 [=========================>....] - ETA: 0s - loss: 0.1177 - sparse_categorical_accuracy: 0.9651" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1173 - sparse_categorical_accuracy: 0.9653" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1174 - sparse_categorical_accuracy: 0.9651" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "760/782 [============================>.] - ETA: 0s - loss: 0.1173 - 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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1182 - sparse_categorical_accuracy: 0.9647\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Evaluate\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/157 [..............................] - ETA: 21s - loss: 0.0772 - 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.1598 - 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", " 60/157 [==========>...................] - ETA: 0s - loss: 0.1588 - sparse_categorical_accuracy: 0.9508" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/157 [================>.............] - ETA: 0s - loss: 0.1544 - sparse_categorical_accuracy: 0.9533" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "119/157 [=====================>........] - ETA: 0s - loss: 0.1378 - sparse_categorical_accuracy: 0.9589" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/157 [===========================>..] - ETA: 0s - loss: 0.1205 - 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", "157/157 [==============================] - 0s 2ms/step - loss: 0.1235 - sparse_categorical_accuracy: 0.9632\n" ] }, { "data": { "text/plain": [ "{'loss': 0.12354936450719833,\n", " 'sparse_categorical_accuracy': 0.9631999731063843}" ] }, "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:25:37.365325Z", "iopub.status.busy": "2022-12-14T21:25:37.364616Z", "iopub.status.idle": "2022-12-14T21:25:39.183686Z", "shell.execute_reply": "2022-12-14T21:25:39.182940Z" }, "id": "273c5dff16b4" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 1:07 - loss: 2.2974 - 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", " 26/100 [======>.......................] - ETA: 0s - loss: 1.4623 - sparse_categorical_accuracy: 0.6178 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [==============>...............] - ETA: 0s - loss: 1.0974 - sparse_categorical_accuracy: 0.7224" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [=====================>........] - ETA: 0s - loss: 0.8994 - sparse_categorical_accuracy: 0.7689" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7834 - sparse_categorical_accuracy: 0.7972\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 0s - loss: 0.4071 - sparse_categorical_accuracy: 0.8594" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [======>.......................] - ETA: 0s - loss: 0.4260 - sparse_categorical_accuracy: 0.8816" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [==============>...............] - ETA: 0s - loss: 0.4017 - sparse_categorical_accuracy: 0.8879" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [=====================>........] - ETA: 0s - loss: 0.3699 - 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", "100/100 [==============================] - 0s 2ms/step - loss: 0.3705 - sparse_categorical_accuracy: 0.8938\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 0s - loss: 0.3583 - 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", " 27/100 [=======>......................] - ETA: 0s - loss: 0.3447 - 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", " 53/100 [==============>...............] - ETA: 0s - loss: 0.3343 - sparse_categorical_accuracy: 0.9027" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [======================>.......] - ETA: 0s - loss: 0.3268 - sparse_categorical_accuracy: 0.9033" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3153 - sparse_categorical_accuracy: 0.9078\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", "您可以在 `fit()` 中将 `Dataset` 实例作为 `validation_data` 参数传递:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:25:39.187272Z", "iopub.status.busy": "2022-12-14T21:25:39.186624Z", "iopub.status.idle": "2022-12-14T21:25:42.377795Z", "shell.execute_reply": "2022-12-14T21:25:42.377112Z" }, "id": "bf4f3d78e69a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:50 - loss: 2.3903 - 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", " 24/782 [..............................] - ETA: 1s - loss: 1.5436 - sparse_categorical_accuracy: 0.6081 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.1259 - sparse_categorical_accuracy: 0.7184" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9280 - sparse_categorical_accuracy: 0.7644" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [==>...........................] - ETA: 1s - loss: 0.7941 - sparse_categorical_accuracy: 0.7966" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7124 - sparse_categorical_accuracy: 0.8158" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6638 - sparse_categorical_accuracy: 0.8258" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=====>........................] - ETA: 1s - loss: 0.6175 - sparse_categorical_accuracy: 0.8370" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [======>.......................] - ETA: 1s - loss: 0.5841 - 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", "224/782 [=======>......................] - ETA: 1s - loss: 0.5599 - sparse_categorical_accuracy: 0.8501" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [========>.....................] - ETA: 1s - loss: 0.5406 - sparse_categorical_accuracy: 0.8533" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5176 - sparse_categorical_accuracy: 0.8595" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0s - loss: 0.4978 - sparse_categorical_accuracy: 0.8645" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0s - loss: 0.4808 - sparse_categorical_accuracy: 0.8690" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [============>.................] - ETA: 0s - loss: 0.4661 - sparse_categorical_accuracy: 0.8731" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4528 - sparse_categorical_accuracy: 0.8764" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4393 - 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", "424/782 [===============>..............] - ETA: 0s - loss: 0.4290 - sparse_categorical_accuracy: 0.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\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [================>.............] - ETA: 0s - loss: 0.4191 - 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", "473/782 [=================>............] - ETA: 0s - loss: 0.4117 - 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", "498/782 [==================>...........] - ETA: 0s - loss: 0.4046 - sparse_categorical_accuracy: 0.8876" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [===================>..........] - ETA: 0s - loss: 0.3969 - sparse_categorical_accuracy: 0.8896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [====================>.........] - ETA: 0s - loss: 0.3893 - 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", "573/782 [====================>.........] - ETA: 0s - loss: 0.3817 - 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", "598/782 [=====================>........] - ETA: 0s - loss: 0.3752 - 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.3689 - sparse_categorical_accuracy: 0.8966" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "649/782 [=======================>......] - ETA: 0s - loss: 0.3641 - sparse_categorical_accuracy: 0.8977" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "673/782 [========================>.....] - ETA: 0s - loss: 0.3599 - 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", "697/782 [=========================>....] - ETA: 0s - loss: 0.3547 - 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.3498 - sparse_categorical_accuracy: 0.9015" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3463 - sparse_categorical_accuracy: 0.9022" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [============================>.] - ETA: 0s - loss: 0.3417 - 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 [==============================] - 3s 3ms/step - loss: 0.3400 - sparse_categorical_accuracy: 0.9040 - val_loss: 0.1871 - val_sparse_categorical_accuracy: 0.9460\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:25:42.381494Z", "iopub.status.busy": "2022-12-14T21:25:42.380918Z", "iopub.status.idle": "2022-12-14T21:25:45.440882Z", "shell.execute_reply": "2022-12-14T21:25:45.440173Z" }, "id": "f47342fed069" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:52 - loss: 2.3679 - sparse_categorical_accuracy: 0.1250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4862 - sparse_categorical_accuracy: 0.5990 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0961 - sparse_categorical_accuracy: 0.7168" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8954 - sparse_categorical_accuracy: 0.7708" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7770 - sparse_categorical_accuracy: 0.8016" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7067 - sparse_categorical_accuracy: 0.8164" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6613 - sparse_categorical_accuracy: 0.8276" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6159 - sparse_categorical_accuracy: 0.8387" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5798 - 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", "210/782 [=======>......................] - ETA: 1s - loss: 0.5582 - 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", "234/782 [=======>......................] - ETA: 1s - loss: 0.5392 - sparse_categorical_accuracy: 0.8552" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5186 - sparse_categorical_accuracy: 0.8609" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5009 - sparse_categorical_accuracy: 0.8653" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4826 - sparse_categorical_accuracy: 0.8700" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4675 - sparse_categorical_accuracy: 0.8741" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4544 - sparse_categorical_accuracy: 0.8771" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4409 - 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", "400/782 [==============>...............] - ETA: 0s - loss: 0.4293 - sparse_categorical_accuracy: 0.8837" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4210 - 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", "448/782 [================>.............] - ETA: 0s - loss: 0.4118 - 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", "472/782 [=================>............] - ETA: 0s - loss: 0.4038 - 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", "496/782 [==================>...........] - ETA: 0s - loss: 0.3982 - 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", "519/782 [==================>...........] - ETA: 0s - loss: 0.3919 - 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", "543/782 [===================>..........] - ETA: 0s - loss: 0.3847 - 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", "567/782 [====================>.........] - ETA: 0s - loss: 0.3770 - 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", "591/782 [=====================>........] - ETA: 0s - loss: 0.3719 - sparse_categorical_accuracy: 0.8979" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "615/782 [======================>.......] - ETA: 0s - loss: 0.3660 - sparse_categorical_accuracy: 0.8993" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "639/782 [=======================>......] - ETA: 0s - loss: 0.3606 - sparse_categorical_accuracy: 0.9006" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "663/782 [========================>.....] - ETA: 0s - loss: 0.3556 - 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", "687/782 [=========================>....] - ETA: 0s - loss: 0.3514 - sparse_categorical_accuracy: 0.9027" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "711/782 [==========================>...] - ETA: 0s - loss: 0.3464 - sparse_categorical_accuracy: 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\b\b\b\b\b\b\b\b\b\b\r", "735/782 [===========================>..] - ETA: 0s - loss: 0.3429 - sparse_categorical_accuracy: 0.9050" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "760/782 [============================>.] - ETA: 0s - loss: 0.3381 - 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", "782/782 [==============================] - 3s 2ms/step - loss: 0.3356 - sparse_categorical_accuracy: 0.9067 - val_loss: 0.3411 - val_sparse_categorical_accuracy: 0.9156\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", "通过 `Dataset` 对象进行训练时,不支持参数 `validation_split`(从训练数据生成预留集),因为此功能需要为数据集样本编制索引的能力,而 `Dataset` API 通常无法做到这一点。" ] }, { "cell_type": "markdown", "metadata": { "id": "8160beb766a0" }, "source": [ "## 支持的其他输入格式\n", "\n", "除 NumPy 数组、Eager 张量和 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` 是一个实用工具,您可以将其子类化以获得具有两个重要属性的 Python 生成器:\n", "\n", "- 它适用于多处理。\n", "- 可以打乱它的顺序(例如,在 `fit()` 中传递 `shuffle=True` 时)。\n", "\n", "`Sequence` 必须实现两个方法:\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", "在默认设置下,样本的权重由其在数据集中出现的频率决定。您可以通过两种方式独立于样本频率来加权数据:\n", "\n", "- 类权重\n", "- 样本权重" ] }, { "cell_type": "markdown", "metadata": { "id": "f234a9a75b6d" }, "source": [ "### 类权重\n", "\n", "通过将字典传递给 `Model.fit()` 的 `class_weight` 参数来进行设置。此字典会将类索引映射到应当用于属于此类的样本的权重。\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:25:45.445264Z", "iopub.status.busy": "2022-12-14T21:25:45.444349Z", "iopub.status.idle": "2022-12-14T21:25:48.380076Z", "shell.execute_reply": "2022-12-14T21:25:48.379329Z" }, "id": "f1844f2329a6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fit with class weight\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:56 - loss: 2.4510 - 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", " 22/782 [..............................] - ETA: 1s - loss: 1.7666 - sparse_categorical_accuracy: 0.5447 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 43/782 [>.............................] - ETA: 1s - loss: 1.3492 - sparse_categorical_accuracy: 0.6642" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 64/782 [=>............................] - ETA: 1s - loss: 1.1291 - sparse_categorical_accuracy: 0.7178" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 86/782 [==>...........................] - ETA: 1s - loss: 0.9803 - sparse_categorical_accuracy: 0.7569" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "108/782 [===>..........................] - ETA: 1s - loss: 0.8813 - sparse_categorical_accuracy: 0.7808" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "129/782 [===>..........................] - ETA: 1s - loss: 0.8072 - sparse_categorical_accuracy: 0.8000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7545 - sparse_categorical_accuracy: 0.8123" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=====>........................] - ETA: 1s - loss: 0.7131 - sparse_categorical_accuracy: 0.8221" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6752 - sparse_categorical_accuracy: 0.8301" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "215/782 [=======>......................] - ETA: 1s - loss: 0.6472 - sparse_categorical_accuracy: 0.8372" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "237/782 [========>.....................] - ETA: 1s - loss: 0.6213 - 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", "258/782 [========>.....................] - ETA: 1s - loss: 0.5985 - sparse_categorical_accuracy: 0.8494" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5794 - sparse_categorical_accuracy: 0.8538" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5639 - sparse_categorical_accuracy: 0.8567" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5455 - sparse_categorical_accuracy: 0.8612" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "342/782 [============>.................] - ETA: 1s - loss: 0.5326 - sparse_categorical_accuracy: 0.8643" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "364/782 [============>.................] - ETA: 0s - loss: 0.5190 - sparse_categorical_accuracy: 0.8678" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "385/782 [=============>................] - ETA: 0s - loss: 0.5053 - sparse_categorical_accuracy: 0.8711" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4940 - 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", "429/782 [===============>..............] - ETA: 0s - loss: 0.4827 - sparse_categorical_accuracy: 0.8759" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4738 - sparse_categorical_accuracy: 0.8779" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4640 - sparse_categorical_accuracy: 0.8802" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4538 - sparse_categorical_accuracy: 0.8826" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4453 - sparse_categorical_accuracy: 0.8844" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "540/782 [===================>..........] - ETA: 0s - loss: 0.4399 - sparse_categorical_accuracy: 0.8856" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4334 - 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", "586/782 [=====================>........] - ETA: 0s - loss: 0.4250 - 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", "608/782 [======================>.......] - ETA: 0s - loss: 0.4183 - 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", "630/782 [=======================>......] - ETA: 0s - loss: 0.4135 - sparse_categorical_accuracy: 0.8916" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4077 - 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", "673/782 [========================>.....] - ETA: 0s - loss: 0.4016 - 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", "694/782 [=========================>....] - ETA: 0s - loss: 0.3949 - sparse_categorical_accuracy: 0.8965" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "716/782 [==========================>...] - ETA: 0s - loss: 0.3890 - sparse_categorical_accuracy: 0.8980" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "738/782 [===========================>..] - ETA: 0s - loss: 0.3859 - 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", "760/782 [============================>.] - ETA: 0s - loss: 0.3809 - 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", "782/782 [==============================] - ETA: 0s - loss: 0.3768 - sparse_categorical_accuracy: 0.9012" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3768 - sparse_categorical_accuracy: 0.9012\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:25:48.383528Z", "iopub.status.busy": "2022-12-14T21:25:48.382822Z", "iopub.status.idle": "2022-12-14T21:26:05.276118Z", "shell.execute_reply": "2022-12-14T21:26:05.275279Z" }, "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:08 - loss: 2.6166 - 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.8116 - sparse_categorical_accuracy: 0.5504 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3256 - sparse_categorical_accuracy: 0.6858" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1048 - sparse_categorical_accuracy: 0.7381" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9605 - sparse_categorical_accuracy: 0.7709" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8645 - sparse_categorical_accuracy: 0.7919" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7953 - sparse_categorical_accuracy: 0.8067" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7373 - 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", "183/782 [======>.......................] - ETA: 1s - loss: 0.6973 - sparse_categorical_accuracy: 0.8287" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "206/782 [======>.......................] - ETA: 1s - loss: 0.6633 - 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", "229/782 [=======>......................] - ETA: 1s - loss: 0.6339 - sparse_categorical_accuracy: 0.8422" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6097 - 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\r", "275/782 [=========>....................] - ETA: 1s - loss: 0.5917 - sparse_categorical_accuracy: 0.8514" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "298/782 [==========>...................] - ETA: 1s - loss: 0.5748 - sparse_categorical_accuracy: 0.8556" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5561 - 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", "343/782 [============>.................] - ETA: 0s - loss: 0.5395 - 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", "365/782 [=============>................] - ETA: 0s - loss: 0.5252 - 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", "387/782 [=============>................] - ETA: 0s - loss: 0.5143 - sparse_categorical_accuracy: 0.8695" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "409/782 [==============>...............] - ETA: 0s - loss: 0.5046 - 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", "432/782 [===============>..............] - ETA: 0s - loss: 0.4916 - sparse_categorical_accuracy: 0.8747" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4816 - 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", "477/782 [=================>............] - ETA: 0s - loss: 0.4709 - 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", "500/782 [==================>...........] - ETA: 0s - loss: 0.4621 - sparse_categorical_accuracy: 0.8816" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [===================>..........] - ETA: 0s - loss: 0.4516 - 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", "546/782 [===================>..........] - ETA: 0s - loss: 0.4446 - 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", "568/782 [====================>.........] - ETA: 0s - loss: 0.4373 - sparse_categorical_accuracy: 0.8873" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "589/782 [=====================>........] - ETA: 0s - loss: 0.4310 - sparse_categorical_accuracy: 0.8890" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "611/782 [======================>.......] - ETA: 0s - loss: 0.4257 - 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", "633/782 [=======================>......] - ETA: 0s - loss: 0.4198 - sparse_categorical_accuracy: 0.8916" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "655/782 [========================>.....] - ETA: 0s - loss: 0.4131 - 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", "678/782 [=========================>....] - ETA: 0s - loss: 0.4063 - sparse_categorical_accuracy: 0.8949" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4002 - sparse_categorical_accuracy: 0.8963" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "725/782 [==========================>...] - ETA: 0s - loss: 0.3948 - sparse_categorical_accuracy: 0.8977" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "748/782 [===========================>..] - ETA: 0s - loss: 0.3894 - sparse_categorical_accuracy: 0.8990" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3848 - 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", "782/782 [==============================] - 2s 2ms/step - loss: 0.3833 - sparse_categorical_accuracy: 0.9005\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:26:05.279814Z", "iopub.status.busy": "2022-12-14T21:26:05.279078Z", "iopub.status.idle": "2022-12-14T21:26:08.302648Z", "shell.execute_reply": "2022-12-14T21:26:08.301977Z" }, "id": "c870f3f0c66c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:08 - loss: 2.4345 - 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", " 22/782 [..............................] - ETA: 1s - loss: 1.7602 - sparse_categorical_accuracy: 0.5597 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.2946 - sparse_categorical_accuracy: 0.6920" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.0591 - sparse_categorical_accuracy: 0.7467" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9247 - sparse_categorical_accuracy: 0.7765" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "109/782 [===>..........................] - ETA: 1s - loss: 0.8311 - sparse_categorical_accuracy: 0.7974" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "131/782 [====>.........................] - ETA: 1s - loss: 0.7681 - sparse_categorical_accuracy: 0.8119" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [====>.........................] - ETA: 1s - loss: 0.7201 - sparse_categorical_accuracy: 0.8238" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "173/782 [=====>........................] - ETA: 1s - loss: 0.6733 - sparse_categorical_accuracy: 0.8338" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [======>.......................] - ETA: 1s - loss: 0.6419 - sparse_categorical_accuracy: 0.8415" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "218/782 [=======>......................] - ETA: 1s - loss: 0.6183 - sparse_categorical_accuracy: 0.8465" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5953 - sparse_categorical_accuracy: 0.8511" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5749 - sparse_categorical_accuracy: 0.8553" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "287/782 [==========>...................] - ETA: 1s - loss: 0.5541 - 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", "310/782 [==========>...................] - ETA: 1s - loss: 0.5372 - sparse_categorical_accuracy: 0.8642" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "333/782 [===========>..................] - ETA: 1s - loss: 0.5191 - 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", "355/782 [============>.................] - ETA: 0s - loss: 0.5047 - sparse_categorical_accuracy: 0.8722" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=============>................] - ETA: 0s - loss: 0.4931 - sparse_categorical_accuracy: 0.8751" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4805 - sparse_categorical_accuracy: 0.8780" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [===============>..............] - ETA: 0s - loss: 0.4702 - sparse_categorical_accuracy: 0.8809" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "444/782 [================>.............] - ETA: 0s - loss: 0.4613 - 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.4531 - sparse_categorical_accuracy: 0.8849" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4462 - 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", "511/782 [==================>...........] - ETA: 0s - loss: 0.4398 - 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.4308 - sparse_categorical_accuracy: 0.8896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4218 - sparse_categorical_accuracy: 0.8917" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "578/782 [=====================>........] - ETA: 0s - loss: 0.4160 - 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.4104 - 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", "623/782 [======================>.......] - ETA: 0s - loss: 0.4044 - sparse_categorical_accuracy: 0.8956" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3980 - sparse_categorical_accuracy: 0.8971" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [========================>.....] - ETA: 0s - loss: 0.3926 - sparse_categorical_accuracy: 0.8984" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=========================>....] - ETA: 0s - loss: 0.3875 - 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", "715/782 [==========================>...] - ETA: 0s - loss: 0.3830 - sparse_categorical_accuracy: 0.9005" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "737/782 [===========================>..] - ETA: 0s - loss: 0.3779 - 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", "760/782 [============================>.] - ETA: 0s - loss: 0.3736 - sparse_categorical_accuracy: 0.9026" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3705 - sparse_categorical_accuracy: 0.9032\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", "在前面的示例中,我们考虑的是具有单个输入(形状为 `(764,)` 的张量)和单个输出(形状为 `(10,)` 的预测张量)的模型。但具有多个输入或输出的模型呢?\n", "\n", "考虑以下模型,该模型具有形状为 `(32, 32, 3)` 的图像输入(即 `(height, width, channels)`)和形状为 `(None, 10)` 的时间序列输入(即 `(timesteps, features)`)。我们的模型将具有根据这些输入的组合计算出的两个输出:“得分”(形状为 `(1,)`)和在五个类上的概率分布(形状为 `(5,)`)。" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:26:08.306610Z", "iopub.status.busy": "2022-12-14T21:26:08.305995Z", "iopub.status.idle": "2022-12-14T21:26:08.369364Z", "shell.execute_reply": "2022-12-14T21:26:08.368744Z" }, "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:26:08.373103Z", "iopub.status.busy": "2022-12-14T21:26:08.372632Z", "iopub.status.idle": "2022-12-14T21:26:08.619574Z", "shell.execute_reply": "2022-12-14T21:26:08.618758Z" }, "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+QKR21nLngVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZEQlIqJ0EERUPZYtW4YPP/wQpaWlhmnZ2dkAgLp16xqmeXp6Yty4cXj++eerPUYiIiJSFvMFIgKwlsUCIjdy6tQptGjRwqJ5T548iebNmzs4IiIiInI2zBeICMBa/gyByI00b94ckZGRUKlUFc6jUqkQGRnJGz8REZGbYr5ARAB7FhC5neeffx6enp4Vvq5Wq/HCCy9UY0RERETkbJgvEBF/hkDkZjIyMhAeHo6ysjKzr6tUKly8eBFhYWHVHBkRERE5C+YLRG6PP0MgcjcNGjRA+/bt4eFhevl7eHjgqaee4o2fiIjIzTFfICIWC4jc0ODBg81OV6lU7GhMREREAJgvELk7/gyByA3duHEDwcHBKC4uNpquVquRmZmJoKAghSIjIiIiZ8F8gcit8WcIRO4oMDAQzz77rFHjIk9PT8TFxfHGT0RERACYLxC5OxYLiNzUoEGDjJoWiQgGDRqkYERERETkbJgvELkv/gyByE0VFBQgKCgIhYWFAABfX19kZ2dDq9UqHBkRERE5C+YLRG6LP0Mgcld+fn7o06cPvLy84OXlhT59+vDGT0REREaYLxC5LxYLiNzYX/7yFxQXF6O4uBh/+ctflA6HiIiInBDzBSL3pC4/4dKlS9i1a5cSsRBRNSstLYWfnx9EBHl5eUhLS1M6JCKqBu3bt8cDDzzgkGXzc4So5mG+QFTz9evXz2SaSc+CtLQ0JCYmVltQREREVL3WrFljNimwB5VK5ZDlEhERkeOYaWW41uTJgkpmJiKF6Yt59rw+f/zxR6hUKjz99NN2W2ZNkJCQAABYu3atwpEQ2Vd1/DHvyGIEEdlOpVLZfH0yX7CcI/I1Ikep7GGBCosFROQeOnTooHQIRERE5OSYLxC5HxYLiNychwf7nBIREVHlmC8QuR9e9URERERERERkhMUCIiIiIiIiIjLCYgERERERERERGan2YsHMmTOhUqmgUqlsHuPZHstQYtlkOWc8Djdu3MCCBQsQExODOnXqQKPR4MEHH8TAgQNx6NAhi5axevVqw3b5+vo6OGJS0q+//oqePXsiLy8P2dnZhuOuUqnQtm1bFBYWmryn/HwqlQqPPfaYAtHbj4hg586dGDVqFJo3bw4fHx/Ur18f0dHRWLFiRYWdog8ePIhu3bqhdu3aCAgIQOfOnbFz5063j2fy5MlYs2bNfa/XVTGHIEs4+3HYsmULmjdvDrXautZhzCHcB3MI0+1xl+0GnCw3kHLWrFkjZibbXWRkpISFhSm+DCWWTZYzdxzy8/OlWbNm0q1bt2qNZdiwYaJWq+Xjjz+WK1euyK1bt+Snn36Shx9+WDw9PWX9+vUWLys2NlZ8fHysjsGe16dS+9FV9O3bV/r27WvTew8cOCB169aVOXPmGE1PT08XAAJAkpOTK3z/7t27JSgoyKZ1O5vjx48LAOncubMcOnRIbt++LWfPnpUBAwYIABk/frzJe/bs2SMajUYSExMlIyNDsrKyZPjw4aJWq+Vf//qXW8dz5swZadKkibz55ps2rxOArFmz5r7iVnL5IswhyDLOlEOI3L1+e/ToIW3atJFatWqJp6enTcuxNYcQsd/1yRyicveTrzGHMOaO213duUEl52saf4ZALkdEUFZWhrKysmpf99ChQzFmzBiEhITAz88PHTp0wBdffIHS0lK89tpr1R7P/VByP1rL398f0dHRSodhkby8PPTo0QN//vOfMXr0aJPXfXx8EBQUhIULF2LVqlUKRFj91Go10tLS0KZNG/j6+iIiIgJLly5FUFAQ5s6di6KiIsO8ZWVlGDZsGGrXro3PPvsMoaGhqFu3LubPn4+mTZsiKSnJaH53i6dp06ZYv349pk2bhrS0tPtaL5E7UvLe99Zbb6F9+/bYv38/AgICqn399sQcwjGYQ5jnjtvtLLkBiwXkcgICAnD27Fls2bKlWtebmpqKhQsXmkyPjIyERqPB2bNnK3yE2RkptR9ruhkzZiAzMxNvv/222dd9fX2xcuVKeHh4IDk5GadOnarmCKtXy5YtUVxcjMDAQKPp3t7eCA8PR1FRkdFjhT/99BOOHj2Kvn37QqPRGKZ7enpiwIABuHjxIr755hu3jQe4+5nTt29fjB8/HiUlJTavm8gdKXnvW7x4MSZPnmz1zw+cEXMIx2AOYZ67bbcz5QYsFhDdp1u3buH27dto1aoVVCqV0uGQgkQEqampaNeuHRo0aFDhfHFxcXjzzTeRn5+PhIQEs7/Bq+lycnJw+vRptG3bFjqdzjD9hx9+AACzvzfUT9u2bZvbxqPXp08fXLp0CZs3b7b7uonIMe4tOBKVxxyicu663fdSIjewW7HgxIkT6N27N3Q6Hfz8/PCnP/0J33zzDTp37mxoNpGUlFTlcq5du4Zx48ahadOm8Pb2RmBgILp27Yr//Oc/la67W7duhnV36tTJpPFUSUkJ1qxZg2effRYhISHQaDRo3bo1Zs2aZbdHqDZs2GDUXOPXX39FYmIiAgICEBQUhMGDB+PGjRu4cOECevTogYCAAISGhmL48OHIz8+3Kd7o6GijdQ4aNAgAjPa7SqVCTk6ORdtQvilQeno6YmNjERAQUOG+Baw7brYc44r2sf6Dovz0CxcuIDExEbVr10ZQUBC6d++Os2fPmizPHuft2rVrAQBTpkypdPlarRYdOnTAjh07qtxOR7PXfrT2fHnvvfcM89/7SOB3331nmF63bl2T5d+6dQs7d+40zOOs38ocOnQIV69eRWRkZJXzvvPOO+jSpQsOHz6MV155xaLlW3Lt2HotZGVlISUlBY0bN4a3tzfq1auH+Ph4HDx40PIdYIG8vDzs3LkTPXv2REhICJYtW2b0+okTJwDAbFOysLAwALDrNwquFo/eo48+CgD417/+Zbd1K4k5BHMId80hKsMcgjlERdw1h3DX7VY0N7CiwUGFTp8+LbVr15awsDD597//Lfn5+fLLL79I586dpV69emabsJhrOnPlyhVp0qSJBAcHy6ZNmyQ3N1dOnjwp8fHxolKp5NNPPzVZhk6nk06dOsmOHTskPz9f0tPTpU2bNuLt7S3bt283zLtp0yYBIH//+9/l+vXrkpWVJbNnzxYPDw+ZMGGCRfFZqlevXgJA4uPjZd++fXLz5k1ZtmyZAJCuXbtKr1695MCBA5Kfny8LFiwQAPLqq68aLcOaeA8ePCharVYiIyPl5s2bIiJSWFgo7dq1k1WrVtm0DZGRkaLVauXJJ5+UXbt2yc2bNyvct9YcN1uOsbnjoN/Ht2/fNju9V69ehri///570Wg08vjjjxvNa8t5W15mZqYEBwdLUlKSyWvmln/48GHp0qWLNG7cWPEGhyL22Y8i1p0vIiJarVaeeuopk+VERUWZbU5T0fx6nTp1kjp16sju3bst3fQq2dLgcPny5Ybr1pz09HTR6XSG/87KypLw8HABICtWrDBMN9ekx9prx5pjmJGRIY0aNZLg4GDZvHmz4Vro2LGj+Pr6yq5du6zaDxWZOnWqoUnRM888I4cPHzaZ59lnnxUAsmfPHpPXTp8+LQDkf/7nf9w2Hr3c3FwBIB06dLB6PXCyBofMIYwxh3CPHCIsLKzSBoeOyCFE7Hv9M4eomC35GnMI89x1u/WqIzeorMGhXYoFCQkJAkDWrVtnNP33338XPz8/i2/0Q4YMEQAmN6fCwkJp0KCBaDQayczMNFoGAJOL+/DhwwJAIiMjDdM2bdokzzzzjEkcgwYNEi8vL8nNza0yPkvpT7TNmzcbTX/kkUcEgPz4449G05s0aSItWrQwmmZtvGlpaYbkoqysTF544QV54403bIpf5I99e+DAAaPp5vatNcfNlmNsy41+06ZNRtP79u0rACQrK8swzZbz9l7Z2dny6KOPSmJiopSUlJi8XtHyL1++LD4+Pi5RLLBkP4pYd76I2P9G37FjRwkMDLTbB7OIbcWCGTNmCACZN2+e2dfL3/BE7t7cvLy8RKvVyvHjxw3Tyu8Ha68da47hCy+8IABk5cqVRvNeuXJFfHx8JCoqysI9ULWioiI5fvy4vPTSS+Lp6Sl/+9vfjF6v7I/zU6dOCQC3judeKpVKmjVrZvU6nK1YwBzCGHOIu2p6DlFVscAROYRI9RYL3DmHsCVfYw5hnrtu970cnRs4fDSE7777DsDd35Lcq169emjZsqXFy1m/fj0AoFu3bkbTfXx8EBsbi9u3b5s8VuHr64t27doZTWvdujUaNGiAQ4cO4cqVKwCA7t27m31ELTIyEsXFxTh69KjFcVqq/G9c9b8/Kj89LCwMGRkZRtOsjTchIQFTpkzBV199hejoaFy7dg1Tp069r/i1Wq3hcRY9c/vWmuNmyzG2xeOPP2703+Hh4QBgtJ/v57y9desW4uLi8PDDD2PlypXw9PQ0maei5Tdo0ADNmze3cEuUZcl+1LP0fHGE7du34/r163jyyScdtg5L6B/F9PLysvg9TzzxBGbOnIlbt24hISEBt2/fNjufrdeOJcdww4YN8PDwQPfu3Y3mDQkJwSOPPIL9+/fj0qVLFm9TZby9vdGyZUvMnz8fPXv2xNtvv42tW7caXq9duzaAu9dYefpp+nncMZ57qdXqCs8XV8IcwjzmEDU3h7AEcwjmEJZwtxxCz922W8nc4L6LBUVFRcjPz4evry/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/Lhfx44d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QEBAQIXz6nt5lB/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+/rrr7F79258+OGHWLNmjULREhFRY8POAiIiMiIiePnll/XTseXl5eFvf/sbAKCqqgrr1q1Dly5dsGPHDnz22Wc4fPgwtFqtkiETkQl1TbVYVVWFhIQE/ZNAf/7zn7F7924lQyYiokZCJTW7l4mIqNmbN28e3nvvPYN3mJ2dnfH3v/8dS5cuRU5ODqZOnYrFixfD09NTwUiJyBLHjx9HQkICjh49igkTJuDxxx/Hu+++q589wcHBAa6ursjIyMBTTz2lcLRERKSg7ewsICIiA8nJyXj++eeNHlV2cnJCx44d0alTJ3z88ccICQlRKEIiehQigk2bNmHu3Lm4efMmysrKDNY7OjqiXbt2OHHiBHx8fBSKkoiIFMbOAiIi+j9HjhzBwIEDUVlZWWuZQ4cOoX///g0XFBHZxJ/+9Cds2bLFZHt3cnLCk08+ifT0dLi7uysQHRERKYydBUREdN+///1v9OjRA8XFxfpHkmtq0aIFgoOD8eOPP8LR0bGBIySi+nLy5EmEh4cbPUH0ICcnJ4wYMQJffPEFHBw4zBURUTOznZmfiIhQUlKCYcOGobS0tNaOAgC4d+8efv75Z6xdu7YBoyOi+iQi+POf/1zn9KaVlZX46quvMG/evAaKjIiIGhM+WUBE1MxVVlZiyJAhSE9Pf+jrBzoqlQpeXl74+eef0aZNmwaIkIjq09atWzFhwgSLtvn000/x8ssv2ygiIiJqhPhkARFRc/faa68hLS3NZEdBixYt4OTkBOB+J0H79u0xduxYzJ07F7dv327oUImoHnh6emLatGno1asXXF1dAfzfLAgqlcrkNq+++ioOHTrUkGESEZHC+GQBEVEz9re//Q2JiYkA7ncMqFQqVFVVwcHBAUFBQejTpw/Cw8Px9NNPIywsDF5eXgpHTET1qbq6GhcuXMCJEydw8uRJZGZm4sSJEygtLYVKpYKLiwvu3r2L6upqeHp64ocffuBMKEREzQMHOCTlxcXFYceOHUqHQUTU5CUnJ2PcuHE22XdKSgri4+Ntsm8iouZs7Nix2L59u9JhUPOznUNZU6PQp08fvPHGG0qHQXYqIyMDH374IZKTk5UOxW7cu3cPaWlp8Pf3R8eOHfWvGtRl5cqVAMD2aoca6oc822HTVVxcjH//+99wdHREt27d6mWf8fHxmDFjBiIiIuplf2Qavyftl+57l0gJ7CygRqF9+/Y2+98uah4+/PBDfoYs9Pzzz1u8je5/Nniu7U9DdRbws0GWiI+PR0REBD83DYDfk/aJTxSQkjjAIREREREREREZYGcBERERERERERlgZwERERERERERGWBnAREREREREREZYGcBERE1mF9//RWjRo1CSUkJrl27BpVKpf8LCwtDRUWF0TY1y6lUKvTo0UOB6OtfZWUlVq5cifDwcHh6eqJdu3YYPnw4UlNT8eDMxrNnz262o5ivWLFCf93bt2+vdDhEzRJztyHmbmou2FlARPSAW7du4Xe/+x1iYmKUDqXJOXXqFHr06IGhQ4fCy8sLbdq0gYggMzNTv37GjBlG2+nKZWRkwNvbGyKCY8eONXT49e727dsYOHAgPv/8c6xcuRK//fYbjh07Bg8PD4waNQo//vijvuwrr7yCOXPmYP78+QpGrIzExESICLRardKhUCPG3G07zN2GmLupOWFnARHBw8MD/fr1a7b1P0hEUF1djerqaqVDqVNjOm91KSkpwciRI/Hcc89h2rRpRutdXFzg7e2NtWvXYtu2bQpE2PDeeustZGdn45tvvsGzzz4LNzc3dOjQAZ9//jlcXFwMygYHB2Pnzp1YsmQJUlJSFIqYGhulc4DS9T+Iuds2mLuNMXdTc8LOAiKiB3h6euLixYvYu3ev0qE0KcuXL0d+fj4WLFhgcr2rqyu2bNkCBwcHTJkyBRcuXGjgCBtWQUEB1q1bhwkTJsDHx8dgnVqtRkVFBbp162awXKvVYuzYsXjzzTdRVVXVkOESNXrM3bbB3G2IuZuaG3YWEBGRTYkINmzYgN69e8Pf37/WctHR0Zg3bx5KS0sRFxdn8h3YpuKrr77CvXv3LP7fxTFjxuDKlSvYs2ePjSIjIrqPudsYczc1N+wsILt0584dLFiwACEhIXB3d0fr1q0xcuRIfRJ/0PXr1zFz5kwEBwfDxcUF7du3x+DBg/H555+jvLzcZDlnZ2e0atUKw4cPx6FDh/Rldu3aZTBQz/nz5zFu3Dh4e3vrl127dg0AUFhYiISEBHTq1AnOzs5o27YtYmNjcerUKauO2Zz4Fi9erI/jwS+y/fv365e3adNGv1w3cNjt27eRlpamL+Po6GiwXjewWGZmJgYNGgRPT0+4u7tjwIABSEtLs1n9Da3m9dXd8NRc/ssvvyA+Ph4tW7aEt7c3YmJicPHiRaPjai7nrS5ZWVkoKCgw653zd955B0OHDkV2djZef/11s/ZvTdut6xrq1Hc71jlx4gQAoFWrVnjzzTcRGBgIZ2dndOzYEQkJCbhx44bJ7bp37w4A+Prrrx+p/sbE3BxtSlVVFZKTkzFkyBD4+vrCzc0NoaGhSEpKMnoc3dzvDUu+Xyw9PuZu22Dutg3mbmPM3dTsCJHCxo4dK2PHjrVom8mTJ4tGo5FvvvlGysrKJD8/XxITEwWAHDp0SF8uLy9PgoKCxNfXV1JTU6WkpETy8/Nl0aJFAkBWrlxpUM7Hx0dSU1OluLhYzp8/L7GxsaJSqWT9+vUG9Y8ePVoASFRUlBw6dEhu374tR48elRYtWkhhYaHk5uZKx44dxcfHR/bs2SOlpaVy5swZiYqKEldXV0lPT7foeC2NT61WS9++fY32Ex4eLt7e3kbLayuvo9VqRa1WS0REhKSnp8utW7ckMzNTnnrqKXF2dpbDhw/btP66JCcnS32mM931LS8vN7l89OjR+vNw4MABcXNzk549exrtR+nzNmDAAGndurVkZGSYe+h1sqa9btq0SQDI0qVLTa7PzMwUjUaj/3dhYaEEBgYKANm8ebN+eUZGhtF5sLbtmnMN67sdm4rD19dXJkyYIBcvXpSbN2/K3//+d1Gr1dK5c2cpKioy2q64uFgASGRkpMV1ApDk5GSrY66LNe3Q3Bwtcr89BQQEGGyfmpqq/2zduHFDCgsL5aOPPhIHBwdJTEw0KGvu94a55Sw5Pubu2tXn55K5u3bWtE/mbmNK5G5rvneJ6kkKOwtIcdYkwaCgIHnmmWeMlnfu3NngZm7SpEm13ogMGzZMfyOqK7dt2zaDMhUVFeLv7y9ubm6Sn5+vX677sti7d6/J+F566SUBIFu2bDFYnpeXJy4uLhIeHm72sVoTny1uOAHIyZMnDZZnZ2cLANFqtWbtr6l0FqSmphosHzt2rACQwsJCg+VKn7eoqChp1arVI90Y1WRNe12+fLkAkFWrVplcX/OGU+T+zaWTk5Oo1Wo5d+6cflnN82Bt2zXnGtZ3O35QdHS0AJCgoCCprKw0WLd48WIBIPPnzze5rUqlkscff9ziOhtjZ4G5OVqk9s6C/v37G237wgsviJOTkxQXF+uXmfu9YW45czB3160hOwuac+62pn0ydxtTInezs4AUlMLXEMguDRs2DOnp6Xj11Vdx9OhR/aOh58+fR//+/fXldu7cCQAYPny40T727dunn+pHV27EiBEGZVxcXDBo0CCUl5ebfHSsV69eJuPbtWsXHBwcjKZw8vX1RdeuXXH8+HFcuXLFzKO1Pr76pFar9Y/R6YSGhsLf3x9ZWVnIy8uzaf2NSc+ePQ3+HRgYCADIzc01KqvkeTt8+DBu3LiBiIgIm9VhDt0jwU5OTmZv06dPH6xYsQK3b99GXFxcrY+jW9s2zLmG9d2OH6RWqwEAgwcPNnoEeeTIkQBqf1zV0dGxzsfz7YW5Obo2MTExBo8s62i1WlRWVhpMYWbu94a55Sw5PubuxoG52zLM3caYu6m5YWcB2aVVq1Zh48aNuHTpEgYNGgQvLy8MGzZM/+UD3H/vtLi4GK6urvD09Kx1X3WV0412m5+fb7RO96Vhan/V1dXQaDQG79qpVCr9+24//fSTWcf6KPHVp5YtW5pc3q5dOwDAb7/9ZtP6GxONRmPwb2dnZwAwOWUXz9v90bIBoLKy0qLtEhISEB8fjzNnzpicsutR2kZd17C+23FNnTp1AgB4e3sbrdN9NgoLC01uW1VVBTc3N6vqbUzMzdEPU1xcjAULFiA0NBStWrXSX5+33noLAFBWVqYva873hiXlHvX4mLsbHnO3ZZi7jTF3U3PDzgKySyqVCi+++CK+/fZbFBUVYdeuXRARxMbG4oMPPgBwv3dao9GgoqICpaWlte6rrnIFBQUA7vdIm8PFxQUtW7aEo6MjKisrISIm/wYMGGD2/iyNz8HBAXfv3jUqW1RUZLIOlUpVZxzXr1+HiBgt190w6b4kbVW/veJ5A/z8/ADc/2FnqQ0bNqBLly747LPPsGnTJoN19d12a+67PttxTbrB0Ez976Tus1FzWi5i6YI8AAAVJElEQVTg/pznIqI/p/bM3Bz9MCNHjsSiRYvwyiuv4MKFC6iuroaIYOXKlQBg0PbM+d6wpNyjHh9zd+PG88bcbQpzNzU37Cwgu9SyZUvk5OQAuP943JAhQ/Qj5j44Lc2YMWMAwOS8y2FhYXjjjTcMytWc0ubOnTs4ePAg3NzcEB0dbXZ8sbGxqKqqMhg1WWfZsmXo0KGDRXPtWhqfn58frl69alA2Pz8fly9fNrl/d3d3gxudLl26YN26dQZlKioqkJmZabDs9OnTyM3NhVarNfgCtEX99ornDfo5p6157NPDwwNffPEF1Go1Vq9ebbS+vtvug+q7HT/o97//PQICArB//36jacZSU1MBAH/4wx+MttN9PmrO422vzM3Rpty7dw9paWnw9fVFQkIC2rZtq/8RZupRX3O/N8wtZ8nxMXfbH5435m5TmLup2WmQoRGIHsKagVs0Go1ERUVJVlaWVFRUSEFBgSxcuFAAyOLFi/XldKPt+vn5ye7du6WkpET+85//yNSpU8XHx0d+/fVXg3K6UXlLSkoMRuVdt26dQf21DaKkU1BQIMHBwfLYY4/J3r17paioSK5fvy5r1qwRd3d3iwdzsjS+adOmCQD5+OOPpbS0VH7++WcZN26cBAQEmBxsadiwYaLRaOTy5cuSnp4ujo6OcvbsWf16rVYrGo1GBg0aZNbI0PVdf10aeoDDmstnzZplcjAspc9bY5kNobq6Wtq1a1frgF6mBsmqafPmzQKgzhG1rW27pq6hpe14woQJAkAuXbpU5zkREdm3b584OjrK6NGj5cKFC3Lz5k3ZuHGjqNVq6d27t5SVlRlts3XrVgEgO3fuNKuOB6ERDnBobo4WMT3A4cCBAwWALF++XAoLC6WsrEy+++476dChgwCQAwcO6Mua+71hbjlLjo+5u3b1+blk7q6dNe2Tudu0hs7dHOCQFMTZEEh51iTBU6dOyZQpU+SJJ54Qd3d3ad26tfTp00fWr18v1dXVBmWvXbsmM2bMkKCgIHFychI/Pz8ZP368XLhw4aHlNBqNREdHy8GDB/VlMjIyBIDRnynXr1+XmTNnymOPPSZOTk7Stm1bGTp0qMHNqyXMiU+nqKhIJk+eLH5+fuLm5ib9+vWTzMxMCQ8P18c8a9YsffmcnByJjIwUtVotgYGBRiMf627Sz549K9HR0eLp6Slubm4SFRUlR44csXn9damvzoKdO3caXdsJEyaYvO5vv/22iIjR8hEjRuj3p/R5i4yMbBSzIYiIzJ07VxwdHeXq1av6ZYWFhUbn72GjVE+dOtXkjbe1bdeca2hJOx44cKB4eHhIVVWV2eclPT1doqOjRaPRiLOzs4SEhMjChQtN3myKiMTFxUlAQIDcvXvX7Dp0GmNngUjdOfqvf/1rrdeusLBQpkyZIoGBgeLk5CQ+Pj4yadIkmT17ttFnytzvDUu+X6w5PuZuQ/XxuWTurpu17ZO527SGzN3sLCAFpahETLyQRdSA4uLiAADbt29XOBKqTffu3XHt2jWrRw+2tZSUFMTHx5t8v1RJjf28WcPa9lpcXIyuXbsiJiYGa9assUVoiioqKoK/vz8mTJiA9evX26SOrKwshIWFYevWrRg/frzF26tUKiQnJ2PcuHE2iK7xtsPmzB5ykK0/l9awh/NmKWvbJ3P3o3vU3M37ZFLQdo5ZQERENqfRaJCamoodO3Zg1apVSodTr0QECQkJ8PLywqJFi2xSx6VLlxAbG4s5c+ZYdbNJRGQN5u5Hw9xN9o6dBURE1CDCwsJw7Ngx7Nu3DyUlJUqHU28KCgpw6dIlHDx40KrRu82xdu1aLFmyBEuWLLHJ/omIasPcbT3mbrJ37CwgUlDN+X9N/S1cuFCx+FasWAGVSoWsrCxcvXoVKpUK8+bNUywee8HzVrtOnTph9+7d8PLyUjqUeuPr64sjR46ga9euNqtj2bJl/F+pRoS5u2nieasdc7d1mLvJ3jkqHQBRc9bY3+1NTExEYmKi0mHYHZ43oqaNubtp4nkjIjLEJwuIiIiIiIiIyAA7C4iIiIiIiIjIADsLiIiIiIiIiMgAOwuIiIiIiIiIyAAHOKRG4cqVK0hJSVE6DLJTGRkZAMDPUAO4cuUKAJ5rqh0/G2QpXQ4n2+H3pP26cuUK2rdvr3QY1EyppLEP6UtNXlxcHHbs2KF0GERETV5ycjLGjRtnk32npKQgPj7eJvsmImrOxo4di+3btysdBjU/2/lkATUKTIL0KHQ/Utj3aXtxcXEAwPZqh1QqVYPUw3ZIllCpVDbtxKL7+D1pv3Tfu0RK4JgFRERERERERGSAnQVEREREREREZICdBURERERERERkgJ0FRERERERERGSAnQVEREREREREZICdBURW8PDwgEqlMvhzcHBAq1atoNVq8dprr+H48eNKh0nU6Pz6668YNWoUSkpKcO3aNYM2FBYWhoqKCqNtapZTqVTo0aOHAtHbxt69e9G5c2c4OtY+QdHs2bORnJzcgFE1bczhRJZh7v4//fr1Mzou3d+MGTMMyjJ3k71jZwGRFW7duoWTJ08CAEaPHg0RQWVlJXJycvDuu+8iJycHPXr0wJ/+9CeUlZUpHC1R43Dq1Cn06NEDQ4cOhZeXF9q0aQMRQWZmpn59zRstAPpyGRkZ8Pb2hojg2LFjDR1+vbt48SJGjRqFOXPmoKCg4KFlX3nlFcyZMwfz589voOiaNuZwIvMxd1uPuZvsHTsLiOpJixYt4OPjg9GjR+O7777DX/7yF3z++ed4/vnnOa9xM+Th4YF+/fo12/prKikpwciRI/Hcc89h2rRpRutdXFzg7e2NtWvXYtu2bQpE2PDmz5+PZ555BsePH4enp+dDywYHB2Pnzp1YsmQJUlJSGijC5oU5nADlc6fS9dfE3G1aZmYmRMTo78MPPzQox9xN9o6dBUQ28v7776N379746quv8I9//EPpcIgUtXz5cuTn52PBggUm17u6umLLli1wcHDAlClTcOHChQaOsOF9+umnmD179kNfP3iQVqvF2LFj8eabb6KqqsrG0RFzOBFzd31g7iZ7xs4CIhtRqVT6XvjVq1crHA2RckQEGzZsQO/eveHv719ruejoaMybNw+lpaWIi4sz+Q5sU+Lm5mbxNmPGjMGVK1ewZ88eG0RED2IOp+aOubv+MHeTvWJnAZEN6R4lPHr0KCorK/XLCwsLkZCQgE6dOsHZ2Rlt27ZFbGwsTp06pS+za9cug0FzfvnlF8THx6Nly5bw9vZGTEwMLl68aFDfnTt3sGDBAoSEhMDd3R2tW7fGyJEj8dVXX+HevXsGZc2Joam7fv06Zs6cieDgYDg7O6NVq1YYPnw4Dh06pC+zePFi/TV48NHQ/fv365e3adNGv3zFihVQqVS4ffs20tLS9GV0/3usW69SqdC+fXtkZmZi0KBB8PT0hLu7OwYMGIC0tDSb1a+ErKwsFBQUQKvV1ln2nXfewdChQ5GdnY3XX3/drP2bcx2taU9A42sn3bt3BwB8/fXXitTf3DCHN07M3Q2Dubt2mzZtQvfu3aFWq6HRaBAZGYmtW7fWWp65m+yWECls7NixMnbsWKXDsNjJkycFgIwePbrWMuXl5QJAAEhubq6IiOTm5krHjh3Fx8dH9uzZI6WlpXLmzBmJiooSV1dXSU9PN9jH6NGj9fWkp6fLrVu35MCBA+Lm5iY9e/Y0KDt58mTRaDTyzTffSFlZmeTn50tiYqIAkEOHDunLWRpDY5ecnCyWprO8vDwJCgoSHx8fSU1NleLiYjl//rzExsaKSqWS9evXG5RXq9XSt29fo/2Eh4eLt7e30fLayutotVpRq9USERGhv66ZmZny1FNPibOzsxw+fNim9Q8YMEBat24tGRkZtZYxxZr2umnTJgEgS5cuNbk+MzNTNBqN/t+FhYUSGBgoAGTz5s365RkZGUbHaul1tKQ9NWQ7CQgIkBYtWtRZrri4WABIZGSkxXUAkOTkZGvCM4s17VBJzOGNg6WfS+Zu63K3Ne2Tudu0vn37yosvvijHjx+XW7duSU5Ojrz44osCQF5//XWT2zxK7rbX+2RqElLs51udmix7TYLm3GiWlZUZ3Wi+9NJLAkC2bNliUDYvL09cXFwkPDzcYLnuCzI1NdVg+dixYwWAFBYW6pcFBQXJM888YxRH586dDW40LY2hsbPmJmjSpEkCQLZt22awvKKiQvz9/cXNzU3y8/P1y21xwwlATp48abA8OztbAIhWqzVrf9bWHxUVJa1atbL4psma9rp8+XIBIKtWrTK5vuYNp8j9m0snJydRq9Vy7tw5/bKax2rpdbSkPTVkOzG3s0BERKVSyeOPP25xHewsMMQc3jhY+rlk7rYud1vTPpm7LdOrVy8BIEePHjW53trcba/3ydQkpPA1BCIbysvLAwA4OTnpHzfctWsXHBwcEBMTY1DW19cXXbt2xfHjx3HlyhWjffXs2dPg34GBgQCA3Nxc/bJhw4YhPT0dr776Ko4ePap/bPX8+fPo37+/vpy1MTQlO3fuBACMGDHCYLmLiwsGDRqE8vJymz8uqFar9Y8m6oSGhsLf3x9ZWVn6z48tHD58GDdu3EBERITN6tDRvb/q5ORk9jZ9+vTBihUrcPv2bcTFxaG8vNxkOWuvozntqbG2E0dHx1rPB9Uv5vDGh7mbuftBjSl3jx07FgCQmppqcj1zN9kjdhYQ2dCRI0cAABEREXBycsKdO3dQXFyM6upqaDQag/fwVCoVTpw4AQD46aefjPal0WgM/u3s7AwAqK6u1i9btWoVNm7ciEuXLmHQoEHw8vLCsGHD9F/KAB4phqZCdw5cXV1NTlnn4+MDAMjPz7dpHC1btjS5vF27dgCA3377zab1NxRXV1cAMHjn2xwJCQmIj4/HmTNnTE7Z9SjXsa721JjbSVVVlVWDI5LlmMMbF+buhsXcbRk/Pz8AtV9/5m6yR+wsILKR6upqrFq1CgDw5z//GcD9HvOWLVvC0dERlZWVJufoFREMGDDAqjpVKhVefPFFfPvttygqKsKuXbsgIoiNjcUHH3zQIDHYAxcXF2g0GlRUVKC0tNRofUFBAYD7/wuh4+DggLt37xqVLSoqMlmHSqWqM47r16+bnL9dd6Ohu/G0Vf0NRXcDVVxcbPG2GzZsQJcuXfDZZ59h06ZNBuusuY7maqztpKSkBCKiP6dkO8zhjQ9zd8Ni7raM7umGB6+/DnM32St2FhDZyJw5c/DDDz9gzJgxiIuL0y+PjY1FVVWVwajJOsuWLUOHDh2snoe3ZcuWyMnJAXD/scEhQ4boRxJ+cLoeW8ZgL8aMGQMARtMY3blzBwcPHoSbmxuio6P1y/38/HD16lWDsvn5+bh8+bLJ/bu7uxvcIHbp0gXr1q0zKFNRUYHMzEyDZadPn0Zubi60Wq3BTYUt6m8o3bp1AwCrHvv08PDAF198AbVabXL6OkuvoyUaYzvRfQZ055Rshzm8cWLubjjM3cY2bNiA8PBwo+UigpSUFADAyJEjjdYzd5PdstFgCERms9eBW2oOjnXv3j0pKCiQXbt2ycCBAwWAvPzyy1JWVmawXUFBgQQHB8tjjz0me/fulaKiIrl+/bqsWbNG3N3djQZ60g3qU15ebrB81qxZRoMsaTQaiYqKkqysLKmoqJCCggJZuHChAJDFixdbHUNjVx+zIZSUlBiMxLxu3TqD8tOmTRMA8vHHH0tpaan8/PPPMm7cOAkICDA5SNWwYcNEo9HI5cuXJT09XRwdHeXs2bP69VqtVjQajQwaNMisEbXru/6GnA2hurpa2rVrV+ugXaYGyapp8+bNAqDOEbXruo6WtCdL28mECRMEgFy6dKnOc1KTuQMcbt26VQDIzp07La4DHODQAHN442Dp55K5u+FmQ2DuNrZ+/XoBIK+99pr89NNPUl5eLjk5Ofp91DYbwqPkbnu9T6YmgbMhkPLsMQmq1Wr9CNm6P5VKJRqNRkJDQ2Xq1Kly/PjxWre/fv26zJw5Ux577DFxcnKStm3bytChQ+XAgQP6MhkZGUZ1vP322yIiRstHjBghIiKnTp2SKVOmyBNPPCHu7u7SunVr6dOnj6xfv16qq6stjsFeWPsj5dq1azJjxgwJCgoSJycn0Wg0Eh0dLQcPHjQqW1RUJJMnTxY/Pz9xc3OTfv36SWZmpoSHh+uvw6xZs/Tlc3JyJDIyUtRqtQQGBhqNJq3VaiUgIEDOnj0r0dHR4unpKW5ubhIVFSVHjhyxef2RkZENNhuCiMjcuXPF0dFRrl69ql9WWFho9Fl+2CjVU6dONXlzbc51tKY9iVjWTgYOHCgeHh5SVVVl1jlJTU01qlv3V3PaMJ24uDgJCAiQu3fvmlXHg9hZ8H+YwxsPaz6XzN0NMxuCCHN3TRUVFbJ9+3YZM2aMBAcHi4uLi2g0Gunfv79s3bq11u0eJXfb430yNRkpKhETL10RNSDd453bt29XOBKyVykpKYiPjzf5Dmlj1b17d1y7ds3uRiy3tr0WFxeja9euiImJwZo1a2wRmqKKiorg7++PCRMmYP369TapIysrC2FhYdi6dSvGjx9v8fYqlQrJyckYN26cDaKzz3ZIyrP157K+2WvutrZ9Mnc/ukfN3bxPJgVt55gFRERkcxqNBqmpqdixY4d+0LimQkSQkJAALy8vLFq0yCZ1XLp0CbGxsZgzZ45VN5tERNZg7n40zN1k79hZQEREDSIsLAzHjh3Dvn37UFJSonQ49aagoACXLl3CwYMHrRq92xxr167FkiVLsGTJEpvsn4ioNszd1mPuJnvHzgIioga0YsUKqFQqZGVl4erVq1CpVJg3b57SYTWYTp06Yffu3fDy8lI6lHrj6+uLI0eOoGvXrjarY9myZfxfKSIFMXczd1uDuZvsnaPSARARNSeJiYlITExUOgwiIrIAczcRNUd8soCIiIiIiIiIDLCzgIiIiIiIiIgMsLOAiIiIiIiIiAyws4CIiIiIiIiIDHCAQ2oUjh49iri4OKXDIDt15coVAOBnqAEcPXoUAM811Y6fDbLUypUrsX37dqXDaNL4PWm/jh49ij59+igdBjVTKhERpYOg5u2DDz5ARkaG0mEQETV5M2fO/P/t3DERADEIRUFsYQshGImQ2Lo2CMhckV0Bf6hfQWTmle29d3T3lW2Al2VmVNXfZ/CeJRYAAAAAp+VnAQAAADCIBQAAAMAgFgAAAACDWAAAAAAMH6gnyBDzkfqAAAAAAElFTkSuQmCC\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:26:08.623482Z", "iopub.status.busy": "2022-12-14T21:26:08.622925Z", "iopub.status.idle": "2022-12-14T21:26:08.637657Z", "shell.execute_reply": "2022-12-14T21:26:08.637116Z" }, "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:26:08.641143Z", "iopub.status.busy": "2022-12-14T21:26:08.640640Z", "iopub.status.idle": "2022-12-14T21:26:08.656270Z", "shell.execute_reply": "2022-12-14T21:26:08.655719Z" }, "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": [ "由于我们已为输出层命名,我们还可以通过字典指定每个输出的损失和指标:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:26:08.659630Z", "iopub.status.busy": "2022-12-14T21:26:08.659215Z", "iopub.status.idle": "2022-12-14T21:26:08.674424Z", "shell.execute_reply": "2022-12-14T21:26:08.673872Z" }, "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": [ "如果您的输出超过 2 个,我们建议使用显式名称和字典。\n", "\n", "可以使用 `loss_weights` 参数为特定于输出的不同损失赋予不同的权重(例如,在我们的示例中,我们可能希望通过为类损失赋予 2 倍重要性来向“得分”损失赋予特权):" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:26:08.677870Z", "iopub.status.busy": "2022-12-14T21:26:08.677329Z", "iopub.status.idle": "2022-12-14T21:26:08.692271Z", "shell.execute_reply": "2022-12-14T21:26:08.691695Z" }, "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:26:08.695788Z", "iopub.status.busy": "2022-12-14T21:26:08.695255Z", "iopub.status.idle": "2022-12-14T21:26:08.710284Z", "shell.execute_reply": "2022-12-14T21:26:08.709697Z" }, "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 数组**。" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:26:08.713937Z", "iopub.status.busy": "2022-12-14T21:26:08.713395Z", "iopub.status.idle": "2022-12-14T21:26:11.522977Z", "shell.execute_reply": "2022-12-14T21:26:11.522309Z" }, "id": "0539da84328b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/4 [======>.......................] - ETA: 6s - loss: 24.8114 - score_output_loss: 1.7848 - class_output_loss: 23.0266" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 24.9612 - score_output_loss: 1.4938 - class_output_loss: 23.4674\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/4 [======>.......................] - ETA: 1s - loss: 24.8303 - score_output_loss: 1.0725 - class_output_loss: 23.7579" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 24.4466 - score_output_loss: 0.8520 - class_output_loss: 23.5946\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` 应返回一个字典元组。" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:26:11.526718Z", "iopub.status.busy": "2022-12-14T21:26:11.526128Z", "iopub.status.idle": "2022-12-14T21:26:11.992121Z", "shell.execute_reply": "2022-12-14T21:26:11.991406Z" }, "id": "4df41a12ed2c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/2 [==============>...............] - ETA: 0s - loss: 25.0784 - score_output_loss: 0.6628 - class_output_loss: 24.4156" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 24.1749 - score_output_loss: 0.6283 - class_output_loss: 23.5465\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:26:11.995642Z", "iopub.status.busy": "2022-12-14T21:26:11.995002Z", "iopub.status.idle": "2022-12-14T21:26:20.974125Z", "shell.execute_reply": "2022-12-14T21:26:20.973477Z" }, "id": "15036ddbee42" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:09 - loss: 2.4003 - 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", " 26/625 [>.............................] - ETA: 1s - loss: 1.5643 - sparse_categorical_accuracy: 0.5751 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.1758 - sparse_categorical_accuracy: 0.6936" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 77/625 [==>...........................] - ETA: 1s - loss: 0.9790 - sparse_categorical_accuracy: 0.7429" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "102/625 [===>..........................] - ETA: 1s - loss: 0.8488 - sparse_categorical_accuracy: 0.7756" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "128/625 [=====>........................] - ETA: 0s - loss: 0.7605 - sparse_categorical_accuracy: 0.7977" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "153/625 [======>.......................] - ETA: 0s - loss: 0.7015 - sparse_categorical_accuracy: 0.8123" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======>......................] - ETA: 0s - loss: 0.6520 - sparse_categorical_accuracy: 0.8238" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [========>.....................] - ETA: 0s - loss: 0.6189 - sparse_categorical_accuracy: 0.8313" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=========>....................] - ETA: 0s - loss: 0.5895 - sparse_categorical_accuracy: 0.8389" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========>..................] - ETA: 0s - loss: 0.5653 - sparse_categorical_accuracy: 0.8458" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [============>.................] - ETA: 0s - loss: 0.5397 - sparse_categorical_accuracy: 0.8525" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=============>................] - ETA: 0s - loss: 0.5203 - sparse_categorical_accuracy: 0.8581" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==============>...............] - ETA: 0s - loss: 0.5014 - 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", "356/625 [================>.............] - ETA: 0s - loss: 0.4846 - 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", "381/625 [=================>............] - ETA: 0s - loss: 0.4705 - sparse_categorical_accuracy: 0.8703" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==================>...........] - ETA: 0s - loss: 0.4584 - sparse_categorical_accuracy: 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\b\b\b\b\b\b\b\b\b\b\r", "433/625 [===================>..........] - ETA: 0s - loss: 0.4450 - sparse_categorical_accuracy: 0.8769" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=====================>........] - ETA: 0s - loss: 0.4357 - sparse_categorical_accuracy: 0.8792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [======================>.......] - ETA: 0s - loss: 0.4254 - 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", "510/625 [=======================>......] - ETA: 0s - loss: 0.4149 - sparse_categorical_accuracy: 0.8846" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "536/625 [========================>.....] - ETA: 0s - loss: 0.4048 - sparse_categorical_accuracy: 0.8870" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=========================>....] - ETA: 0s - loss: 0.3983 - sparse_categorical_accuracy: 0.8885" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "588/625 [===========================>..] - ETA: 0s - loss: 0.3905 - 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", "614/625 [============================>.] - ETA: 0s - loss: 0.3827 - 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.3797 - sparse_categorical_accuracy: 0.8938 - val_loss: 0.2467 - val_sparse_categorical_accuracy: 0.9229\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.2098 - 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", " 26/625 [>.............................] - ETA: 1s - loss: 0.1932 - 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", " 52/625 [=>............................] - ETA: 1s - loss: 0.1988 - 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", " 78/625 [==>...........................] - ETA: 1s - loss: 0.1968 - 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", "103/625 [===>..........................] - ETA: 1s - loss: 0.2002 - 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", "129/625 [=====>........................] - ETA: 0s - loss: 0.2010 - 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", "155/625 [======>.......................] - ETA: 0s - loss: 0.2036 - 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", "180/625 [=======>......................] - ETA: 0s - loss: 0.1995 - 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", "205/625 [========>.....................] - ETA: 0s - loss: 0.1967 - 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", "230/625 [==========>...................] - ETA: 0s - loss: 0.1950 - 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", "255/625 [===========>..................] - ETA: 0s - loss: 0.1929 - 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", "280/625 [============>.................] - ETA: 0s - loss: 0.1915 - 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", "305/625 [=============>................] - ETA: 0s - loss: 0.1894 - 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", "330/625 [==============>...............] - ETA: 0s - loss: 0.1867 - 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", "356/625 [================>.............] - ETA: 0s - loss: 0.1861 - 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", "381/625 [=================>............] - ETA: 0s - loss: 0.1855 - 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", "407/625 [==================>...........] - ETA: 0s - loss: 0.1821 - 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", "432/625 [===================>..........] - ETA: 0s - loss: 0.1807 - 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", "458/625 [====================>.........] - ETA: 0s - loss: 0.1804 - 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", "483/625 [======================>.......] - ETA: 0s - loss: 0.1797 - sparse_categorical_accuracy: 0.9471" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======================>......] - ETA: 0s - loss: 0.1780 - 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", "535/625 [========================>.....] - ETA: 0s - loss: 0.1759 - sparse_categorical_accuracy: 0.9482" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=========================>....] - ETA: 0s - loss: 0.1749 - sparse_categorical_accuracy: 0.9484" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========================>..] - ETA: 0s - loss: 0.1738 - 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", "611/625 [============================>.] - ETA: 0s - loss: 0.1724 - 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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1722 - sparse_categorical_accuracy: 0.9494 - val_loss: 0.1697 - val_sparse_categorical_accuracy: 0.9493\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1174 - 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", " 26/625 [>.............................] - ETA: 1s - loss: 0.1326 - 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", " 52/625 [=>............................] - ETA: 1s - loss: 0.1285 - 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", " 78/625 [==>...........................] - ETA: 1s - loss: 0.1347 - sparse_categorical_accuracy: 0.9593" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "104/625 [===>..........................] - ETA: 1s - loss: 0.1283 - sparse_categorical_accuracy: 0.9618" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "129/625 [=====>........................] - ETA: 0s - loss: 0.1257 - 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", "154/625 [======>.......................] - ETA: 0s - loss: 0.1246 - 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", "179/625 [=======>......................] - ETA: 0s - loss: 0.1238 - 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", "204/625 [========>.....................] - ETA: 0s - loss: 0.1235 - 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", "229/625 [=========>....................] - ETA: 0s - loss: 0.1249 - 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", "254/625 [===========>..................] - ETA: 0s - loss: 0.1268 - 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", "280/625 [============>.................] - ETA: 0s - loss: 0.1292 - 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", "306/625 [=============>................] - ETA: 0s - loss: 0.1280 - sparse_categorical_accuracy: 0.9607" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==============>...............] - ETA: 0s - loss: 0.1270 - 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", "357/625 [================>.............] - ETA: 0s - loss: 0.1261 - 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", "382/625 [=================>............] - ETA: 0s - loss: 0.1269 - 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", "407/625 [==================>...........] - ETA: 0s - loss: 0.1260 - 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", "432/625 [===================>..........] - ETA: 0s - 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", "457/625 [====================>.........] - ETA: 0s - loss: 0.1245 - 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", "483/625 [======================>.......] - ETA: 0s - loss: 0.1247 - 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", "508/625 [=======================>......] - ETA: 0s - loss: 0.1237 - 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", "534/625 [========================>.....] - ETA: 0s - loss: 0.1244 - 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", "559/625 [=========================>....] - ETA: 0s - loss: 0.1256 - 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", "584/625 [===========================>..] - ETA: 0s - loss: 0.1252 - 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", "609/625 [============================>.] - ETA: 0s - loss: 0.1260 - 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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1254 - sparse_categorical_accuracy: 0.9625 - val_loss: 0.1457 - val_sparse_categorical_accuracy: 0.9566\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1638 - 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", " 27/625 [>.............................] - ETA: 1s - loss: 0.0932 - sparse_categorical_accuracy: 0.9705" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 53/625 [=>............................] - ETA: 1s - loss: 0.0952 - sparse_categorical_accuracy: 0.9708" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 80/625 [==>...........................] - ETA: 1s - loss: 0.0961 - sparse_categorical_accuracy: 0.9707" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [====>.........................] - ETA: 1s - loss: 0.0981 - 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", "131/625 [=====>........................] - ETA: 0s - loss: 0.0998 - sparse_categorical_accuracy: 0.9689" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "156/625 [======>.......................] - ETA: 0s - loss: 0.1014 - sparse_categorical_accuracy: 0.9677" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "181/625 [=======>......................] - ETA: 0s - loss: 0.1015 - sparse_categorical_accuracy: 0.9681" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "206/625 [========>.....................] - ETA: 0s - loss: 0.1009 - sparse_categorical_accuracy: 0.9682" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==========>...................] - ETA: 0s - loss: 0.1010 - 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", "258/625 [===========>..................] - ETA: 0s - loss: 0.1024 - sparse_categorical_accuracy: 0.9685" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [============>.................] - ETA: 0s - loss: 0.1006 - sparse_categorical_accuracy: 0.9690" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=============>................] - ETA: 0s - loss: 0.0990 - 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", "336/625 [===============>..............] - ETA: 0s - loss: 0.0989 - 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", "362/625 [================>.............] - ETA: 0s - loss: 0.0993 - sparse_categorical_accuracy: 0.9692" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=================>............] - ETA: 0s - loss: 0.0993 - 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", "410/625 [==================>...........] - ETA: 0s - loss: 0.0986 - 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", "435/625 [===================>..........] - ETA: 0s - loss: 0.0999 - sparse_categorical_accuracy: 0.9691" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "460/625 [=====================>........] - ETA: 0s - loss: 0.0995 - 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", "486/625 [======================>.......] - ETA: 0s - loss: 0.0990 - 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", "511/625 [=======================>......] - ETA: 0s - loss: 0.0989 - 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", "537/625 [========================>.....] - ETA: 0s - loss: 0.1000 - sparse_categorical_accuracy: 0.9692" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=========================>....] - ETA: 0s - loss: 0.1004 - sparse_categorical_accuracy: 0.9692" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "588/625 [===========================>..] - ETA: 0s - loss: 0.1005 - 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", "613/625 [============================>.] - ETA: 0s - loss: 0.1005 - 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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1004 - sparse_categorical_accuracy: 0.9693 - val_loss: 0.1441 - val_sparse_categorical_accuracy: 0.9586\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.0856 - 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.0870 - 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", " 52/625 [=>............................] - ETA: 1s - loss: 0.0827 - sparse_categorical_accuracy: 0.9745" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 77/625 [==>...........................] - ETA: 1s - loss: 0.0860 - sparse_categorical_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "103/625 [===>..........................] - ETA: 1s - loss: 0.0849 - sparse_categorical_accuracy: 0.9756" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "129/625 [=====>........................] - ETA: 0s - loss: 0.0828 - sparse_categorical_accuracy: 0.9753" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [======>.......................] - ETA: 0s - loss: 0.0822 - sparse_categorical_accuracy: 0.9754" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "181/625 [=======>......................] - ETA: 0s - loss: 0.0838 - sparse_categorical_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "206/625 [========>.....................] - ETA: 0s - loss: 0.0820 - sparse_categorical_accuracy: 0.9755" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "231/625 [==========>...................] - ETA: 0s - loss: 0.0812 - 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", "257/625 [===========>..................] - ETA: 0s - loss: 0.0824 - sparse_categorical_accuracy: 0.9751" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "283/625 [============>.................] - ETA: 0s - loss: 0.0822 - sparse_categorical_accuracy: 0.9753" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=============>................] - ETA: 0s - loss: 0.0811 - sparse_categorical_accuracy: 0.9754" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===============>..............] - ETA: 0s - loss: 0.0807 - sparse_categorical_accuracy: 0.9751" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [================>.............] - ETA: 0s - loss: 0.0811 - sparse_categorical_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=================>............] - ETA: 0s - loss: 0.0822 - sparse_categorical_accuracy: 0.9747" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "411/625 [==================>...........] - ETA: 0s - loss: 0.0831 - sparse_categorical_accuracy: 0.9746" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "437/625 [===================>..........] - ETA: 0s - loss: 0.0833 - sparse_categorical_accuracy: 0.9747" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "463/625 [=====================>........] - ETA: 0s - loss: 0.0828 - sparse_categorical_accuracy: 0.9748" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [======================>.......] - ETA: 0s - loss: 0.0824 - sparse_categorical_accuracy: 0.9751" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======================>......] - ETA: 0s - loss: 0.0830 - sparse_categorical_accuracy: 0.9748" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [========================>.....] - ETA: 0s - loss: 0.0838 - sparse_categorical_accuracy: 0.9747" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "564/625 [==========================>...] - ETA: 0s - loss: 0.0828 - sparse_categorical_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========================>..] - ETA: 0s - loss: 0.0834 - sparse_categorical_accuracy: 0.9749" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "615/625 [============================>.] - ETA: 0s - loss: 0.0839 - sparse_categorical_accuracy: 0.9747" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0837 - sparse_categorical_accuracy: 0.9748 - val_loss: 0.1432 - val_sparse_categorical_accuracy: 0.9596\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5: 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://tensorflow.google.cn/tensorboard) 中可视化的模型日志(更多详细信息,请参阅“可视化”部分)。\n", "- `CSVLogger`:将损失和指标数据流式传输到 CSV 文件。\n", "- 等等\n", "\n", "有关完整列表,请参阅[回调文档](https://tensorflow.google.cn/api_docs/python/tf/keras/callbacks/)。\n", "\n", "### 编写您自己的回调\n", "\n", "您可以通过扩展基类 `keras.callbacks.Callback` 来创建自定义回调。回调可以通过类属性 `self.model` 访问其关联的模型。\n", "\n", "确保阅读[编写自定义回调的完整指南](https://tensorflow.google.cn/guide/keras/custom_callback/)。\n", "\n", "下面是一个简单的示例,在训练期间保存每个批次的损失值列表:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:26:20.977919Z", "iopub.status.busy": "2022-12-14T21:26:20.977427Z", "iopub.status.idle": "2022-12-14T21:26:20.981263Z", "shell.execute_reply": "2022-12-14T21:26:20.980697Z" }, "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:26:20.984340Z", "iopub.status.busy": "2022-12-14T21:26:20.984099Z", "iopub.status.idle": "2022-12-14T21:26:26.125476Z", "shell.execute_reply": "2022-12-14T21:26:26.124827Z" }, "id": "83614be57725" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:04 - loss: 2.3272 - sparse_categorical_accuracy: 0.0625" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.6305 - sparse_categorical_accuracy: 0.5475 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 52/625 [=>............................] - ETA: 1s - loss: 1.2290 - sparse_categorical_accuracy: 0.6752" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 77/625 [==>...........................] - ETA: 1s - loss: 1.0138 - sparse_categorical_accuracy: 0.7354" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "102/625 [===>..........................] - ETA: 1s - loss: 0.8852 - sparse_categorical_accuracy: 0.7690" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "128/625 [=====>........................] - ETA: 0s - loss: 0.7929 - sparse_categorical_accuracy: 0.7911" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "153/625 [======>.......................] - ETA: 0s - loss: 0.7329 - sparse_categorical_accuracy: 0.8047" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "179/625 [=======>......................] - ETA: 0s - loss: 0.6791 - sparse_categorical_accuracy: 0.8181" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "205/625 [========>.....................] - ETA: 0s - loss: 0.6407 - sparse_categorical_accuracy: 0.8283" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "231/625 [==========>...................] - ETA: 0s - loss: 0.6054 - sparse_categorical_accuracy: 0.8373" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========>..................] - ETA: 0s - loss: 0.5792 - sparse_categorical_accuracy: 0.8434" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "281/625 [============>.................] - ETA: 0s - loss: 0.5584 - sparse_categorical_accuracy: 0.8487" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "306/625 [=============>................] - ETA: 0s - loss: 0.5359 - 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", "331/625 [==============>...............] - ETA: 0s - loss: 0.5215 - sparse_categorical_accuracy: 0.8568" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [================>.............] - ETA: 0s - loss: 0.5058 - sparse_categorical_accuracy: 0.8610" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=================>............] - ETA: 0s - loss: 0.4923 - sparse_categorical_accuracy: 0.8640" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==================>...........] - ETA: 0s - loss: 0.4777 - sparse_categorical_accuracy: 0.8676" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===================>..........] - ETA: 0s - loss: 0.4659 - 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", "457/625 [====================>.........] - ETA: 0s - loss: 0.4550 - sparse_categorical_accuracy: 0.8732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [======================>.......] - ETA: 0s - loss: 0.4435 - sparse_categorical_accuracy: 0.8762" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======================>......] - ETA: 0s - loss: 0.4331 - 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", "532/625 [========================>.....] - ETA: 0s - loss: 0.4251 - sparse_categorical_accuracy: 0.8810" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=========================>....] - ETA: 0s - loss: 0.4168 - 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", "583/625 [==========================>...] - ETA: 0s - loss: 0.4086 - sparse_categorical_accuracy: 0.8852" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "608/625 [============================>.] - ETA: 0s - loss: 0.4014 - sparse_categorical_accuracy: 0.8871" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Epoch 1: val_loss improved from inf to 0.25889, 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.3973 - sparse_categorical_accuracy: 0.8883 - val_loss: 0.2589 - val_sparse_categorical_accuracy: 0.9210\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1705 - 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", " 26/625 [>.............................] - ETA: 1s - loss: 0.1858 - sparse_categorical_accuracy: 0.9429" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 52/625 [=>............................] - ETA: 1s - loss: 0.2013 - sparse_categorical_accuracy: 0.9405" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 78/625 [==>...........................] - ETA: 1s - loss: 0.2067 - sparse_categorical_accuracy: 0.9411" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "104/625 [===>..........................] - ETA: 1s - loss: 0.2034 - 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", "130/625 [=====>........................] - ETA: 0s - loss: 0.2085 - sparse_categorical_accuracy: 0.9415" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "156/625 [======>.......................] - ETA: 0s - loss: 0.2079 - sparse_categorical_accuracy: 0.9407" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "182/625 [=======>......................] - ETA: 0s - loss: 0.2039 - 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", "207/625 [========>.....................] - ETA: 0s - loss: 0.2034 - sparse_categorical_accuracy: 0.9418" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==========>...................] - ETA: 0s - loss: 0.1988 - 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", "259/625 [===========>..................] - ETA: 0s - loss: 0.1968 - sparse_categorical_accuracy: 0.9432" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [============>.................] - ETA: 0s - loss: 0.1921 - sparse_categorical_accuracy: 0.9438" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "310/625 [=============>................] - ETA: 0s - loss: 0.1911 - sparse_categorical_accuracy: 0.9440" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "335/625 [===============>..............] - ETA: 0s - loss: 0.1895 - sparse_categorical_accuracy: 0.9446" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [================>.............] - ETA: 0s - loss: 0.1910 - 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", "385/625 [=================>............] - ETA: 0s - loss: 0.1907 - 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", "410/625 [==================>...........] - ETA: 0s - loss: 0.1895 - sparse_categorical_accuracy: 0.9442" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "436/625 [===================>..........] - ETA: 0s - loss: 0.1876 - 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", "461/625 [=====================>........] - ETA: 0s - loss: 0.1864 - 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", "486/625 [======================>.......] - ETA: 0s - loss: 0.1867 - 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", "511/625 [=======================>......] - ETA: 0s - loss: 0.1852 - 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", "536/625 [========================>.....] - ETA: 0s - loss: 0.1845 - 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", "561/625 [=========================>....] - ETA: 0s - loss: 0.1830 - sparse_categorical_accuracy: 0.9464" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========================>..] - ETA: 0s - loss: 0.1816 - sparse_categorical_accuracy: 0.9467" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "612/625 [============================>.] - ETA: 0s - loss: 0.1813 - sparse_categorical_accuracy: 0.9466" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Epoch 2: val_loss improved from 0.25889 to 0.18413, 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.1818 - sparse_categorical_accuracy: 0.9465 - val_loss: 0.1841 - val_sparse_categorical_accuracy: 0.9438\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:26:26.129225Z", "iopub.status.busy": "2022-12-14T21:26:26.128644Z", "iopub.status.idle": "2022-12-14T21:26:37.115094Z", "shell.execute_reply": "2022-12-14T21:26:37.114459Z" }, "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:57 - loss: 2.3354 - 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\b\b\b\r", " 25/1563 [..............................] - ETA: 3s - loss: 1.7248 - sparse_categorical_accuracy: 0.4875 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [..............................] - ETA: 3s - loss: 1.3413 - sparse_categorical_accuracy: 0.6162" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [>.............................] - ETA: 3s - loss: 1.1231 - sparse_categorical_accuracy: 0.6799" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [>.............................] - ETA: 3s - loss: 0.9649 - sparse_categorical_accuracy: 0.7263" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.96/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.9625 - sparse_categorical_accuracy: 0.7275" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [=>............................] - ETA: 8s - loss: 0.8615 - sparse_categorical_accuracy: 0.7548" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [=>............................] - ETA: 7s - loss: 0.7988 - sparse_categorical_accuracy: 0.7726" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [==>...........................] - ETA: 6s - loss: 0.7461 - sparse_categorical_accuracy: 0.7871" ] }, { "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.7042 - sparse_categorical_accuracy: 0.7978" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [===>..........................] - ETA: 7s - loss: 0.6681 - sparse_categorical_accuracy: 0.8079" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [===>..........................] - ETA: 7s - loss: 0.6410 - sparse_categorical_accuracy: 0.8160" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [====>.........................] - ETA: 6s - loss: 0.6139 - sparse_categorical_accuracy: 0.8230" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 298/1563 [====>.........................] - ETA: 6s - loss: 0.5935 - sparse_categorical_accuracy: 0.8290" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.59/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: 7s - loss: 0.5917 - sparse_categorical_accuracy: 0.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\r", " 323/1563 [=====>........................] - ETA: 7s - loss: 0.5715 - sparse_categorical_accuracy: 0.8348" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [=====>........................] - ETA: 6s - loss: 0.5527 - sparse_categorical_accuracy: 0.8406" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [======>.......................] - ETA: 6s - loss: 0.5363 - sparse_categorical_accuracy: 0.8453" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [======>.......................] - ETA: 6s - loss: 0.5176 - sparse_categorical_accuracy: 0.8503" ] }, { "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.5161 - 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\b\b\r", " 424/1563 [=======>......................] - ETA: 6s - loss: 0.5044 - 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\b\b\r", " 449/1563 [=======>......................] - ETA: 6s - loss: 0.4936 - sparse_categorical_accuracy: 0.8574" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [========>.....................] - ETA: 6s - loss: 0.4799 - sparse_categorical_accuracy: 0.8618" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.47/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.4707 - sparse_categorical_accuracy: 0.8640" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [=========>....................] - ETA: 6s - loss: 0.4649 - sparse_categorical_accuracy: 0.8655" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [=========>....................] - ETA: 5s - loss: 0.4555 - sparse_categorical_accuracy: 0.8682" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 574/1563 [==========>...................] - ETA: 5s - loss: 0.4468 - sparse_categorical_accuracy: 0.8705" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [==========>...................] - ETA: 5s - loss: 0.4409 - sparse_categorical_accuracy: 0.8720" ] }, { "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.4398 - sparse_categorical_accuracy: 0.8724" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 5s - loss: 0.4331 - sparse_categorical_accuracy: 0.8742" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [===========>..................] - ETA: 5s - loss: 0.4265 - sparse_categorical_accuracy: 0.8762" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [===========>..................] - ETA: 5s - loss: 0.4189 - sparse_categorical_accuracy: 0.8785" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [============>.................] - ETA: 4s - loss: 0.4125 - sparse_categorical_accuracy: 0.8802" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.41/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.4110 - 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\b\b\r", " 724/1563 [============>.................] - ETA: 5s - loss: 0.4050 - sparse_categorical_accuracy: 0.8824" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 750/1563 [=============>................] - ETA: 5s - loss: 0.3997 - sparse_categorical_accuracy: 0.8841" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [=============>................] - ETA: 4s - loss: 0.3948 - sparse_categorical_accuracy: 0.8859" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.39/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.3884 - 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\b\b\r", " 822/1563 [==============>...............] - ETA: 4s - loss: 0.3838 - sparse_categorical_accuracy: 0.8890" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 845/1563 [===============>..............] - ETA: 4s - loss: 0.3792 - 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\b\b\r", " 868/1563 [===============>..............] - ETA: 4s - loss: 0.3753 - 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\b\b\r", " 892/1563 [================>.............] - ETA: 4s - loss: 0.3716 - sparse_categorical_accuracy: 0.8921" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.37/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.3709 - sparse_categorical_accuracy: 0.8922" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3675 - sparse_categorical_accuracy: 0.8930" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3s - loss: 0.3643 - 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\b\b\r", " 968/1563 [=================>............] - ETA: 3s - loss: 0.3616 - 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\b\b\r", " 991/1563 [==================>...........] - ETA: 3s - loss: 0.3574 - sparse_categorical_accuracy: 0.8959" ] }, { "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.3561 - sparse_categorical_accuracy: 0.8963" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1024/1563 [==================>...........] - ETA: 3s - loss: 0.3537 - sparse_categorical_accuracy: 0.8967" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1048/1563 [===================>..........] - ETA: 3s - loss: 0.3504 - sparse_categorical_accuracy: 0.8977" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1071/1563 [===================>..........] - ETA: 3s - loss: 0.3475 - 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", "1094/1563 [===================>..........] - ETA: 2s - loss: 0.3442 - sparse_categorical_accuracy: 0.8995" ] }, { "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", "1100/1563 [====================>.........] - ETA: 3s - loss: 0.3432 - sparse_categorical_accuracy: 0.8998" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1123/1563 [====================>.........] - ETA: 2s - loss: 0.3397 - sparse_categorical_accuracy: 0.9008" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1146/1563 [====================>.........] - ETA: 2s - loss: 0.3370 - 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", "1170/1563 [=====================>........] - ETA: 2s - loss: 0.3339 - sparse_categorical_accuracy: 0.9024" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1194/1563 [=====================>........] - ETA: 2s - loss: 0.3302 - sparse_categorical_accuracy: 0.9032" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.33/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.3296 - sparse_categorical_accuracy: 0.9033" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1222/1563 [======================>.......] - ETA: 2s - loss: 0.3269 - 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\b\b\r", "1245/1563 [======================>.......] - ETA: 2s - loss: 0.3251 - sparse_categorical_accuracy: 0.9049" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1268/1563 [=======================>......] - ETA: 1s - loss: 0.3219 - sparse_categorical_accuracy: 0.9058" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1291/1563 [=======================>......] - ETA: 1s - loss: 0.3192 - sparse_categorical_accuracy: 0.9066" ] }, { "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.3187 - 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", "1324/1563 [========================>.....] - ETA: 1s - loss: 0.3164 - sparse_categorical_accuracy: 0.9073" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1349/1563 [========================>.....] - ETA: 1s - loss: 0.3147 - sparse_categorical_accuracy: 0.9078" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1374/1563 [=========================>....] - ETA: 1s - loss: 0.3123 - sparse_categorical_accuracy: 0.9085" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1399/1563 [=========================>....] - ETA: 1s - loss: 0.3111 - 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.3109 - sparse_categorical_accuracy: 0.9088" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1423/1563 [==========================>...] - ETA: 0s - loss: 0.3090 - sparse_categorical_accuracy: 0.9093" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1447/1563 [==========================>...] - ETA: 0s - loss: 0.3066 - sparse_categorical_accuracy: 0.9099" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1471/1563 [===========================>..] - ETA: 0s - loss: 0.3042 - sparse_categorical_accuracy: 0.9106" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1495/1563 [===========================>..] - ETA: 0s - loss: 0.3027 - sparse_categorical_accuracy: 0.9111" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.30/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.3027 - sparse_categorical_accuracy: 0.9111" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3006 - sparse_categorical_accuracy: 0.9117" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1547/1563 [============================>.] - ETA: 0s - loss: 0.2983 - sparse_categorical_accuracy: 0.9123" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.2976 - sparse_categorical_accuracy: 0.9125\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://tensorflow.google.cn/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:26:37.119033Z", "iopub.status.busy": "2022-12-14T21:26:37.118438Z", "iopub.status.idle": "2022-12-14T21:26:37.130649Z", "shell.execute_reply": "2022-12-14T21:26:37.130071Z" }, "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://tensorflow.google.cn/tensorboard),这是一个基于浏览器的应用,它可以在本地运行,为您提供:\n", "\n", "- 训练和评估的实时损失和指标图\n", "- (可选)层激活直方图的可视化\n", "- (可选)`Embedding` 层学习的嵌入向量空间的 3D 可视化\n", "\n", "如果您已通过 pip 安装了 TensorFlow,则应当能够从命令行启动 TensorBoard:\n", "\n", "```\n", "tensorboard --logdir=/full_path_to_your_logs\n", "```" ] }, { "cell_type": "markdown", "metadata": { "id": "f2685d7ce531" }, "source": [ "### 使用 TensorBoard 回调\n", "\n", "将 TensorBoard 与 Keras 模型和 fit 方法一起使用的最简单方式是 `TensorBoard` 回调。\n", "\n", "在最简单的情况下,只需指定您希望回调写入日志的位置即可:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T21:26:37.134429Z", "iopub.status.busy": "2022-12-14T21:26:37.133898Z", "iopub.status.idle": "2022-12-14T21:26:37.138866Z", "shell.execute_reply": "2022-12-14T21:26:37.138283Z" }, "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://tensorflow.google.cn/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 }