{ "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-14T22:59:43.884634Z", "iopub.status.busy": "2022-12-14T22:59:43.884093Z", "iopub.status.idle": "2022-12-14T22:59:43.888029Z", "shell.execute_reply": "2022-12-14T22:59:43.887349Z" }, "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-14T22:59:43.891526Z", "iopub.status.busy": "2022-12-14T22:59:43.890945Z", "iopub.status.idle": "2022-12-14T22:59:45.803292Z", "shell.execute_reply": "2022-12-14T22:59:45.802554Z" }, "id": "0472bf67b2bf" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2022-12-14 22:59:44.829135: 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 22:59:44.829246: 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 22:59:44.829257: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n" ] } ], "source": [ "import tensorflow as tf\n", "from tensorflow import keras\n", "from tensorflow.keras import layers" ] }, { "cell_type": "markdown", "metadata": { "id": "dfdc6f08988e" }, "source": [ "## 시작하기\n", "\n", "이 안내서는 훈련 및 유효성 검증을 위해 내장 API를 사용할 때의 훈련, 평가 및 예측(추론) 모델(예: `model.fit()`, `model.evaluate()`, `model.predict()`)에 대해 설명합니다.\n", "\n", "고유한 훈련 스텝 함수를 지정하면서 `fit()`을 사용하려면 `fit()`에서 이루어지는 작업 사용자 정의하기 가이드를 참조하세요.\n", "\n", "고유한 훈련 및 평가 루프를 처음부터 작성하려면 [\"처음부터 훈련 루프 작성\"](https://www.tensorflow.org/guide/keras/writing_a_training_loop_from_scratch/) 안내서를 참조하세요.\n", "\n", "일반적으로, 내장 루프를 사용하든 직접 작성하든 관계없이 모델 훈련 및 유효성 검사는 모든 종류의 Keras 모델(순차 모델, Functional API로 작성된 모델 및 모델 하위 클래스화를 통해 처음부터 작성된 모델)에서 완전히 동일하게 작동합니다.\n", "\n", "이 안내서는 분산 훈련에 대해서는 다루지 않습니다. 이 부분은 [멀티 GPU 및 분산 교육 안내서](https://keras.io/guides/distributed_training/)를 참조하세요." ] }, { "cell_type": "markdown", "metadata": { "id": "4e270faa413e" }, "source": [ "## API 개요: 첫 번째 엔드 투 엔드 예제\n", "\n", "데이터를 모델의 내장 훈련 루프로 전달할 때는 **NumPy 배열**(데이터가 작고 메모리에 맞는 경우) 또는 **`tf.data Dataset` 객체**를 사용해야 합니다. 다음 몇 단락에서는 옵티마이저, 손실 및 메트릭을 사용하는 방법을 보여주기 위해 MNIST 데이터세트를 NumPy 배열로 사용하겠습니다.\n", "\n", "다음 모델을 고려해 보겠습니다(여기서는 Functional API를 사용하여 빌드하지만 시퀀스 모델 또는 하위 클래스화된 모델도 가능함)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T22:59:45.807870Z", "iopub.status.busy": "2022-12-14T22:59:45.807435Z", "iopub.status.idle": "2022-12-14T22:59:49.234532Z", "shell.execute_reply": "2022-12-14T22:59:49.233711Z" }, "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-14T22:59:49.238942Z", "iopub.status.busy": "2022-12-14T22:59:49.238302Z", "iopub.status.idle": "2022-12-14T22:59:49.586060Z", "shell.execute_reply": "2022-12-14T22:59:49.585266Z" }, "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-14T22:59:49.590434Z", "iopub.status.busy": "2022-12-14T22:59:49.589882Z", "iopub.status.idle": "2022-12-14T22:59:49.606512Z", "shell.execute_reply": "2022-12-14T22:59:49.605929Z" }, "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-14T22:59:49.609982Z", "iopub.status.busy": "2022-12-14T22:59:49.609495Z", "iopub.status.idle": "2022-12-14T22:59:55.460332Z", "shell.execute_reply": "2022-12-14T22:59:55.459687Z" }, "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:21 - loss: 2.2905 - 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\b\r", " 23/782 [..............................] - ETA: 1s - loss: 1.5355 - sparse_categorical_accuracy: 0.5795 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1550 - sparse_categorical_accuracy: 0.6909" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 68/782 [=>............................] - ETA: 1s - loss: 0.9683 - sparse_categorical_accuracy: 0.7406" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8475 - sparse_categorical_accuracy: 0.7713" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7604 - sparse_categorical_accuracy: 0.7932" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6980 - sparse_categorical_accuracy: 0.8081" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6458 - sparse_categorical_accuracy: 0.8220" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6081 - 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", "206/782 [======>.......................] - ETA: 1s - loss: 0.5793 - sparse_categorical_accuracy: 0.8400" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "230/782 [=======>......................] - ETA: 1s - loss: 0.5546 - 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", "254/782 [========>.....................] - ETA: 1s - loss: 0.5280 - sparse_categorical_accuracy: 0.8530" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "278/782 [=========>....................] - ETA: 1s - loss: 0.5070 - sparse_categorical_accuracy: 0.8589" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "302/782 [==========>...................] - ETA: 1s - loss: 0.4885 - 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", "326/782 [===========>..................] - ETA: 1s - loss: 0.4742 - 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", "350/782 [============>.................] - ETA: 0s - loss: 0.4605 - 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", "374/782 [=============>................] - ETA: 0s - loss: 0.4468 - sparse_categorical_accuracy: 0.8754" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "398/782 [==============>...............] - ETA: 0s - loss: 0.4353 - 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", "422/782 [===============>..............] - ETA: 0s - loss: 0.4260 - sparse_categorical_accuracy: 0.8800" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "446/782 [================>.............] - ETA: 0s - loss: 0.4167 - 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", "470/782 [=================>............] - ETA: 0s - loss: 0.4092 - sparse_categorical_accuracy: 0.8848" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4015 - 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", "518/782 [==================>...........] - ETA: 0s - loss: 0.3937 - sparse_categorical_accuracy: 0.8891" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "542/782 [===================>..........] - ETA: 0s - loss: 0.3864 - 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", "566/782 [====================>.........] - ETA: 0s - loss: 0.3796 - sparse_categorical_accuracy: 0.8935" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "590/782 [=====================>........] - ETA: 0s - loss: 0.3728 - sparse_categorical_accuracy: 0.8954" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "614/782 [======================>.......] - ETA: 0s - loss: 0.3660 - 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", "638/782 [=======================>......] - ETA: 0s - loss: 0.3614 - sparse_categorical_accuracy: 0.8978" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "662/782 [========================>.....] - ETA: 0s - loss: 0.3565 - 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", "686/782 [=========================>....] - ETA: 0s - loss: 0.3509 - sparse_categorical_accuracy: 0.9004" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3464 - 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", "734/782 [===========================>..] - ETA: 0s - loss: 0.3418 - sparse_categorical_accuracy: 0.9028" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "758/782 [============================>.] - ETA: 0s - loss: 0.3380 - sparse_categorical_accuracy: 0.9037" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "781/782 [============================>.] - ETA: 0s - loss: 0.3338 - sparse_categorical_accuracy: 0.9046" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3338 - sparse_categorical_accuracy: 0.9047 - val_loss: 0.1792 - val_sparse_categorical_accuracy: 0.9496\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 2s - loss: 0.1243 - sparse_categorical_accuracy: 0.9531" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 24/782 [..............................] - ETA: 1s - loss: 0.1862 - sparse_categorical_accuracy: 0.9447" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1855 - sparse_categorical_accuracy: 0.9458" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 69/782 [=>............................] - ETA: 1s - loss: 0.1884 - sparse_categorical_accuracy: 0.9457" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1900 - sparse_categorical_accuracy: 0.9434" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "114/782 [===>..........................] - ETA: 1s - loss: 0.1859 - 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", "137/782 [====>.........................] - ETA: 1s - loss: 0.1804 - 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", "160/782 [=====>........................] - ETA: 1s - loss: 0.1796 - 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", "183/782 [======>.......................] - ETA: 1s - loss: 0.1783 - 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", "207/782 [======>.......................] - ETA: 1s - loss: 0.1765 - sparse_categorical_accuracy: 0.9475" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "230/782 [=======>......................] - ETA: 1s - loss: 0.1776 - sparse_categorical_accuracy: 0.9475" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "254/782 [========>.....................] - ETA: 1s - loss: 0.1794 - sparse_categorical_accuracy: 0.9472" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "277/782 [=========>....................] - ETA: 1s - loss: 0.1768 - 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", "300/782 [==========>...................] - ETA: 1s - loss: 0.1742 - 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", "323/782 [===========>..................] - ETA: 1s - loss: 0.1751 - 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", "346/782 [============>.................] - ETA: 0s - loss: 0.1733 - sparse_categorical_accuracy: 0.9489" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "370/782 [=============>................] - ETA: 0s - loss: 0.1721 - 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", "394/782 [==============>...............] - ETA: 0s - loss: 0.1712 - sparse_categorical_accuracy: 0.9494" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "417/782 [==============>...............] - ETA: 0s - loss: 0.1700 - sparse_categorical_accuracy: 0.9495" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1696 - 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", "463/782 [================>.............] - ETA: 0s - loss: 0.1694 - 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", "487/782 [=================>............] - ETA: 0s - loss: 0.1689 - 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", "511/782 [==================>...........] - ETA: 0s - loss: 0.1695 - sparse_categorical_accuracy: 0.9501" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "534/782 [===================>..........] - ETA: 0s - loss: 0.1691 - sparse_categorical_accuracy: 0.9498" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1694 - sparse_categorical_accuracy: 0.9498" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1700 - 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", "604/782 [======================>.......] - ETA: 0s - loss: 0.1688 - 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", "627/782 [=======================>......] - ETA: 0s - loss: 0.1687 - sparse_categorical_accuracy: 0.9501" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "650/782 [=======================>......] - ETA: 0s - loss: 0.1679 - 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", "673/782 [========================>.....] - ETA: 0s - loss: 0.1680 - 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", "696/782 [=========================>....] - ETA: 0s - loss: 0.1667 - 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", "720/782 [==========================>...] - ETA: 0s - loss: 0.1655 - sparse_categorical_accuracy: 0.9510" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "744/782 [===========================>..] - ETA: 0s - loss: 0.1649 - 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", "768/782 [============================>.] - ETA: 0s - loss: 0.1638 - sparse_categorical_accuracy: 0.9516" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "782/782 [==============================] - 2s 3ms/step - loss: 0.1635 - sparse_categorical_accuracy: 0.9516 - val_loss: 0.1278 - val_sparse_categorical_accuracy: 0.9632\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-14T22:59:55.464253Z", "iopub.status.busy": "2022-12-14T22:59:55.463716Z", "iopub.status.idle": "2022-12-14T22:59:55.470230Z", "shell.execute_reply": "2022-12-14T22:59:55.469652Z" }, "id": "a20b8f5b9fcc" }, "outputs": [ { "data": { "text/plain": [ "{'loss': [0.3337874710559845, 0.16347293555736542],\n", " 'sparse_categorical_accuracy': [0.9046599864959717, 0.9516400098800659],\n", " 'val_loss': [0.17921485006809235, 0.12782561779022217],\n", " 'val_sparse_categorical_accuracy': [0.9495999813079834, 0.9631999731063843]}" ] }, "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-14T22:59:55.473564Z", "iopub.status.busy": "2022-12-14T22:59:55.473093Z", "iopub.status.idle": "2022-12-14T22:59:55.827130Z", "shell.execute_reply": "2022-12-14T22:59:55.826246Z" }, "id": "69f524a93f9d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Evaluate on test data\n", "\r", " 1/79 [..............................] - ETA: 1s - loss: 0.0556 - 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\r", "29/79 [==========>...................] - ETA: 0s - loss: 0.1661 - 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\r", "58/79 [=====================>........] - ETA: 0s - loss: 0.1468 - sparse_categorical_accuracy: 0.9557" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1320 - sparse_categorical_accuracy: 0.9597\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "test loss, test acc: [0.13197556138038635, 0.9596999883651733]\n", "Generate predictions for 3 samples\n", "\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-14T22:59:55.830955Z", "iopub.status.busy": "2022-12-14T22:59:55.830400Z", "iopub.status.idle": "2022-12-14T22:59:55.841804Z", "shell.execute_reply": "2022-12-14T22:59:55.841223Z" }, "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-14T22:59:55.845502Z", "iopub.status.busy": "2022-12-14T22:59:55.844972Z", "iopub.status.idle": "2022-12-14T22:59:55.854281Z", "shell.execute_reply": "2022-12-14T22:59:55.853698Z" }, "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-14T22:59:55.857957Z", "iopub.status.busy": "2022-12-14T22:59:55.857257Z", "iopub.status.idle": "2022-12-14T22:59:55.862463Z", "shell.execute_reply": "2022-12-14T22:59:55.861700Z" }, "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-14T22:59:55.866083Z", "iopub.status.busy": "2022-12-14T22:59:55.865495Z", "iopub.status.idle": "2022-12-14T22:59:59.038395Z", "shell.execute_reply": "2022-12-14T22:59:59.037671Z" }, "id": "cc4edd47bb5a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 13:53 - loss: 0.0893" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0774 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", " 70/782 [=>............................] - ETA: 1s - loss: 0.0511" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 94/782 [==>...........................] - ETA: 1s - loss: 0.0442" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "118/782 [===>..........................] - ETA: 1s - loss: 0.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", "142/782 [====>.........................] - ETA: 1s - loss: 0.0355" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "165/782 [=====>........................] - ETA: 1s - loss: 0.0329" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "189/782 [======>.......................] - ETA: 1s - loss: 0.0310" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "213/782 [=======>......................] - ETA: 1s - loss: 0.0293" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0277" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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\r", "283/782 [=========>....................] - ETA: 1s - loss: 0.0255" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "307/782 [==========>...................] - ETA: 1s - loss: 0.0245" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "331/782 [===========>..................] - ETA: 0s - loss: 0.0236" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0228" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "379/782 [=============>................] - ETA: 0s - loss: 0.0222" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "402/782 [==============>...............] - ETA: 0s - loss: 0.0216" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0210" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0205" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "496/782 [==================>...........] - ETA: 0s - loss: 0.0197" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0193" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0190" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "567/782 [====================>.........] - ETA: 0s - loss: 0.0187" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "590/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", "614/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", "637/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", "661/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", "685/782 [=========================>....] - ETA: 0s - loss: 0.0173" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0171" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "731/782 [===========================>..] - ETA: 0s - loss: 0.0168" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "754/782 [===========================>..] - ETA: 0s - loss: 0.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", "778/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", "782/782 [==============================] - 3s 2ms/step - loss: 0.0164\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-14T22:59:59.041874Z", "iopub.status.busy": "2022-12-14T22:59:59.041365Z", "iopub.status.idle": "2022-12-14T23:00:02.102307Z", "shell.execute_reply": "2022-12-14T23:00:02.101596Z" }, "id": "b09463a8c568" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 12:15 - loss: 0.1061" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0935 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0785" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0688" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0628" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0586" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0553" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0532" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "185/782 [======>.......................] - ETA: 1s - loss: 0.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\r", "208/782 [======>.......................] - ETA: 1s - loss: 0.0500" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0487" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "254/782 [========>.....................] - ETA: 1s - loss: 0.0476" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "277/782 [=========>....................] - ETA: 1s - loss: 0.0466" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "323/782 [===========>..................] - ETA: 1s - loss: 0.0449" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0443" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "367/782 [=============>................] - ETA: 0s - loss: 0.0436" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "390/782 [=============>................] - ETA: 0s - loss: 0.0432" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "414/782 [==============>...............] - ETA: 0s - loss: 0.0427" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "438/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", "461/782 [================>.............] - ETA: 0s - loss: 0.0419" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "485/782 [=================>............] - ETA: 0s - loss: 0.0415" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "508/782 [==================>...........] - ETA: 0s - loss: 0.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", "532/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", "556/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", "580/782 [=====================>........] - ETA: 0s - loss: 0.0403" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "603/782 [======================>.......] - ETA: 0s - loss: 0.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", "627/782 [=======================>......] - ETA: 0s - loss: 0.0398" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "651/782 [=======================>......] - ETA: 0s - loss: 0.0395" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0393" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0391" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.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", "743/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", "767/782 [============================>.] - ETA: 0s - loss: 0.0385" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "782/782 [==============================] - 3s 2ms/step - loss: 0.0384\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-14T23:00:02.105830Z", "iopub.status.busy": "2022-12-14T23:00:02.105256Z", "iopub.status.idle": "2022-12-14T23:00:08.361954Z", "shell.execute_reply": "2022-12-14T23:00:08.361307Z" }, "id": "2ad9c57c0683" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:46 - loss: 2.3338 - categorical_true_positives: 8.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", " 24/782 [..............................] - ETA: 1s - loss: 1.5063 - categorical_true_positives: 921.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", " 48/782 [>.............................] - ETA: 1s - loss: 1.1267 - categorical_true_positives: 2168.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.9345 - categorical_true_positives: 3474.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", " 95/782 [==>...........................] - ETA: 1s - loss: 0.8190 - categorical_true_positives: 4766.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", "118/782 [===>..........................] - ETA: 1s - loss: 0.7344 - categorical_true_positives: 6078.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", "141/782 [====>.........................] - ETA: 1s - loss: 0.6802 - categorical_true_positives: 7375.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", "164/782 [=====>........................] - ETA: 1s - loss: 0.6348 - categorical_true_positives: 8708.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", "187/782 [======>.......................] - ETA: 1s - loss: 0.6030 - categorical_true_positives: 10010.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", "211/782 [=======>......................] - ETA: 1s - loss: 0.5740 - categorical_true_positives: 11405.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", "235/782 [========>.....................] - ETA: 1s - loss: 0.5508 - categorical_true_positives: 12795.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.5316 - categorical_true_positives: 14170.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", "283/782 [=========>....................] - ETA: 1s - loss: 0.5120 - categorical_true_positives: 15572.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", "307/782 [==========>...................] - ETA: 1s - loss: 0.4971 - categorical_true_positives: 16954.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", "330/782 [===========>..................] - ETA: 0s - loss: 0.4838 - categorical_true_positives: 18301.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", "354/782 [============>.................] - ETA: 0s - loss: 0.4706 - categorical_true_positives: 19712.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", "377/782 [=============>................] - ETA: 0s - loss: 0.4580 - categorical_true_positives: 21058.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", "400/782 [==============>...............] - ETA: 0s - loss: 0.4480 - categorical_true_positives: 22409.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", "424/782 [===============>..............] - ETA: 0s - loss: 0.4382 - categorical_true_positives: 23822.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", "448/782 [================>.............] - ETA: 0s - loss: 0.4310 - categorical_true_positives: 25224.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", "472/782 [=================>............] - ETA: 0s - loss: 0.4208 - categorical_true_positives: 26653.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", "496/782 [==================>...........] - ETA: 0s - loss: 0.4117 - categorical_true_positives: 28082.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "520/782 [==================>...........] - ETA: 0s - loss: 0.4048 - categorical_true_positives: 29497.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "544/782 [===================>..........] - ETA: 0s - loss: 0.3972 - categorical_true_positives: 30925.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "568/782 [====================>.........] - ETA: 0s - loss: 0.3919 - categorical_true_positives: 32339.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "593/782 [=====================>........] - ETA: 0s - loss: 0.3856 - categorical_true_positives: 33821.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "617/782 [======================>.......] - ETA: 0s - loss: 0.3792 - categorical_true_positives: 35241.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "642/782 [=======================>......] - ETA: 0s - loss: 0.3728 - categorical_true_positives: 36755.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", "666/782 [========================>.....] - ETA: 0s - loss: 0.3675 - categorical_true_positives: 38191.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", "690/782 [=========================>....] - ETA: 0s - loss: 0.3626 - categorical_true_positives: 39636.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", "713/782 [==========================>...] - ETA: 0s - loss: 0.3581 - categorical_true_positives: 41007.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", "737/782 [===========================>..] - ETA: 0s - loss: 0.3532 - categorical_true_positives: 42452.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", "761/782 [============================>.] - ETA: 0s - loss: 0.3482 - categorical_true_positives: 43897.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.3449 - categorical_true_positives: 45113.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.1136 - categorical_true_positives: 62.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 24/782 [..............................] - ETA: 1s - loss: 0.1839 - categorical_true_positives: 1457.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.1783 - categorical_true_positives: 2845.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", " 71/782 [=>............................] - ETA: 1s - loss: 0.1805 - categorical_true_positives: 4292.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", " 95/782 [==>...........................] - ETA: 1s - loss: 0.1818 - categorical_true_positives: 5727.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", "117/782 [===>..........................] - ETA: 1s - loss: 0.1810 - categorical_true_positives: 7061.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", "140/782 [====>.........................] - ETA: 1s - loss: 0.1797 - categorical_true_positives: 8455.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", "164/782 [=====>........................] - ETA: 1s - loss: 0.1770 - categorical_true_positives: 9917.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", "188/782 [======>.......................] - ETA: 1s - loss: 0.1761 - categorical_true_positives: 11373.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", "212/782 [=======>......................] - ETA: 1s - loss: 0.1776 - categorical_true_positives: 12814.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.1762 - categorical_true_positives: 14277.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", "260/782 [========>.....................] - ETA: 1s - loss: 0.1747 - categorical_true_positives: 15741.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", "283/782 [=========>....................] - ETA: 1s - loss: 0.1762 - categorical_true_positives: 17134.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", "306/782 [==========>...................] - ETA: 1s - loss: 0.1744 - categorical_true_positives: 18525.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", "329/782 [===========>..................] - ETA: 0s - loss: 0.1756 - categorical_true_positives: 19915.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", "353/782 [============>.................] - ETA: 0s - loss: 0.1759 - categorical_true_positives: 21374.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", "377/782 [=============>................] - ETA: 0s - loss: 0.1745 - categorical_true_positives: 22841.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", "400/782 [==============>...............] - ETA: 0s - loss: 0.1728 - categorical_true_positives: 24246.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", "424/782 [===============>..............] - ETA: 0s - loss: 0.1740 - categorical_true_positives: 25692.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", "448/782 [================>.............] - ETA: 0s - loss: 0.1713 - categorical_true_positives: 27163.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", "472/782 [=================>............] - ETA: 0s - loss: 0.1716 - categorical_true_positives: 28628.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", "496/782 [==================>...........] - ETA: 0s - loss: 0.1713 - categorical_true_positives: 30093.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", "519/782 [==================>...........] - ETA: 0s - loss: 0.1703 - categorical_true_positives: 31493.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", "543/782 [===================>..........] - ETA: 0s - loss: 0.1705 - categorical_true_positives: 32962.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", "567/782 [====================>.........] - ETA: 0s - loss: 0.1708 - categorical_true_positives: 34401.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", "591/782 [=====================>........] - ETA: 0s - loss: 0.1700 - categorical_true_positives: 35862.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", "615/782 [======================>.......] - ETA: 0s - loss: 0.1691 - categorical_true_positives: 37323.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", "639/782 [=======================>......] - ETA: 0s - loss: 0.1679 - categorical_true_positives: 38790.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", "663/782 [========================>.....] - ETA: 0s - loss: 0.1662 - categorical_true_positives: 40276.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", "685/782 [=========================>....] - ETA: 0s - loss: 0.1651 - categorical_true_positives: 41627.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", "708/782 [==========================>...] - ETA: 0s - loss: 0.1636 - categorical_true_positives: 43051.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", "731/782 [===========================>..] - ETA: 0s - loss: 0.1626 - categorical_true_positives: 44467.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", "755/782 [===========================>..] - ETA: 0s - loss: 0.1623 - categorical_true_positives: 45936.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", "778/782 [============================>.] - ETA: 0s - loss: 0.1613 - categorical_true_positives: 47348.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.1612 - categorical_true_positives: 47543.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.1561 - 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.1500 - categorical_true_positives: 1523.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.1457 - categorical_true_positives: 3005.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.1383 - categorical_true_positives: 4415.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", " 95/782 [==>...........................] - ETA: 1s - loss: 0.1316 - categorical_true_positives: 5838.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", "118/782 [===>..........................] - ETA: 1s - loss: 0.1272 - categorical_true_positives: 7258.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", "141/782 [====>.........................] - ETA: 1s - loss: 0.1257 - categorical_true_positives: 8676.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", "164/782 [=====>........................] - ETA: 1s - loss: 0.1261 - categorical_true_positives: 10090.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", "187/782 [======>.......................] - ETA: 1s - loss: 0.1215 - categorical_true_positives: 11526.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", "210/782 [=======>......................] - ETA: 1s - loss: 0.1247 - categorical_true_positives: 12940.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", "233/782 [=======>......................] - ETA: 1s - loss: 0.1256 - categorical_true_positives: 14348.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", "256/782 [========>.....................] - ETA: 1s - loss: 0.1245 - categorical_true_positives: 15776.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", "280/782 [=========>....................] - ETA: 1s - loss: 0.1231 - categorical_true_positives: 17266.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", "303/782 [==========>...................] - ETA: 1s - loss: 0.1217 - categorical_true_positives: 18692.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", "325/782 [===========>..................] - ETA: 1s - loss: 0.1220 - categorical_true_positives: 20041.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", "348/782 [============>.................] - ETA: 0s - loss: 0.1204 - categorical_true_positives: 21465.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", "371/782 [=============>................] - ETA: 0s - loss: 0.1179 - categorical_true_positives: 22897.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", "395/782 [==============>...............] - ETA: 0s - loss: 0.1169 - categorical_true_positives: 24393.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", "419/782 [===============>..............] - ETA: 0s - loss: 0.1172 - categorical_true_positives: 25875.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.1179 - categorical_true_positives: 27290.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "465/782 [================>.............] - ETA: 0s - loss: 0.1173 - categorical_true_positives: 28713.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "488/782 [=================>............] - ETA: 0s - loss: 0.1176 - categorical_true_positives: 30124.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "511/782 [==================>...........] - ETA: 0s - loss: 0.1173 - categorical_true_positives: 31547.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "534/782 [===================>..........] - ETA: 0s - loss: 0.1170 - categorical_true_positives: 32970.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "557/782 [====================>.........] - ETA: 0s - loss: 0.1174 - categorical_true_positives: 34379.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "580/782 [=====================>........] - ETA: 0s - loss: 0.1175 - categorical_true_positives: 35792.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "603/782 [======================>.......] - ETA: 0s - loss: 0.1172 - categorical_true_positives: 37211.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.1163 - categorical_true_positives: 38571.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.1163 - categorical_true_positives: 39994.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", "671/782 [========================>.....] - ETA: 0s - loss: 0.1160 - categorical_true_positives: 41421.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", "693/782 [=========================>....] - ETA: 0s - loss: 0.1154 - categorical_true_positives: 42784.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", "715/782 [==========================>...] - ETA: 0s - loss: 0.1159 - categorical_true_positives: 44137.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", "737/782 [===========================>..] - ETA: 0s - loss: 0.1160 - categorical_true_positives: 45489.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", "761/782 [============================>.] - ETA: 0s - loss: 0.1157 - categorical_true_positives: 46976.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.1155 - categorical_true_positives: 48232.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-14T23:00:08.365619Z", "iopub.status.busy": "2022-12-14T23:00:08.364960Z", "iopub.status.idle": "2022-12-14T23:00:11.057105Z", "shell.execute_reply": "2022-12-14T23:00:11.056381Z" }, "id": "b494d47437a0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:49 - loss: 78.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\b\b\b\r", " 25/782 [..............................] - ETA: 1s - loss: 8.6934 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 49/782 [>.............................] - ETA: 1s - loss: 5.6316" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 73/782 [=>............................] - ETA: 1s - loss: 4.5469" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.9779" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.6489" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "147/782 [====>.........................] - ETA: 1s - loss: 3.4209" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.2643" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.1465" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.0540" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "244/782 [========>.....................] - ETA: 1s - loss: 2.9769" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "268/782 [=========>....................] - ETA: 1s - loss: 2.9168" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "292/782 [==========>...................] - ETA: 1s - loss: 2.8665" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "316/782 [===========>..................] - ETA: 0s - loss: 2.8237" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "340/782 [============>.................] - ETA: 0s - loss: 2.7869" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.7538" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "390/782 [=============>................] - ETA: 0s - loss: 2.7249" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "415/782 [==============>...............] - ETA: 0s - loss: 2.6995" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "440/782 [===============>..............] - ETA: 0s - loss: 2.6768" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6560" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "491/782 [=================>............] - ETA: 0s - loss: 2.6381" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6212" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "542/782 [===================>..........] - ETA: 0s - loss: 2.6064" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5926" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "593/782 [=====================>........] - ETA: 0s - loss: 2.5803" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [======================>.......] - ETA: 0s - loss: 2.5689" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "643/782 [=======================>......] - ETA: 0s - loss: 2.5585" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5486" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5393" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5307" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.5230" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "771/782 [============================>.] - ETA: 0s - loss: 2.5157" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5129\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-14T23:00:11.061085Z", "iopub.status.busy": "2022-12-14T23:00:11.060458Z", "iopub.status.idle": "2022-12-14T23:00:13.848721Z", "shell.execute_reply": "2022-12-14T23:00:13.848075Z" }, "id": "aa58091be092" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:58 - loss: 2.2964 - std_of_activation: 0.2749" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5327 - std_of_activation: 0.4759 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 48/782 [>.............................] - ETA: 1s - loss: 1.1485 - std_of_activation: 0.6021" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9457 - std_of_activation: 0.6769" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8182 - std_of_activation: 0.7294" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7431 - std_of_activation: 0.7686" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6825 - std_of_activation: 0.7999" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6353 - std_of_activation: 0.8219" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6000 - std_of_activation: 0.8410" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "216/782 [=======>......................] - ETA: 1s - loss: 0.5676 - std_of_activation: 0.8582" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "240/782 [========>.....................] - ETA: 1s - loss: 0.5434 - std_of_activation: 0.8714" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5208 - std_of_activation: 0.8833" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5038 - std_of_activation: 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\r", "311/782 [==========>...................] - ETA: 1s - loss: 0.4861 - std_of_activation: 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\r", "335/782 [===========>..................] - ETA: 0s - loss: 0.4675 - std_of_activation: 0.9074" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4526 - std_of_activation: 0.9143" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "383/782 [=============>................] - ETA: 0s - loss: 0.4391 - std_of_activation: 0.9213" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4290 - std_of_activation: 0.9276" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4196 - 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", "455/782 [================>.............] - ETA: 0s - loss: 0.4115 - std_of_activation: 0.9379" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4038 - std_of_activation: 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\r", "503/782 [==================>...........] - ETA: 0s - loss: 0.3953 - std_of_activation: 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\r", "527/782 [===================>..........] - ETA: 0s - loss: 0.3875 - std_of_activation: 0.9525" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3789 - std_of_activation: 0.9560" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 0.3725 - std_of_activation: 0.9598" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3677 - std_of_activation: 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\r", "623/782 [======================>.......] - ETA: 0s - loss: 0.3610 - std_of_activation: 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\r", "647/782 [=======================>......] - ETA: 0s - loss: 0.3555 - std_of_activation: 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\r", "671/782 [========================>.....] - ETA: 0s - loss: 0.3503 - std_of_activation: 0.9701" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "695/782 [=========================>....] - ETA: 0s - loss: 0.3453 - std_of_activation: 0.9725" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3404 - std_of_activation: 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\r", "743/782 [===========================>..] - ETA: 0s - loss: 0.3354 - std_of_activation: 0.9784" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "767/782 [============================>.] - ETA: 0s - loss: 0.3318 - std_of_activation: 0.9807" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3300 - std_of_activation: 0.9821\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class MetricLoggingLayer(layers.Layer):\n", " def call(self, inputs):\n", " # The `aggregation` argument defines\n", " # how to aggregate the per-batch values\n", " # over each epoch:\n", " # in this case we simply average them.\n", " self.add_metric(\n", " keras.backend.std(inputs), name=\"std_of_activation\", aggregation=\"mean\"\n", " )\n", " return inputs # Pass-through layer.\n", "\n", "\n", "inputs = keras.Input(shape=(784,), name=\"digits\")\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_1\")(inputs)\n", "\n", "# Insert std logging as a layer.\n", "x = MetricLoggingLayer()(x)\n", "\n", "x = layers.Dense(64, activation=\"relu\", name=\"dense_2\")(x)\n", "outputs = layers.Dense(10, name=\"predictions\")(x)\n", "\n", "model = keras.Model(inputs=inputs, outputs=outputs)\n", "model.compile(\n", " optimizer=keras.optimizers.RMSprop(learning_rate=1e-3),\n", " loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n", ")\n", "model.fit(x_train, y_train, batch_size=64, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "f3c18154d057" }, "source": [ "[Functional API](https://www.tensorflow.org/guide/keras/functional/)에서 `model.add_loss(loss_tensor)` 또는 `model.add_metric(metric_tensor, name, aggregation)`을 호출할 수도 있습니다.\n", "\n", "다음은 간단한 예입니다." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:13.852127Z", "iopub.status.busy": "2022-12-14T23:00:13.851614Z", "iopub.status.idle": "2022-12-14T23:00:16.799793Z", "shell.execute_reply": "2022-12-14T23:00:16.799101Z" }, "id": "0e19afe78b3a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:29 - loss: 78.7308 - std_of_activation: 0.2835" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 9.9666 - std_of_activation: 0.0564 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 6.0693 - std_of_activation: 0.0311" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 4.8290 - std_of_activation: 0.0219" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 4.2211 - std_of_activation: 0.0170" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "113/782 [===>..........................] - ETA: 1s - loss: 3.8492 - std_of_activation: 0.0139" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "136/782 [====>.........................] - ETA: 1s - loss: 3.5882 - std_of_activation: 0.0117" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "158/782 [=====>........................] - ETA: 1s - loss: 3.4096 - std_of_activation: 0.0101" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=====>........................] - ETA: 1s - loss: 3.2800 - std_of_activation: 0.0090" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "200/782 [======>.......................] - ETA: 1s - loss: 3.1778 - std_of_activation: 0.0081" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "221/782 [=======>......................] - ETA: 1s - loss: 3.0947 - std_of_activation: 0.0073" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 3.0259 - 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", "264/782 [=========>....................] - ETA: 1s - loss: 2.9657 - std_of_activation: 0.0062" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.9147 - std_of_activation: 0.0057" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.8708 - std_of_activation: 0.0053" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "330/782 [===========>..................] - ETA: 1s - loss: 2.8330 - std_of_activation: 0.0050" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1s - loss: 2.7998 - std_of_activation: 0.0047" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7704 - std_of_activation: 0.0044" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.7435 - 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", "420/782 [===============>..............] - ETA: 0s - loss: 2.7193 - std_of_activation: 0.0039" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 2.6985 - std_of_activation: 0.0037" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "464/782 [================>.............] - ETA: 0s - loss: 2.6798 - 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", "486/782 [=================>............] - ETA: 0s - loss: 2.6627 - 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", "509/782 [==================>...........] - ETA: 0s - loss: 2.6465 - std_of_activation: 0.0033" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "532/782 [===================>..........] - ETA: 0s - loss: 2.6316 - 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", "555/782 [====================>.........] - ETA: 0s - loss: 2.6180 - std_of_activation: 0.0030" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "577/782 [=====================>........] - ETA: 0s - loss: 2.6059 - 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", "600/782 [======================>.......] - ETA: 0s - loss: 2.5942 - 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", "622/782 [======================>.......] - ETA: 0s - loss: 2.5838 - 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", "644/782 [=======================>......] - ETA: 0s - loss: 2.5742 - 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", "666/782 [========================>.....] - ETA: 0s - loss: 2.5653 - 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", "689/782 [=========================>....] - ETA: 0s - loss: 2.5564 - 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", "711/782 [==========================>...] - ETA: 0s - loss: 2.5486 - 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", "733/782 [===========================>..] - ETA: 0s - loss: 2.5412 - 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", "755/782 [===========================>..] - ETA: 0s - loss: 2.5342 - 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", "778/782 [============================>.] - ETA: 0s - loss: 2.5273 - 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 [==============================] - 3s 2ms/step - loss: 2.5264 - 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` 레이어를 생각해 보겠습니다. 이 레이어는 입력으로 targets 및 logits를 받아들이고 `add_loss()`를 통해 교차 엔트로피 손실을 추적합니다. 또한 `add_metric()`를 통해 분류 정확도도 추적합니다." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:16.803311Z", "iopub.status.busy": "2022-12-14T23:00:16.802768Z", "iopub.status.idle": "2022-12-14T23:00:16.808170Z", "shell.execute_reply": "2022-12-14T23:00:16.807544Z" }, "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` 인수 없이 컴파일된 두 개의 입력(입력 data 및 targets)이 있는 모델에서 이를 사용할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:16.811367Z", "iopub.status.busy": "2022-12-14T23:00:16.810887Z", "iopub.status.idle": "2022-12-14T23:00:17.471759Z", "shell.execute_reply": "2022-12-14T23:00:17.471043Z" }, "id": "0f6842f2bbe6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/1 [==============================] - ETA: 0s - loss: 1.0517 - 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 511ms/step - loss: 1.0517 - 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)`을 모델에 전달하여 각 epoch 끝에서 유효성 검사 손실과 유효성 검사 메트릭을 평가했습니다.\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-14T23:00:17.475551Z", "iopub.status.busy": "2022-12-14T23:00:17.474825Z", "iopub.status.idle": "2022-12-14T23:00:20.402996Z", "shell.execute_reply": "2022-12-14T23:00:20.402234Z" }, "id": "232fd59c751b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:10 - loss: 2.3539 - 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.6192 - sparse_categorical_accuracy: 0.5451 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.2018 - 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", " 76/625 [==>...........................] - ETA: 1s - loss: 0.9880 - sparse_categorical_accuracy: 0.7311" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "101/625 [===>..........................] - ETA: 1s - loss: 0.8570 - sparse_categorical_accuracy: 0.7662" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "126/625 [=====>........................] - ETA: 1s - loss: 0.7600 - sparse_categorical_accuracy: 0.7917" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "150/625 [======>.......................] - ETA: 0s - loss: 0.7003 - sparse_categorical_accuracy: 0.8070" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "175/625 [=======>......................] - ETA: 0s - loss: 0.6464 - sparse_categorical_accuracy: 0.8197" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "200/625 [========>.....................] - ETA: 0s - loss: 0.6062 - sparse_categorical_accuracy: 0.8309" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "225/625 [=========>....................] - ETA: 0s - loss: 0.5774 - sparse_categorical_accuracy: 0.8388" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "249/625 [==========>...................] - ETA: 0s - loss: 0.5510 - sparse_categorical_accuracy: 0.8468" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [============>.................] - ETA: 0s - loss: 0.5271 - sparse_categorical_accuracy: 0.8529" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=============>................] - ETA: 0s - loss: 0.5063 - 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", "323/625 [==============>...............] - ETA: 0s - loss: 0.4904 - 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", "348/625 [===============>..............] - ETA: 0s - loss: 0.4767 - 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", "373/625 [================>.............] - ETA: 0s - loss: 0.4648 - 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", "398/625 [==================>...........] - ETA: 0s - loss: 0.4516 - 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", "423/625 [===================>..........] - ETA: 0s - loss: 0.4392 - 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", "448/625 [====================>.........] - ETA: 0s - loss: 0.4293 - 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", "473/625 [=====================>........] - ETA: 0s - loss: 0.4194 - sparse_categorical_accuracy: 0.8819" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "497/625 [======================>.......] - ETA: 0s - loss: 0.4090 - sparse_categorical_accuracy: 0.8848" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "522/625 [========================>.....] - ETA: 0s - loss: 0.4001 - 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", "546/625 [=========================>....] - ETA: 0s - loss: 0.3928 - 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", "570/625 [==========================>...] - ETA: 0s - loss: 0.3872 - sparse_categorical_accuracy: 0.8903" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========================>..] - ETA: 0s - loss: 0.3805 - sparse_categorical_accuracy: 0.8920" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "619/625 [============================>.] - ETA: 0s - loss: 0.3743 - sparse_categorical_accuracy: 0.8940" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3722 - sparse_categorical_accuracy: 0.8945 - val_loss: 0.2303 - val_sparse_categorical_accuracy: 0.9323\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "model.fit(x_train, y_train, batch_size=64, validation_split=0.2, epochs=1)" ] }, { "cell_type": "markdown", "metadata": { "id": "770d19613c53" }, "source": [ "## tf.data 데이터세트로부터 훈련 및 평가\n", "\n", "앞서 몇 단락에 걸쳐 손실, 메트릭 및 옵티마이저를 처리하는 방법을 살펴보았으며, 데이터가 NumPy 배열로 전달될 때 `fit()`에서 `validation_data` 및 `validation_split` 인수를 사용하는 방법도 알아보았습니다.\n", "\n", "이제 데이터가 `tf.data.Dataset` 객체의 형태로 제공되는 경우를 살펴보겠습니다.\n", "\n", "`tf.data` API는 빠르고 확장 가능한 방식으로 데이터를 로드하고 사전 처리하기 위한 TensorFlow 2.0의 유틸리티 세트입니다.\n", "\n", "`Datasets` 생성에 대한 자세한 설명은 [tf.data 설명서](https://www.tensorflow.org/guide/data)를 참조하세요.\n", "\n", "`Dataset` 인스턴스를 메서드 `fit()`, `evaluate()` 및 `predict()`로 직접 전달할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:20.406442Z", "iopub.status.busy": "2022-12-14T23:00:20.406120Z", "iopub.status.idle": "2022-12-14T23:00:27.242469Z", "shell.execute_reply": "2022-12-14T23:00:27.241787Z" }, "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.3733 - sparse_categorical_accuracy: 0.0312" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 23/782 [..............................] - ETA: 1s - loss: 1.6129 - sparse_categorical_accuracy: 0.5476 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.2361 - sparse_categorical_accuracy: 0.6715" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0257 - sparse_categorical_accuracy: 0.7283" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 90/782 [==>...........................] - ETA: 1s - loss: 0.8698 - sparse_categorical_accuracy: 0.7712" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "113/782 [===>..........................] - ETA: 1s - loss: 0.7787 - sparse_categorical_accuracy: 0.7925" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "136/782 [====>.........................] - ETA: 1s - loss: 0.7196 - sparse_categorical_accuracy: 0.8076" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "158/782 [=====>........................] - ETA: 1s - loss: 0.6687 - sparse_categorical_accuracy: 0.8192" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=====>........................] - ETA: 1s - loss: 0.6217 - sparse_categorical_accuracy: 0.8309" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [======>.......................] - ETA: 1s - loss: 0.5950 - 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", "226/782 [=======>......................] - ETA: 1s - loss: 0.5790 - 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", "249/782 [========>.....................] - ETA: 1s - loss: 0.5575 - sparse_categorical_accuracy: 0.8460" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "272/782 [=========>....................] - ETA: 1s - loss: 0.5378 - 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", "295/782 [==========>...................] - ETA: 1s - loss: 0.5172 - sparse_categorical_accuracy: 0.8569" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "318/782 [===========>..................] - ETA: 1s - loss: 0.5021 - sparse_categorical_accuracy: 0.8611" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "341/782 [============>.................] - ETA: 0s - loss: 0.4855 - sparse_categorical_accuracy: 0.8663" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4730 - sparse_categorical_accuracy: 0.8692" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4615 - 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", "410/782 [==============>...............] - ETA: 0s - loss: 0.4506 - 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", "433/782 [===============>..............] - ETA: 0s - loss: 0.4411 - 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", "456/782 [================>.............] - ETA: 0s - loss: 0.4316 - 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", "479/782 [=================>............] - ETA: 0s - loss: 0.4253 - sparse_categorical_accuracy: 0.8819" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "502/782 [==================>...........] - ETA: 0s - loss: 0.4195 - sparse_categorical_accuracy: 0.8833" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [===================>..........] - ETA: 0s - loss: 0.4112 - sparse_categorical_accuracy: 0.8854" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4040 - 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", "572/782 [====================>.........] - ETA: 0s - loss: 0.3966 - 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", "595/782 [=====================>........] - ETA: 0s - loss: 0.3913 - 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", "618/782 [======================>.......] - ETA: 0s - loss: 0.3861 - sparse_categorical_accuracy: 0.8920" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "642/782 [=======================>......] - ETA: 0s - loss: 0.3804 - sparse_categorical_accuracy: 0.8937" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3764 - 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", "688/782 [=========================>....] - ETA: 0s - loss: 0.3701 - sparse_categorical_accuracy: 0.8960" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "711/782 [==========================>...] - ETA: 0s - loss: 0.3661 - 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", "734/782 [===========================>..] - ETA: 0s - loss: 0.3615 - sparse_categorical_accuracy: 0.8983" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "758/782 [============================>.] - ETA: 0s - loss: 0.3574 - sparse_categorical_accuracy: 0.8991" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3543 - sparse_categorical_accuracy: 0.8999" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "782/782 [==============================] - 2s 2ms/step - loss: 0.3543 - sparse_categorical_accuracy: 0.8999\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 3s - loss: 0.1385 - 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", " 24/782 [..............................] - ETA: 1s - loss: 0.2135 - sparse_categorical_accuracy: 0.9382" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1963 - sparse_categorical_accuracy: 0.9448" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 71/782 [=>............................] - ETA: 1s - loss: 0.1889 - sparse_categorical_accuracy: 0.9472" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 95/782 [==>...........................] - ETA: 1s - loss: 0.1846 - 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", "119/782 [===>..........................] - ETA: 1s - loss: 0.1853 - 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", "142/782 [====>.........................] - ETA: 1s - loss: 0.1918 - sparse_categorical_accuracy: 0.9448" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "165/782 [=====>........................] - ETA: 1s - loss: 0.1889 - sparse_categorical_accuracy: 0.9448" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "189/782 [======>.......................] - ETA: 1s - loss: 0.1864 - sparse_categorical_accuracy: 0.9458" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "213/782 [=======>......................] - ETA: 1s - loss: 0.1882 - 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", "237/782 [========>.....................] - ETA: 1s - loss: 0.1890 - 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", "261/782 [=========>....................] - ETA: 1s - loss: 0.1908 - sparse_categorical_accuracy: 0.9437" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1890 - 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", "307/782 [==========>...................] - ETA: 1s - loss: 0.1860 - 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", "330/782 [===========>..................] - ETA: 0s - loss: 0.1859 - 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", "354/782 [============>.................] - ETA: 0s - loss: 0.1836 - sparse_categorical_accuracy: 0.9458" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "377/782 [=============>................] - ETA: 0s - loss: 0.1822 - 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", "401/782 [==============>...............] - ETA: 0s - loss: 0.1819 - sparse_categorical_accuracy: 0.9466" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1818 - 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", "447/782 [================>.............] - ETA: 0s - loss: 0.1799 - sparse_categorical_accuracy: 0.9472" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "471/782 [=================>............] - ETA: 0s - loss: 0.1797 - sparse_categorical_accuracy: 0.9472" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1792 - 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", "517/782 [==================>...........] - ETA: 0s - loss: 0.1796 - sparse_categorical_accuracy: 0.9473" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "541/782 [===================>..........] - ETA: 0s - loss: 0.1786 - sparse_categorical_accuracy: 0.9475" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "565/782 [====================>.........] - ETA: 0s - loss: 0.1771 - sparse_categorical_accuracy: 0.9478" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "588/782 [=====================>........] - ETA: 0s - loss: 0.1769 - sparse_categorical_accuracy: 0.9478" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "611/782 [======================>.......] - ETA: 0s - loss: 0.1752 - 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", "635/782 [=======================>......] - ETA: 0s - loss: 0.1750 - sparse_categorical_accuracy: 0.9485" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "659/782 [========================>.....] - ETA: 0s - loss: 0.1750 - 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", "682/782 [=========================>....] - ETA: 0s - loss: 0.1736 - 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", "705/782 [==========================>...] - ETA: 0s - loss: 0.1725 - 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", "729/782 [==========================>...] - ETA: 0s - loss: 0.1724 - 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", "753/782 [===========================>..] - ETA: 0s - loss: 0.1717 - sparse_categorical_accuracy: 0.9489" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "777/782 [============================>.] - ETA: 0s - loss: 0.1722 - sparse_categorical_accuracy: 0.9487" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "782/782 [==============================] - 2s 2ms/step - loss: 0.1725 - sparse_categorical_accuracy: 0.9486\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 3s - loss: 0.1778 - 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", " 24/782 [..............................] - ETA: 1s - loss: 0.1586 - 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", " 47/782 [>.............................] - ETA: 1s - loss: 0.1419 - sparse_categorical_accuracy: 0.9571" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1317 - 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", " 93/782 [==>...........................] - ETA: 1s - loss: 0.1262 - 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", "116/782 [===>..........................] - ETA: 1s - loss: 0.1306 - sparse_categorical_accuracy: 0.9605" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1314 - 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", "163/782 [=====>........................] - ETA: 1s - loss: 0.1319 - sparse_categorical_accuracy: 0.9609" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "187/782 [======>.......................] - ETA: 1s - loss: 0.1317 - 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", "210/782 [=======>......................] - ETA: 1s - loss: 0.1312 - sparse_categorical_accuracy: 0.9610" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "233/782 [=======>......................] - ETA: 1s - loss: 0.1325 - 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", "256/782 [========>.....................] - ETA: 1s - loss: 0.1330 - sparse_categorical_accuracy: 0.9599" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "280/782 [=========>....................] - ETA: 1s - loss: 0.1335 - sparse_categorical_accuracy: 0.9595" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "304/782 [==========>...................] - ETA: 1s - loss: 0.1312 - sparse_categorical_accuracy: 0.9601" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1313 - sparse_categorical_accuracy: 0.9601" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1300 - sparse_categorical_accuracy: 0.9605" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1289 - 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", "400/782 [==============>...............] - ETA: 0s - loss: 0.1285 - 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", "424/782 [===============>..............] - ETA: 0s - loss: 0.1291 - sparse_categorical_accuracy: 0.9609" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "447/782 [================>.............] - ETA: 0s - loss: 0.1275 - 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", "470/782 [=================>............] - ETA: 0s - loss: 0.1269 - 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", "493/782 [=================>............] - ETA: 0s - loss: 0.1269 - sparse_categorical_accuracy: 0.9613" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "516/782 [==================>...........] - ETA: 0s - loss: 0.1282 - 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", "539/782 [===================>..........] - ETA: 0s - loss: 0.1271 - sparse_categorical_accuracy: 0.9611" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "562/782 [====================>.........] - ETA: 0s - loss: 0.1263 - 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", "586/782 [=====================>........] - ETA: 0s - loss: 0.1262 - 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", "610/782 [======================>.......] - ETA: 0s - loss: 0.1262 - sparse_categorical_accuracy: 0.9617" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "634/782 [=======================>......] - ETA: 0s - loss: 0.1263 - sparse_categorical_accuracy: 0.9617" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "657/782 [========================>.....] - ETA: 0s - loss: 0.1257 - 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", "680/782 [=========================>....] - ETA: 0s - loss: 0.1254 - 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", "704/782 [==========================>...] - ETA: 0s - loss: 0.1248 - 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", "727/782 [==========================>...] - ETA: 0s - loss: 0.1257 - 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", "751/782 [===========================>..] - ETA: 0s - loss: 0.1256 - 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", "775/782 [============================>.] - ETA: 0s - loss: 0.1259 - 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", "782/782 [==============================] - 2s 2ms/step - loss: 0.1259 - sparse_categorical_accuracy: 0.9618\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Evaluate\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/157 [..............................] - ETA: 21s - loss: 0.1123 - 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.1769 - sparse_categorical_accuracy: 0.9521 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 59/157 [==========>...................] - ETA: 0s - loss: 0.1670 - sparse_categorical_accuracy: 0.9526" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 88/157 [===============>..............] - ETA: 0s - loss: 0.1608 - sparse_categorical_accuracy: 0.9528" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "117/157 [=====================>........] - ETA: 0s - loss: 0.1484 - sparse_categorical_accuracy: 0.9573" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/157 [==========================>...] - ETA: 0s - loss: 0.1355 - sparse_categorical_accuracy: 0.9610" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1384 - sparse_categorical_accuracy: 0.9604\n" ] }, { "data": { "text/plain": [ "{'loss': 0.13835842907428741,\n", " 'sparse_categorical_accuracy': 0.9603999853134155}" ] }, "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": [ "데이터세트는 각 epoch의 끝에서 재설정되므로 다음 epoch에서 재사용할 수 있습니다.\n", "\n", "이 데이터세트의 특정 배치 수에 대해서만 훈련을 실행하려면 다음 epoch로 이동하기 전에 이 데이터세트를 사용하여 모델이 실행해야 하는 훈련 단계의 수를 지정하는 `steps_per_epoch` 인수를 전달할 수 있습니다.\n", "\n", "이렇게 하면 각 epoch가 끝날 때 데이터세트가 재설정되지 않고 다음 배치를 계속 가져오게 됩니다. 무한 반복되는 데이터세트가 아니라면 결국 데이터세트의 데이터가 고갈됩니다." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:27.245754Z", "iopub.status.busy": "2022-12-14T23:00:27.245448Z", "iopub.status.idle": "2022-12-14T23:00:29.096565Z", "shell.execute_reply": "2022-12-14T23:00:29.095748Z" }, "id": "273c5dff16b4" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 1:08 - loss: 2.3551 - sparse_categorical_accuracy: 0.1094" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 24/100 [======>.......................] - ETA: 0s - loss: 1.6019 - sparse_categorical_accuracy: 0.5801 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 48/100 [=============>................] - ETA: 0s - loss: 1.1747 - sparse_categorical_accuracy: 0.6940" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 72/100 [====================>.........] - ETA: 0s - loss: 0.9661 - sparse_categorical_accuracy: 0.7500" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [============================>.] - ETA: 0s - loss: 0.8209 - sparse_categorical_accuracy: 0.7862" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8102 - sparse_categorical_accuracy: 0.7884\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 0s - loss: 0.6469 - sparse_categorical_accuracy: 0.8125" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 25/100 [======>.......................] - ETA: 0s - loss: 0.4297 - sparse_categorical_accuracy: 0.8788" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 50/100 [==============>...............] - ETA: 0s - loss: 0.4193 - sparse_categorical_accuracy: 0.8813" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 75/100 [=====================>........] - ETA: 0s - loss: 0.3873 - 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", "100/100 [==============================] - ETA: 0s - loss: 0.3813 - sparse_categorical_accuracy: 0.8923" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3813 - sparse_categorical_accuracy: 0.8923\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/100 [..............................] - ETA: 0s - loss: 0.4356 - sparse_categorical_accuracy: 0.8125" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 26/100 [======>.......................] - ETA: 0s - loss: 0.3825 - 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", " 51/100 [==============>...............] - ETA: 0s - loss: 0.3693 - sparse_categorical_accuracy: 0.8919" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 75/100 [=====================>........] - ETA: 0s - loss: 0.3531 - sparse_categorical_accuracy: 0.8952" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/100 [============================>.] - ETA: 0s - loss: 0.3327 - sparse_categorical_accuracy: 0.9039" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3338 - sparse_categorical_accuracy: 0.9034\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-14T23:00:29.100214Z", "iopub.status.busy": "2022-12-14T23:00:29.099471Z", "iopub.status.idle": "2022-12-14T23:00:32.319112Z", "shell.execute_reply": "2022-12-14T23:00:32.318375Z" }, "id": "bf4f3d78e69a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:54 - loss: 2.2756 - 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", " 25/782 [..............................] - ETA: 1s - loss: 1.5769 - sparse_categorical_accuracy: 0.5675 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1680 - sparse_categorical_accuracy: 0.6978" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9598 - sparse_categorical_accuracy: 0.7502" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8272 - sparse_categorical_accuracy: 0.7836" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7419 - sparse_categorical_accuracy: 0.8044" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "150/782 [====>.........................] - ETA: 1s - loss: 0.6835 - 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", "175/782 [=====>........................] - ETA: 1s - loss: 0.6363 - sparse_categorical_accuracy: 0.8286" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6011 - sparse_categorical_accuracy: 0.8368" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5829 - 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", "248/782 [========>.....................] - ETA: 1s - loss: 0.5553 - 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", "273/782 [=========>....................] - ETA: 1s - loss: 0.5351 - sparse_categorical_accuracy: 0.8532" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5148 - sparse_categorical_accuracy: 0.8588" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "322/782 [===========>..................] - ETA: 0s - loss: 0.4988 - 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", "347/782 [============>.................] - ETA: 0s - loss: 0.4825 - sparse_categorical_accuracy: 0.8675" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4688 - sparse_categorical_accuracy: 0.8708" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4546 - 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", "421/782 [===============>..............] - ETA: 0s - loss: 0.4442 - sparse_categorical_accuracy: 0.8773" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4346 - sparse_categorical_accuracy: 0.8794" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4259 - 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", "494/782 [=================>............] - ETA: 0s - loss: 0.4187 - sparse_categorical_accuracy: 0.8829" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "519/782 [==================>...........] - ETA: 0s - loss: 0.4113 - sparse_categorical_accuracy: 0.8848" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4026 - sparse_categorical_accuracy: 0.8872" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3953 - 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", "594/782 [=====================>........] - ETA: 0s - loss: 0.3904 - sparse_categorical_accuracy: 0.8903" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3837 - 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", "643/782 [=======================>......] - ETA: 0s - loss: 0.3786 - 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", "667/782 [========================>.....] - ETA: 0s - loss: 0.3740 - 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", "691/782 [=========================>....] - ETA: 0s - loss: 0.3680 - sparse_categorical_accuracy: 0.8960" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "715/782 [==========================>...] - ETA: 0s - loss: 0.3637 - sparse_categorical_accuracy: 0.8970" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "740/782 [===========================>..] - ETA: 0s - loss: 0.3587 - sparse_categorical_accuracy: 0.8982" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "765/782 [============================>.] - ETA: 0s - loss: 0.3545 - 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", "782/782 [==============================] - 3s 3ms/step - loss: 0.3518 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.1890 - val_sparse_categorical_accuracy: 0.9453\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": [ "각 epoch가 끝날 때 모델은 검증 데이터세트를 반복하고 유효성 검사 손실 및 검증 메트릭을 계산합니다.\n", "\n", "이 데이터세트의 특정 배치 수에 대해서만 유효성 검사를 실행하려면 유효성 검사를 중단하고 다음 epoch로 넘어가기 전에 유효성 검사 데이터세트에서 모델이 실행해야 하는 유효성 검사 단계의 수를 지정하는 `validation_steps` 인수를 전달할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:32.322345Z", "iopub.status.busy": "2022-12-14T23:00:32.322039Z", "iopub.status.idle": "2022-12-14T23:00:35.415897Z", "shell.execute_reply": "2022-12-14T23:00:35.415224Z" }, "id": "f47342fed069" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 8:57 - loss: 2.3372 - 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", " 24/782 [..............................] - ETA: 1s - loss: 1.6025 - sparse_categorical_accuracy: 0.5540 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1833 - sparse_categorical_accuracy: 0.6902" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9709 - sparse_categorical_accuracy: 0.7460" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8341 - sparse_categorical_accuracy: 0.7804" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7459 - 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", "140/782 [====>.........................] - ETA: 1s - loss: 0.6881 - sparse_categorical_accuracy: 0.8137" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "164/782 [=====>........................] - ETA: 1s - loss: 0.6377 - sparse_categorical_accuracy: 0.8277" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "188/782 [======>.......................] - ETA: 1s - loss: 0.6011 - sparse_categorical_accuracy: 0.8368" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "211/782 [=======>......................] - ETA: 1s - loss: 0.5776 - 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", "235/782 [========>.....................] - ETA: 1s - loss: 0.5559 - 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", "259/782 [========>.....................] - ETA: 1s - loss: 0.5336 - sparse_categorical_accuracy: 0.8536" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5133 - sparse_categorical_accuracy: 0.8587" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [==========>...................] - ETA: 1s - loss: 0.4938 - 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", "330/782 [===========>..................] - ETA: 0s - loss: 0.4788 - 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", "353/782 [============>.................] - ETA: 0s - loss: 0.4660 - sparse_categorical_accuracy: 0.8710" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4539 - 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", "399/782 [==============>...............] - ETA: 0s - loss: 0.4406 - sparse_categorical_accuracy: 0.8773" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4323 - sparse_categorical_accuracy: 0.8798" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4219 - sparse_categorical_accuracy: 0.8827" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "468/782 [================>.............] - ETA: 0s - loss: 0.4140 - 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", "492/782 [=================>............] - ETA: 0s - loss: 0.4080 - sparse_categorical_accuracy: 0.8860" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "515/782 [==================>...........] - ETA: 0s - loss: 0.4015 - 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", "539/782 [===================>..........] - ETA: 0s - loss: 0.3926 - 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", "563/782 [====================>.........] - ETA: 0s - loss: 0.3848 - 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\r", "587/782 [=====================>........] - ETA: 0s - loss: 0.3787 - sparse_categorical_accuracy: 0.8936" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3726 - sparse_categorical_accuracy: 0.8953" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "635/782 [=======================>......] - ETA: 0s - loss: 0.3676 - sparse_categorical_accuracy: 0.8968" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "658/782 [========================>.....] - ETA: 0s - loss: 0.3623 - sparse_categorical_accuracy: 0.8982" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "682/782 [=========================>....] - ETA: 0s - loss: 0.3575 - sparse_categorical_accuracy: 0.8995" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3524 - sparse_categorical_accuracy: 0.9009" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "729/782 [==========================>...] - ETA: 0s - loss: 0.3480 - 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", "752/782 [===========================>..] - ETA: 0s - loss: 0.3441 - sparse_categorical_accuracy: 0.9028" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "775/782 [============================>.] - ETA: 0s - loss: 0.3406 - sparse_categorical_accuracy: 0.9037" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "782/782 [==============================] - 3s 2ms/step - loss: 0.3395 - sparse_categorical_accuracy: 0.9040 - val_loss: 0.2919 - val_sparse_categorical_accuracy: 0.9109\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": [ "유효성 검사 데이터세트는 사용 후 매번 재설정되므로 epoch마다 항상 동일한 샘플을 평가하게 됩니다.\n", "\n", "인수 `validation_split`(훈련 데이터로부터 홀드아웃 세트 생성)는 `Dataset` 객체로 훈련할 때는 지원되지 않는데, 이를 위해서는 데이터세트 샘플을 인덱싱할 수 있어야 하지만 `Dataset` API에서는 일반적으로 이것이 불가능하기 때문입니다." ] }, { "cell_type": "markdown", "metadata": { "id": "8160beb766a0" }, "source": [ "## 지원되는 다른 입력 형식\n", "\n", "NumPy 배열, 즉시 실행 텐서 및 TensorFlow `Datasets` 외에도 Pandas 데이터프레임을 사용하거나 데이터 및 레이블의 배치를 생성하는 Python 생성기에서 Keras 모델을 훈련할 수 있습니다.\n", "\n", "특히, `keras.utils.Sequence` 클래스는 멀티스레딩을 인식하고 셔플이 가능한 Python 데이터 생성기를 빌드하기 위한 간단한 인터페이스를 제공합니다.\n", "\n", "일반적으로 다음을 사용하는 것이 좋습니다.\n", "\n", "- 데이터가 작고 메모리에 맞는 경우 NumPy 입력 데이터\n", "- 큰 데이터세트가 있고 분산 훈련을 수행해야 하는 경우 `Dataset` 객체\n", "- 큰 데이터세트가 있고 TensorFlow에서 수행할 수 없는 많은 사용자 정의 Python 측 처리를 수행해야 하는 경우(예: 데이터 로드 또는 사전 처리를 위해 외부 라이브러리에 의존하는 경우) `Sequence` 객체\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__` 메서드는 완전한 배치를 반환해야 합니다. epoch 사이에서 데이터세트를 수정하려면 `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": [ "다음은 클래스 #5(MNIST 데이터세트에서 숫자 \"5\")의 올바른 분류에 더 많은 중요성을 두도록 클래스 가중치 또는 샘플 가중치를 사용하는 NumPy 예입니다." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:35.419806Z", "iopub.status.busy": "2022-12-14T23:00:35.419184Z", "iopub.status.idle": "2022-12-14T23:00:38.376546Z", "shell.execute_reply": "2022-12-14T23:00:38.375904Z" }, "id": "f1844f2329a6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fit with class weight\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:03 - loss: 2.6457 - 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", " 22/782 [..............................] - ETA: 1s - loss: 1.8089 - sparse_categorical_accuracy: 0.5632 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 44/782 [>.............................] - ETA: 1s - loss: 1.3815 - sparse_categorical_accuracy: 0.6758" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 66/782 [=>............................] - ETA: 1s - loss: 1.1482 - sparse_categorical_accuracy: 0.7289" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 87/782 [==>...........................] - ETA: 1s - loss: 1.0009 - sparse_categorical_accuracy: 0.7590" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.9004 - sparse_categorical_accuracy: 0.7823" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8311 - 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\r", "151/782 [====>.........................] - ETA: 1s - loss: 0.7691 - sparse_categorical_accuracy: 0.8126" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7209 - sparse_categorical_accuracy: 0.8236" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6787 - sparse_categorical_accuracy: 0.8327" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6451 - sparse_categorical_accuracy: 0.8396" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "238/782 [========>.....................] - ETA: 1s - loss: 0.6217 - sparse_categorical_accuracy: 0.8445" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5964 - sparse_categorical_accuracy: 0.8503" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/782 [=========>....................] - ETA: 1s - loss: 0.5785 - sparse_categorical_accuracy: 0.8549" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "303/782 [==========>...................] - ETA: 1s - loss: 0.5630 - sparse_categorical_accuracy: 0.8587" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "325/782 [===========>..................] - ETA: 1s - loss: 0.5486 - sparse_categorical_accuracy: 0.8620" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1s - loss: 0.5326 - sparse_categorical_accuracy: 0.8662" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "368/782 [=============>................] - ETA: 0s - loss: 0.5183 - sparse_categorical_accuracy: 0.8688" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "389/782 [=============>................] - ETA: 0s - loss: 0.5066 - sparse_categorical_accuracy: 0.8719" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "410/782 [==============>...............] - ETA: 0s - loss: 0.4946 - 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", "431/782 [===============>..............] - ETA: 0s - loss: 0.4856 - sparse_categorical_accuracy: 0.8768" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "452/782 [================>.............] - ETA: 0s - loss: 0.4750 - sparse_categorical_accuracy: 0.8794" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4691 - sparse_categorical_accuracy: 0.8811" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4603 - sparse_categorical_accuracy: 0.8829" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "515/782 [==================>...........] - ETA: 0s - loss: 0.4518 - 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", "537/782 [===================>..........] - ETA: 0s - loss: 0.4442 - 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", "559/782 [====================>.........] - ETA: 0s - loss: 0.4372 - 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", "581/782 [=====================>........] - ETA: 0s - loss: 0.4298 - 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", "603/782 [======================>.......] - ETA: 0s - loss: 0.4228 - sparse_categorical_accuracy: 0.8910" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4167 - sparse_categorical_accuracy: 0.8925" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4100 - sparse_categorical_accuracy: 0.8941" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "670/782 [========================>.....] - ETA: 0s - loss: 0.4039 - 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", "692/782 [=========================>....] - ETA: 0s - loss: 0.3983 - 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", "713/782 [==========================>...] - ETA: 0s - loss: 0.3935 - sparse_categorical_accuracy: 0.8978" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "735/782 [===========================>..] - ETA: 0s - loss: 0.3867 - 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", "756/782 [============================>.] - ETA: 0s - loss: 0.3817 - sparse_categorical_accuracy: 0.9004" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "777/782 [============================>.] - ETA: 0s - loss: 0.3776 - 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", "782/782 [==============================] - 3s 2ms/step - loss: 0.3768 - sparse_categorical_accuracy: 0.9018\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` 또는 다른 종류의 반복기에서 훈련하는 경우: Yield `(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-14T23:00:38.380303Z", "iopub.status.busy": "2022-12-14T23:00:38.379555Z", "iopub.status.idle": "2022-12-14T23:00:55.723933Z", "shell.execute_reply": "2022-12-14T23:00:55.723227Z" }, "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:12 - loss: 2.5484 - 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", " 24/782 [..............................] - ETA: 1s - loss: 1.7734 - sparse_categorical_accuracy: 0.5371 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 48/782 [>.............................] - ETA: 1s - loss: 1.3452 - sparse_categorical_accuracy: 0.6569" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 1.1287 - sparse_categorical_accuracy: 0.7124" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 94/782 [==>...........................] - ETA: 1s - loss: 0.9859 - sparse_categorical_accuracy: 0.7488" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "117/782 [===>..........................] - ETA: 1s - loss: 0.8934 - sparse_categorical_accuracy: 0.7731" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "140/782 [====>.........................] - ETA: 1s - loss: 0.8206 - 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", "163/782 [=====>........................] - ETA: 1s - loss: 0.7649 - 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", "187/782 [======>.......................] - ETA: 1s - loss: 0.7193 - sparse_categorical_accuracy: 0.8163" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6807 - sparse_categorical_accuracy: 0.8264" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "233/782 [=======>......................] - ETA: 1s - loss: 0.6494 - sparse_categorical_accuracy: 0.8342" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "256/782 [========>.....................] - ETA: 1s - loss: 0.6191 - sparse_categorical_accuracy: 0.8419" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "280/782 [=========>....................] - ETA: 1s - loss: 0.5924 - sparse_categorical_accuracy: 0.8485" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "303/782 [==========>...................] - ETA: 1s - loss: 0.5729 - sparse_categorical_accuracy: 0.8534" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "325/782 [===========>..................] - ETA: 1s - loss: 0.5535 - sparse_categorical_accuracy: 0.8576" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5370 - sparse_categorical_accuracy: 0.8617" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "370/782 [=============>................] - ETA: 0s - loss: 0.5239 - sparse_categorical_accuracy: 0.8649" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5099 - sparse_categorical_accuracy: 0.8685" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "418/782 [===============>..............] - ETA: 0s - loss: 0.4984 - sparse_categorical_accuracy: 0.8716" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4869 - sparse_categorical_accuracy: 0.8744" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "463/782 [================>.............] - ETA: 0s - loss: 0.4759 - sparse_categorical_accuracy: 0.8768" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "486/782 [=================>............] - ETA: 0s - loss: 0.4674 - sparse_categorical_accuracy: 0.8786" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "509/782 [==================>...........] - ETA: 0s - loss: 0.4583 - 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", "532/782 [===================>..........] - ETA: 0s - loss: 0.4496 - sparse_categorical_accuracy: 0.8833" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "555/782 [====================>.........] - ETA: 0s - loss: 0.4425 - 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", "578/782 [=====================>........] - ETA: 0s - loss: 0.4347 - sparse_categorical_accuracy: 0.8869" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "601/782 [======================>.......] - ETA: 0s - loss: 0.4282 - sparse_categorical_accuracy: 0.8883" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "624/782 [======================>.......] - ETA: 0s - loss: 0.4200 - sparse_categorical_accuracy: 0.8901" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4135 - 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", "671/782 [========================>.....] - ETA: 0s - loss: 0.4073 - 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", "694/782 [=========================>....] - ETA: 0s - loss: 0.4027 - 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", "717/782 [==========================>...] - ETA: 0s - loss: 0.3982 - sparse_categorical_accuracy: 0.8954" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "740/782 [===========================>..] - ETA: 0s - loss: 0.3923 - 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\r", "764/782 [============================>.] - ETA: 0s - loss: 0.3871 - 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", "782/782 [==============================] - 2s 2ms/step - loss: 0.3830 - sparse_categorical_accuracy: 0.8991\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-14T23:00:55.727948Z", "iopub.status.busy": "2022-12-14T23:00:55.727258Z", "iopub.status.idle": "2022-12-14T23:00:58.712143Z", "shell.execute_reply": "2022-12-14T23:00:58.711486Z" }, "id": "c870f3f0c66c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/782 [..............................] - ETA: 9:30 - loss: 2.4600 - 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", " 23/782 [..............................] - ETA: 1s - loss: 1.6936 - sparse_categorical_accuracy: 0.5482 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.2644 - sparse_categorical_accuracy: 0.6797" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 70/782 [=>............................] - ETA: 1s - loss: 1.0256 - sparse_categorical_accuracy: 0.7431" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 93/782 [==>...........................] - ETA: 1s - loss: 0.8861 - sparse_categorical_accuracy: 0.7779" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.8020 - sparse_categorical_accuracy: 0.7982" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.7464 - 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", "162/782 [=====>........................] - ETA: 1s - loss: 0.6929 - sparse_categorical_accuracy: 0.8254" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.6508 - sparse_categorical_accuracy: 0.8347" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "209/782 [=======>......................] - ETA: 1s - loss: 0.6245 - sparse_categorical_accuracy: 0.8410" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "232/782 [=======>......................] - ETA: 1s - loss: 0.6048 - sparse_categorical_accuracy: 0.8454" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5810 - sparse_categorical_accuracy: 0.8509" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5614 - 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", "302/782 [==========>...................] - ETA: 1s - loss: 0.5424 - sparse_categorical_accuracy: 0.8602" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "325/782 [===========>..................] - ETA: 1s - loss: 0.5260 - sparse_categorical_accuracy: 0.8650" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5115 - sparse_categorical_accuracy: 0.8686" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4964 - 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", "394/782 [==============>...............] - ETA: 0s - loss: 0.4833 - sparse_categorical_accuracy: 0.8754" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "418/782 [===============>..............] - ETA: 0s - loss: 0.4723 - sparse_categorical_accuracy: 0.8776" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "442/782 [===============>..............] - ETA: 0s - loss: 0.4621 - sparse_categorical_accuracy: 0.8801" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4524 - sparse_categorical_accuracy: 0.8822" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "489/782 [=================>............] - ETA: 0s - loss: 0.4455 - sparse_categorical_accuracy: 0.8840" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "512/782 [==================>...........] - ETA: 0s - loss: 0.4379 - 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", "536/782 [===================>..........] - ETA: 0s - loss: 0.4286 - 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", "559/782 [====================>.........] - ETA: 0s - loss: 0.4206 - 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", "583/782 [=====================>........] - ETA: 0s - loss: 0.4142 - 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", "606/782 [======================>.......] - ETA: 0s - loss: 0.4083 - 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", "629/782 [=======================>......] - ETA: 0s - loss: 0.4026 - 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", "652/782 [========================>.....] - ETA: 0s - loss: 0.3974 - sparse_categorical_accuracy: 0.8958" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "676/782 [========================>.....] - ETA: 0s - loss: 0.3922 - sparse_categorical_accuracy: 0.8968" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "699/782 [=========================>....] - ETA: 0s - loss: 0.3862 - 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", "722/782 [==========================>...] - ETA: 0s - loss: 0.3823 - sparse_categorical_accuracy: 0.8992" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "744/782 [===========================>..] - ETA: 0s - loss: 0.3777 - 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", "767/782 [============================>.] - ETA: 0s - loss: 0.3740 - sparse_categorical_accuracy: 0.9010" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "782/782 [==============================] - 2s 2ms/step - loss: 0.3715 - sparse_categorical_accuracy: 0.9016\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)`)의 시계열 입력이 있는 다음 모델을 고려해 보겠습니다. 이 모델은 이러한 입력의 조합으로부터 계산된 다음의 두 출력을 가질 것입니다. \"score\"(형상 `(1,)`) 및 다섯 개의 클래스에 걸친 확률 분포(형상 `(5,)`)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:58.715779Z", "iopub.status.busy": "2022-12-14T23:00:58.715167Z", "iopub.status.idle": "2022-12-14T23:00:58.778272Z", "shell.execute_reply": "2022-12-14T23:00:58.777659Z" }, "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-14T23:00:58.781782Z", "iopub.status.busy": "2022-12-14T23:00:58.781210Z", "iopub.status.idle": "2022-12-14T23:00:59.028082Z", "shell.execute_reply": "2022-12-14T23:00:59.027299Z" }, "id": "ac8c1baca9e3" }, "outputs": [ { "data": { "image/png": "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7BTvX+anOca8xoiUcnJy0KlTJ2uHYTSViIi1gzCFpKQkxMfHWzsMIiKyI1u2bOF88q1IXFwckpOTrR0GERHZodjYWGzdutXaYRhjq810FhBR82j+0OF/AYiIiKghzBeI7M5WjllARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERArsLCAiIiIiIiIiBXYWEBEREREREZECOwuIiIiIiIiISIGdBURERERERESkwM4CIiIiIiIiIlJgZwERERERERERKbCzgIiIiIiIiIgU2FlARERERERERApO1g6AiCzn0KFDSE1NVZSdPXsWAPD+++8rysPCwvA///M/FouNiIiIWgbmC0QEACoREWsHQUSWceDAAYwZMwbOzs5wcND/YFFtbS2qq6uxf/9+REZGWjhCIiIisjbmC0QEYCs7C4jsSG1tLQICApCfn99ovXbt2iE3NxeOjo4WioyIiIhaCuYLRARgK8csILIjDg4OmDp1KlxcXBqs4+LigmnTpvHGT0REZKeYLxARwAEOiezOk08+iTt37jS4/M6dO3jyySctGBERERG1NMwXiIivIRDZoS5duuDy5ct6lwUHB+Py5ctQqVQWjoqIiIhaEuYLRHaNryEQ2aPp06fD2dlZp9zZ2RlPP/00b/xERETEfIHIzvHJAiI7dPbsWfzud7/Tu+zUqVPo16+fhSMiIiKilob5ApFd45MFRPaoT58+6Nevn85/BPr27csbPxEREQFgvkBk79hZQGSn/vCHPyhGMHZ2dsZTTz1lxYiIiIiopWG+QGS/+BoCkZ26cuUKHnjgAWi+AlQqFS5cuIAuXbpYNzAiIiJqMZgvENktvoZAZK+Cg4MxdOhQODg4wMHBAUOHDuWNn4iI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IV5eXlKvXj3p0qWLfP/99yZxxMTEiL+/f4UjgtwrNzdXUlNTJS4uTho3bize3t7i7+8vUVFR8v7771eYBP/888/StWtXqVWrlvj7+0tMTIzZc8Vd40lISJCwsDC5c+dOlesoj8UCcrT7TS5dMV8QEdm0aVOFuYK5YQcdmS/Yep0zV1B2NAQR5hH3ctftFlEmPzCHxQIjLBZU5X6KBWQfrnjR6hMAV2PL+Z6TkyNhYWGSnJzsoKiUdePGDdFoNJKUlKR0KCLinvEcPHhQVCqVyTBQlmKxgBzNFe9TNY0rXueumivY+3xnHlEzuUJ+YA4/z41w6EQiuj86nQ6bNm3CunXrDI2pagoRQUpKCmrVqoWpU6cqHY5bxnPu3DnEx8fj9ddfR//+/R2yDiIiUg7ziJqH+UHNwWIBEd23tm3bYt++ffj222+Rl5endDh2c/XqVZw7dw7btm27r+7ijMd2CxcuxLRp0zBt2jSHLJ+IiJTHPKJmYX5Qc6irnoWILDVz5kxMnDjR8N8qlQpTpkzBe++9p2BU1aNx48YVjn/rqkJCQgxjfjsDd4xn+vTpDl0+EVF1c+dcoTLMI2oO5gc1B4sFRHY0YcIETJgwQekwiIiIyEkxVyAiV8GfIRARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywgaHFvjoo4+wdu1apcNwW3v27AEAJCQkKByJe+D5TjXNpUuXlA6B3MCePXt4n1KQ/jrnMXA85mVUk+3ZswdPPPGE0mE4DZWIiNJBODN+EFJNd+TIEQBA69atFY6EyLFYBCNH+fDDD7F7926lwyByKOYL5C6efPJJjBs3TukwnMFaFguI3Fy/fv0AAGlpaQpHQkRERM6K+QKR21nLngVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERGWCwgIiIiIiIiIiMsFhARERERERGRERYLiIiIiIiIiMgIiwVEREREREREZITFAiIiIiIiIiIywmIBERERERERERlhsYCIiIiIiIiIjLBYQERERERERERG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txxCz922W8nc4L6LBUVFRcjPz4evry/8/f1NXi/fxbGy5eTm5sLX19fscDLBwcEAgMzMTKPpQUFBZpvK1a9fHwDw+++/AwByc3Px9ttvo3Xr1ggMDDT8JmXixIkAgIKCAovitEatWrWM/tvDwwOenp7w8/Mzmu7p6Wnym0db4p06dSratWuHXbt2ISEhAR4e93d4K0qA79231hw3W4+xLco3/fD29gYAw36+n/O2pKQECQkJCAsLw+eff262UFDV8vX70NlVtR/vZcn5UtP5+voCAIqLi616X0pKChITE/HLL7+YHSrpfq4dS66F3NxclJWVQafTGf1mT6VS4eeffwYAnD592qptskSPHj0AwGg0AX2Sbe4Ge/nyZQBwWKLsCvHcq6SkxOUbpjGHqBhziJqZQ1iCOcQfmENUzV1zCHfd7urODe67WODj44OAgAAUFhbi5s2bJq9benH7+PhAp9OhsLDQpFHQK8WQAAAgAElEQVQPAFy9ehXA3WrNvXJzc80uT79e/YdMjx49MHXqVAwfPhynTp1CWVkZRAQfffQRADjdkHe2xLt9+3bk5uaidevWGDlyJA4dOnRfMVy7ds3seu7dt9YcN1uPsSPcz3mbnJyMoqIipKWlGTXJadasGfbs2WPR8q9fv26HrXAulpwveh4eHrhz547JvBU10XKVUSZCQ0MBVPy5VJnU1FS0aNECS5YswfLly41ec+S14+Pjg9q1a0OtVqO4uBgiYvZfp06drF62JesGjK8H/Xr2799vMr9+WmxsrN1jcZV49PLy8iAihnPOVTGHcAzmEI5lr/PW1uUzh2AOUZ475hCAe253decGdvkZQteuXQH88ciUXmZmplVdovv06QMAJsM9FBUVYdu2bdBoNCaPY928edPkhnbkyBFkZGQgMjISoaGhKC0txc6dOxESEoKUlBTUq1fP8MHhjI9w2hLv+fPnMWzYMHz55Zf4+uuvodFo0KtXL2RlZdkcR2FhIdLT042mld+3gHXHzZZj7Ci2nLfvvvsujh49io0bNxouVmuXn52djZMnT9oattOy9HwB7t4Q9d/K6mVmZuK3334zu2w/Pz+jxKBFixZYtGiRHaO3j1atWgEw/y10Vfz9/fHll19Cq9Xik08+MXndkddOfHw8SkpKzHYpnz59Oho2bGjzmL0TJkwwdFgv79tvvwVg/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+/rrr7F7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\n", "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keras.utils.plot_model(model, \"multi_input_and_output_model.png\", show_shapes=True)" ] }, { "cell_type": "markdown", "metadata": { "id": "4d979e89b335" }, "source": [ "컴파일할 때 손실 함수를 목록으로 전달하여 출력마다 다른 손실을 지정할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:59.032195Z", "iopub.status.busy": "2022-12-14T23:00:59.031661Z", "iopub.status.idle": "2022-12-14T23:00:59.046279Z", "shell.execute_reply": "2022-12-14T23:00:59.045630Z" }, "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-14T23:00:59.049735Z", "iopub.status.busy": "2022-12-14T23:00:59.049161Z", "iopub.status.idle": "2022-12-14T23:00:59.064951Z", "shell.execute_reply": "2022-12-14T23:00:59.064310Z" }, "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-14T23:00:59.068267Z", "iopub.status.busy": "2022-12-14T23:00:59.067818Z", "iopub.status.idle": "2022-12-14T23:00:59.082445Z", "shell.execute_reply": "2022-12-14T23:00:59.081885Z" }, "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": [ "출력이 두 개 이상인 경우 명시적 이름과 사전을 사용하는 것이 좋습니다.\n", "\n", "`loss_weights` 인수를 사용하여 출력별 손실에 서로 다른 가중치를 부여할 수 있습니다(예를 들어, 클래스 손실에 2x의 중요도를 부여하여 이 예에서 \"score\" 손실에 우선권을 줄 수 있음)." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:00:59.085910Z", "iopub.status.busy": "2022-12-14T23:00:59.085295Z", "iopub.status.idle": "2022-12-14T23:00:59.099991Z", "shell.execute_reply": "2022-12-14T23:00:59.099440Z" }, "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-14T23:00:59.103156Z", "iopub.status.busy": "2022-12-14T23:00:59.102713Z", "iopub.status.idle": "2022-12-14T23:00:59.116828Z", "shell.execute_reply": "2022-12-14T23:00:59.116277Z" }, "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-14T23:00:59.120073Z", "iopub.status.busy": "2022-12-14T23:00:59.119631Z", "iopub.status.idle": "2022-12-14T23:01:01.962659Z", "shell.execute_reply": "2022-12-14T23:01:01.961876Z" }, "id": "0539da84328b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/4 [======>.......................] - ETA: 6s - loss: 13.0126 - score_output_loss: 0.1630 - class_output_loss: 12.8495" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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 10ms/step - loss: 12.6268 - score_output_loss: 0.1838 - class_output_loss: 12.4430\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/4 [======>.......................] - ETA: 1s - loss: 12.3273 - score_output_loss: 0.1582 - class_output_loss: 12.1691" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 11.8610 - score_output_loss: 0.1694 - class_output_loss: 11.6916\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-14T23:01:01.966251Z", "iopub.status.busy": "2022-12-14T23:01:01.965613Z", "iopub.status.idle": "2022-12-14T23:01:02.435774Z", "shell.execute_reply": "2022-12-14T23:01:02.435100Z" }, "id": "4df41a12ed2c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/2 [==============>...............] - ETA: 0s - loss: 12.0797 - score_output_loss: 0.1726 - class_output_loss: 11.9072" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 11.3569 - score_output_loss: 0.1599 - class_output_loss: 11.1969\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의 콜백은 훈련 중 다른 시점(epoch의 시작, 배치의 끝, epoch의 끝 등)에서 호출되며 다음과 같은 특정 동작을 구현하는 데 사용할 수 있는 객체입니다.\n", "\n", "- 훈련 중 서로 다른 시점에서 유효성 검사 수행(내장된 epoch당 유효성 검사에서 더욱 확장)\n", "- 정기적으로 또는 특정 정확도 임계값을 초과할 때 모델 검사점 설정\n", "- 훈련이 평탄해진 것으로 보일 때 모델의 학습률 변경\n", "- 훈련이 평탄해진 것으로 보일 때 최상위 레이어의 미세 조정 수행\n", "- 훈련이 종료되거나 특정 성능 임계값이 초과된 경우 이메일 또는 인스턴트 메시지로 알림 보내기\n", "- 기타\n", "\n", "콜백은 `fit()`에 대한 호출에 목록으로 전달할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:01:02.438916Z", "iopub.status.busy": "2022-12-14T23:01:02.438664Z", "iopub.status.idle": "2022-12-14T23:01:13.113942Z", "shell.execute_reply": "2022-12-14T23:01:13.113301Z" }, "id": "15036ddbee42" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 7:07 - loss: 2.3960 - 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", " 25/625 [>.............................] - ETA: 1s - loss: 1.4598 - sparse_categorical_accuracy: 0.5906 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 50/625 [=>............................] - ETA: 1s - loss: 1.1125 - sparse_categorical_accuracy: 0.6934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 75/625 [==>...........................] - ETA: 1s - loss: 0.9329 - sparse_categorical_accuracy: 0.7437" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "100/625 [===>..........................] - ETA: 1s - loss: 0.8206 - sparse_categorical_accuracy: 0.7758" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "125/625 [=====>........................] - ETA: 1s - loss: 0.7474 - sparse_categorical_accuracy: 0.7949" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "150/625 [======>.......................] - ETA: 0s - loss: 0.6854 - sparse_categorical_accuracy: 0.8122" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======>......................] - ETA: 0s - loss: 0.6336 - sparse_categorical_accuracy: 0.8266" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [========>.....................] - ETA: 0s - loss: 0.6003 - sparse_categorical_accuracy: 0.8357" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "226/625 [=========>....................] - ETA: 0s - loss: 0.5711 - sparse_categorical_accuracy: 0.8432" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========>..................] - ETA: 0s - loss: 0.5476 - sparse_categorical_accuracy: 0.8496" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "277/625 [============>.................] - ETA: 0s - loss: 0.5284 - sparse_categorical_accuracy: 0.8550" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "303/625 [=============>................] - ETA: 0s - loss: 0.5078 - 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", "328/625 [==============>...............] - ETA: 0s - loss: 0.4940 - 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", "353/625 [===============>..............] - ETA: 0s - loss: 0.4778 - sparse_categorical_accuracy: 0.8687" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "377/625 [=================>............] - ETA: 0s - loss: 0.4681 - sparse_categorical_accuracy: 0.8712" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "402/625 [==================>...........] - ETA: 0s - loss: 0.4559 - 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", "428/625 [===================>..........] - ETA: 0s - loss: 0.4448 - sparse_categorical_accuracy: 0.8766" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "453/625 [====================>.........] - ETA: 0s - loss: 0.4357 - 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", "477/625 [=====================>........] - ETA: 0s - loss: 0.4261 - sparse_categorical_accuracy: 0.8815" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======================>......] - ETA: 0s - loss: 0.4173 - 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", "526/625 [========================>.....] - ETA: 0s - loss: 0.4096 - 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", "551/625 [=========================>....] - ETA: 0s - loss: 0.4021 - 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", "576/625 [==========================>...] - ETA: 0s - loss: 0.3959 - sparse_categorical_accuracy: 0.8895" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "602/625 [===========================>..] - ETA: 0s - loss: 0.3892 - sparse_categorical_accuracy: 0.8912" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "625/625 [==============================] - 3s 3ms/step - loss: 0.3826 - sparse_categorical_accuracy: 0.8929 - val_loss: 0.2449 - val_sparse_categorical_accuracy: 0.9290\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1012 - sparse_categorical_accuracy: 0.9688" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 25/625 [>.............................] - ETA: 1s - loss: 0.2440 - sparse_categorical_accuracy: 0.9312" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 50/625 [=>............................] - ETA: 1s - loss: 0.2266 - sparse_categorical_accuracy: 0.9366" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 75/625 [==>...........................] - ETA: 1s - loss: 0.2170 - sparse_categorical_accuracy: 0.9383" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "100/625 [===>..........................] - ETA: 1s - loss: 0.2190 - sparse_categorical_accuracy: 0.9383" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "124/625 [====>.........................] - ETA: 1s - loss: 0.2183 - sparse_categorical_accuracy: 0.9378" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "149/625 [======>.......................] - ETA: 0s - loss: 0.2163 - sparse_categorical_accuracy: 0.9392" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "174/625 [=======>......................] - ETA: 0s - loss: 0.2086 - sparse_categorical_accuracy: 0.9413" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "199/625 [========>.....................] - ETA: 0s - loss: 0.2039 - 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", "224/625 [=========>....................] - ETA: 0s - loss: 0.2027 - 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", "249/625 [==========>...................] - ETA: 0s - loss: 0.2014 - sparse_categorical_accuracy: 0.9430" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "274/625 [============>.................] - ETA: 0s - loss: 0.2019 - 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", "299/625 [=============>................] - ETA: 0s - loss: 0.1971 - sparse_categorical_accuracy: 0.9443" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "324/625 [==============>...............] - ETA: 0s - loss: 0.1954 - 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", "349/625 [===============>..............] - ETA: 0s - loss: 0.1943 - 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", "374/625 [================>.............] - ETA: 0s - loss: 0.1925 - sparse_categorical_accuracy: 0.9458" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "399/625 [==================>...........] - ETA: 0s - loss: 0.1917 - sparse_categorical_accuracy: 0.9459" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "424/625 [===================>..........] - ETA: 0s - loss: 0.1908 - 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", "449/625 [====================>.........] - ETA: 0s - loss: 0.1887 - 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", "474/625 [=====================>........] - ETA: 0s - loss: 0.1872 - sparse_categorical_accuracy: 0.9466" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "499/625 [======================>.......] - ETA: 0s - loss: 0.1856 - 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", "524/625 [========================>.....] - ETA: 0s - loss: 0.1846 - sparse_categorical_accuracy: 0.9473" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "549/625 [=========================>....] - ETA: 0s - loss: 0.1829 - 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", "574/625 [==========================>...] - ETA: 0s - loss: 0.1828 - sparse_categorical_accuracy: 0.9475" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========================>..] - ETA: 0s - loss: 0.1814 - sparse_categorical_accuracy: 0.9478" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "624/625 [============================>.] - ETA: 0s - loss: 0.1798 - 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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1799 - sparse_categorical_accuracy: 0.9481 - val_loss: 0.1885 - val_sparse_categorical_accuracy: 0.9430\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.1977 - sparse_categorical_accuracy: 0.9375" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 25/625 [>.............................] - ETA: 1s - loss: 0.1391 - sparse_categorical_accuracy: 0.9544" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 49/625 [=>............................] - ETA: 1s - loss: 0.1418 - sparse_categorical_accuracy: 0.9550" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==>...........................] - ETA: 1s - loss: 0.1405 - sparse_categorical_accuracy: 0.9572" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===>..........................] - ETA: 1s - loss: 0.1398 - sparse_categorical_accuracy: 0.9567" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "122/625 [====>.........................] - ETA: 1s - loss: 0.1339 - sparse_categorical_accuracy: 0.9591" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "147/625 [======>.......................] - ETA: 1s - loss: 0.1363 - sparse_categorical_accuracy: 0.9591" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "172/625 [=======>......................] - ETA: 0s - loss: 0.1386 - sparse_categorical_accuracy: 0.9581" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "197/625 [========>.....................] - ETA: 0s - loss: 0.1371 - sparse_categorical_accuracy: 0.9585" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "222/625 [=========>....................] - ETA: 0s - loss: 0.1361 - sparse_categorical_accuracy: 0.9592" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "247/625 [==========>...................] - ETA: 0s - loss: 0.1347 - sparse_categorical_accuracy: 0.9601" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "271/625 [============>.................] - ETA: 0s - loss: 0.1344 - sparse_categorical_accuracy: 0.9603" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=============>................] - ETA: 0s - loss: 0.1341 - sparse_categorical_accuracy: 0.9605" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "319/625 [==============>...............] - ETA: 0s - loss: 0.1310 - sparse_categorical_accuracy: 0.9615" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "343/625 [===============>..............] - ETA: 0s - loss: 0.1328 - sparse_categorical_accuracy: 0.9611" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "367/625 [================>.............] - ETA: 0s - loss: 0.1332 - sparse_categorical_accuracy: 0.9611" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "391/625 [=================>............] - ETA: 0s - loss: 0.1331 - sparse_categorical_accuracy: 0.9615" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "415/625 [==================>...........] - ETA: 0s - loss: 0.1320 - 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", "439/625 [====================>.........] - ETA: 0s - loss: 0.1315 - 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", "463/625 [=====================>........] - ETA: 0s - loss: 0.1306 - 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", "487/625 [======================>.......] - ETA: 0s - loss: 0.1295 - 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", "512/625 [=======================>......] - ETA: 0s - loss: 0.1294 - 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", "536/625 [========================>.....] - ETA: 0s - loss: 0.1277 - 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", "561/625 [=========================>....] - ETA: 0s - loss: 0.1293 - 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", "586/625 [===========================>..] - ETA: 0s - loss: 0.1294 - 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", "610/625 [============================>.] - ETA: 0s - loss: 0.1299 - 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", "625/625 [==============================] - 2s 3ms/step - loss: 0.1293 - sparse_categorical_accuracy: 0.9621 - val_loss: 0.1619 - val_sparse_categorical_accuracy: 0.9525\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 2s - loss: 0.0814 - 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/625 [>.............................] - ETA: 1s - loss: 0.1093 - 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", " 49/625 [=>............................] - ETA: 1s - loss: 0.1114 - 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", " 73/625 [==>...........................] - ETA: 1s - loss: 0.1125 - 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", " 97/625 [===>..........................] - ETA: 1s - loss: 0.1031 - sparse_categorical_accuracy: 0.9710" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "121/625 [====>.........................] - ETA: 1s - loss: 0.1080 - sparse_categorical_accuracy: 0.9676" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=====>........................] - ETA: 1s - loss: 0.1064 - 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", "169/625 [=======>......................] - ETA: 0s - loss: 0.1045 - 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", "193/625 [========>.....................] - ETA: 0s - loss: 0.1030 - 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", "218/625 [=========>....................] - ETA: 0s - loss: 0.1028 - 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", "242/625 [==========>...................] - ETA: 0s - loss: 0.1014 - 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", "267/625 [===========>..................] - ETA: 0s - loss: 0.0995 - 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", "291/625 [============>.................] - ETA: 0s - loss: 0.0981 - sparse_categorical_accuracy: 0.9710" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "316/625 [==============>...............] - ETA: 0s - loss: 0.0995 - sparse_categorical_accuracy: 0.9706" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "341/625 [===============>..............] - ETA: 0s - loss: 0.1002 - sparse_categorical_accuracy: 0.9704" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "366/625 [================>.............] - ETA: 0s - loss: 0.0996 - sparse_categorical_accuracy: 0.9704" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "391/625 [=================>............] - ETA: 0s - loss: 0.0998 - sparse_categorical_accuracy: 0.9702" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "416/625 [==================>...........] - ETA: 0s - loss: 0.1003 - sparse_categorical_accuracy: 0.9699" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "440/625 [====================>.........] - ETA: 0s - loss: 0.1008 - 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", "464/625 [=====================>........] - ETA: 0s - loss: 0.1012 - 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", "489/625 [======================>.......] - ETA: 0s - loss: 0.1007 - 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", "515/625 [=======================>......] - ETA: 0s - loss: 0.1013 - 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", "541/625 [========================>.....] - ETA: 0s - loss: 0.1015 - 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", "566/625 [==========================>...] - ETA: 0s - loss: 0.1004 - sparse_categorical_accuracy: 0.9699" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "592/625 [===========================>..] - ETA: 0s - loss: 0.1012 - 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", "618/625 [============================>.] - ETA: 0s - loss: 0.1012 - 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", "625/625 [==============================] - 2s 2ms/step - loss: 0.1009 - sparse_categorical_accuracy: 0.9697 - val_loss: 0.1393 - val_sparse_categorical_accuracy: 0.9580\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 1s - loss: 0.0203 - sparse_categorical_accuracy: 1.0000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 25/625 [>.............................] - ETA: 1s - loss: 0.0574 - sparse_categorical_accuracy: 0.9850" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 50/625 [=>............................] - ETA: 1s - loss: 0.0692 - sparse_categorical_accuracy: 0.9816" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 74/625 [==>...........................] - ETA: 1s - loss: 0.0756 - sparse_categorical_accuracy: 0.9793" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 99/625 [===>..........................] - ETA: 1s - loss: 0.0753 - sparse_categorical_accuracy: 0.9787" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "124/625 [====>.........................] - ETA: 1s - loss: 0.0805 - sparse_categorical_accuracy: 0.9768" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "149/625 [======>.......................] - ETA: 0s - loss: 0.0802 - sparse_categorical_accuracy: 0.9769" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "174/625 [=======>......................] - ETA: 0s - loss: 0.0806 - sparse_categorical_accuracy: 0.9767" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "199/625 [========>.....................] - ETA: 0s - loss: 0.0801 - sparse_categorical_accuracy: 0.9771" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "224/625 [=========>....................] - ETA: 0s - loss: 0.0791 - sparse_categorical_accuracy: 0.9777" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "249/625 [==========>...................] - ETA: 0s - loss: 0.0798 - sparse_categorical_accuracy: 0.9769" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "274/625 [============>.................] - ETA: 0s - loss: 0.0802 - sparse_categorical_accuracy: 0.9764" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "299/625 [=============>................] - ETA: 0s - loss: 0.0792 - sparse_categorical_accuracy: 0.9766" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "325/625 [==============>...............] - ETA: 0s - loss: 0.0787 - sparse_categorical_accuracy: 0.9763" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "350/625 [===============>..............] - ETA: 0s - loss: 0.0802 - sparse_categorical_accuracy: 0.9758" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "375/625 [=================>............] - ETA: 0s - loss: 0.0803 - sparse_categorical_accuracy: 0.9759" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "400/625 [==================>...........] - ETA: 0s - loss: 0.0807 - sparse_categorical_accuracy: 0.9759" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===================>..........] - ETA: 0s - loss: 0.0810 - sparse_categorical_accuracy: 0.9759" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [====================>.........] - ETA: 0s - loss: 0.0808 - sparse_categorical_accuracy: 0.9763" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "475/625 [=====================>........] - ETA: 0s - loss: 0.0813 - sparse_categorical_accuracy: 0.9761" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "500/625 [=======================>......] - ETA: 0s - loss: 0.0815 - 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", "525/625 [========================>.....] - ETA: 0s - loss: 0.0810 - sparse_categorical_accuracy: 0.9762" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "550/625 [=========================>....] - ETA: 0s - loss: 0.0809 - sparse_categorical_accuracy: 0.9763" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "575/625 [==========================>...] - ETA: 0s - loss: 0.0814 - 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", "600/625 [===========================>..] - ETA: 0s - loss: 0.0817 - sparse_categorical_accuracy: 0.9758" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [============================>.] - ETA: 0s - loss: 0.0821 - sparse_categorical_accuracy: 0.9758" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.0820 - sparse_categorical_accuracy: 0.9758 - val_loss: 0.1437 - val_sparse_categorical_accuracy: 0.9579\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6/20\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 2s - loss: 0.0490 - sparse_categorical_accuracy: 0.9844" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 26/625 [>.............................] - ETA: 1s - loss: 0.0632 - sparse_categorical_accuracy: 0.9808" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 51/625 [=>............................] - ETA: 1s - loss: 0.0632 - sparse_categorical_accuracy: 0.9831" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 76/625 [==>...........................] - ETA: 1s - loss: 0.0621 - sparse_categorical_accuracy: 0.9831" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "101/625 [===>..........................] - ETA: 1s - loss: 0.0630 - sparse_categorical_accuracy: 0.9824" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "126/625 [=====>........................] - ETA: 1s - loss: 0.0666 - sparse_categorical_accuracy: 0.9807" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [======>.......................] - ETA: 0s - loss: 0.0649 - sparse_categorical_accuracy: 0.9802" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "177/625 [=======>......................] - ETA: 0s - loss: 0.0656 - sparse_categorical_accuracy: 0.9802" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "201/625 [========>.....................] - ETA: 0s - loss: 0.0691 - sparse_categorical_accuracy: 0.9794" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "226/625 [=========>....................] - ETA: 0s - loss: 0.0711 - sparse_categorical_accuracy: 0.9785" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===========>..................] - ETA: 0s - loss: 0.0700 - sparse_categorical_accuracy: 0.9790" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "276/625 [============>.................] - ETA: 0s - loss: 0.0690 - sparse_categorical_accuracy: 0.9793" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "300/625 [=============>................] - ETA: 0s - loss: 0.0695 - sparse_categorical_accuracy: 0.9790" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "325/625 [==============>...............] - ETA: 0s - loss: 0.0684 - sparse_categorical_accuracy: 0.9796" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "349/625 [===============>..............] - ETA: 0s - loss: 0.0681 - sparse_categorical_accuracy: 0.9797" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "373/625 [================>.............] - ETA: 0s - loss: 0.0682 - sparse_categorical_accuracy: 0.9798" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "397/625 [==================>...........] - ETA: 0s - loss: 0.0693 - sparse_categorical_accuracy: 0.9794" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "422/625 [===================>..........] - ETA: 0s - loss: 0.0686 - sparse_categorical_accuracy: 0.9793" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "446/625 [====================>.........] - ETA: 0s - loss: 0.0698 - sparse_categorical_accuracy: 0.9791" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "470/625 [=====================>........] - ETA: 0s - loss: 0.0701 - sparse_categorical_accuracy: 0.9790" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "495/625 [======================>.......] - ETA: 0s - loss: 0.0696 - sparse_categorical_accuracy: 0.9791" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "519/625 [=======================>......] - ETA: 0s - loss: 0.0699 - sparse_categorical_accuracy: 0.9788" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=========================>....] - ETA: 0s - loss: 0.0697 - sparse_categorical_accuracy: 0.9789" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "567/625 [==========================>...] - ETA: 0s - loss: 0.0692 - sparse_categorical_accuracy: 0.9790" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "591/625 [===========================>..] - ETA: 0s - loss: 0.0695 - sparse_categorical_accuracy: 0.9789" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "616/625 [============================>.] - ETA: 0s - loss: 0.0692 - sparse_categorical_accuracy: 0.9789" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "625/625 [==============================] - 2s 2ms/step - loss: 0.0691 - sparse_categorical_accuracy: 0.9790 - val_loss: 0.1316 - val_sparse_categorical_accuracy: 0.9631\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6: early stopping\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = get_compiled_model()\n", "\n", "callbacks = [\n", " keras.callbacks.EarlyStopping(\n", " # Stop training when `val_loss` is no longer improving\n", " monitor=\"val_loss\",\n", " # \"no longer improving\" being defined as \"no better than 1e-2 less\"\n", " min_delta=1e-2,\n", " # \"no longer improving\" being further defined as \"for at least 2 epochs\"\n", " patience=2,\n", " verbose=1,\n", " )\n", "]\n", "model.fit(\n", " x_train,\n", " y_train,\n", " epochs=20,\n", " batch_size=64,\n", " callbacks=callbacks,\n", " validation_split=0.2,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "id": "15f5af3b6da9" }, "source": [ "### 많은 내장 콜백을 사용할 수 있습니다\n", "\n", "Keras에서 이미 사용할 수 있는 내장 콜백은 다음과 같습니다.\n", "\n", "- `ModelCheckpoint`: 주기적으로 모델을 저장합니다.\n", "- `EarlyStopping`: 훈련이 더 이상 유효성 검사 메트릭을 개선하지 못하는 경우 훈련을 중단합니다.\n", "- `TensorBoard`: [TensorBoard](https://www.tensorflow.org/tensorboard)에서 시각화할 수 있는 모델 로그를 정기적으로 작성합니다(\"시각화\" 섹션에서 자세히 설명).\n", "- `CSVLogger`: 손실 및 메트릭 데이터를 CSV 파일로 스트리밍합니다.\n", "- 기타\n", "\n", "전체 목록은 [콜백 설명서](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/)를 참조하세요.\n", "\n", "### 고유한 콜백 작성하기\n", "\n", "기본 클래스 `keras.callbacks.Callback`을 확장하여 사용자 정의 콜백을 작성할 수 있습니다. 콜백은 클래스 속성 `self.model`을 통해 연관된 모델에 액세스할 수 있습니다.\n", "\n", "[사용자 정의 콜백을 작성하기 위한 전체 가이드](https://www.tensorflow.org/guide/keras/custom_callback/)를 꼭 읽어보세요.\n", "\n", "다음은 훈련 중 배치별 손실 값 목록을 저장하는 간단한 예입니다." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:01:13.117425Z", "iopub.status.busy": "2022-12-14T23:01:13.116918Z", "iopub.status.idle": "2022-12-14T23:01:13.120887Z", "shell.execute_reply": "2022-12-14T23:01:13.120314Z" }, "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-14T23:01:13.124394Z", "iopub.status.busy": "2022-12-14T23:01:13.123835Z", "iopub.status.idle": "2022-12-14T23:01:18.417117Z", "shell.execute_reply": "2022-12-14T23:01:18.416502Z" }, "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.3412 - 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", " 25/625 [>.............................] - ETA: 1s - loss: 1.5539 - sparse_categorical_accuracy: 0.5556 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 50/625 [=>............................] - ETA: 1s - loss: 1.1682 - sparse_categorical_accuracy: 0.6741" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 75/625 [==>...........................] - ETA: 1s - loss: 0.9650 - sparse_categorical_accuracy: 0.7310" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "100/625 [===>..........................] - ETA: 1s - loss: 0.8383 - sparse_categorical_accuracy: 0.7670" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "126/625 [=====>........................] - ETA: 1s - loss: 0.7486 - 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", "151/625 [======>.......................] - ETA: 0s - loss: 0.6892 - sparse_categorical_accuracy: 0.8076" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [=======>......................] - ETA: 0s - loss: 0.6425 - sparse_categorical_accuracy: 0.8207" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "200/625 [========>.....................] - ETA: 0s - loss: 0.6076 - sparse_categorical_accuracy: 0.8300" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "224/625 [=========>....................] - ETA: 0s - loss: 0.5782 - sparse_categorical_accuracy: 0.8375" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [==========>...................] - ETA: 0s - loss: 0.5524 - 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", "272/625 [============>.................] - ETA: 0s - loss: 0.5303 - sparse_categorical_accuracy: 0.8495" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "297/625 [=============>................] - ETA: 0s - loss: 0.5113 - sparse_categorical_accuracy: 0.8546" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "322/625 [==============>...............] - ETA: 0s - loss: 0.4934 - sparse_categorical_accuracy: 0.8587" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [===============>..............] - ETA: 0s - loss: 0.4778 - sparse_categorical_accuracy: 0.8629" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/625 [================>.............] - ETA: 0s - loss: 0.4643 - sparse_categorical_accuracy: 0.8663" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "398/625 [==================>...........] - ETA: 0s - loss: 0.4532 - sparse_categorical_accuracy: 0.8697" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "422/625 [===================>..........] - ETA: 0s - loss: 0.4436 - sparse_categorical_accuracy: 0.8726" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "446/625 [====================>.........] - ETA: 0s - loss: 0.4351 - sparse_categorical_accuracy: 0.8748" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "470/625 [=====================>........] - ETA: 0s - loss: 0.4243 - sparse_categorical_accuracy: 0.8781" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "494/625 [======================>.......] - ETA: 0s - loss: 0.4152 - sparse_categorical_accuracy: 0.8807" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "517/625 [=======================>......] - ETA: 0s - loss: 0.4076 - sparse_categorical_accuracy: 0.8828" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.4001 - sparse_categorical_accuracy: 0.8851" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "565/625 [==========================>...] - ETA: 0s - loss: 0.3924 - 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", "590/625 [===========================>..] - ETA: 0s - loss: 0.3849 - sparse_categorical_accuracy: 0.8891" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3780 - sparse_categorical_accuracy: 0.8910" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Epoch 1: val_loss improved from inf to 0.23306, 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.3760 - sparse_categorical_accuracy: 0.8917 - val_loss: 0.2331 - val_sparse_categorical_accuracy: 0.9302\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/625 [..............................] - ETA: 2s - loss: 0.2650 - sparse_categorical_accuracy: 0.9062" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 26/625 [>.............................] - ETA: 1s - loss: 0.2088 - 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", " 51/625 [=>............................] - ETA: 1s - loss: 0.2217 - sparse_categorical_accuracy: 0.9381" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.2193 - sparse_categorical_accuracy: 0.9396" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "100/625 [===>..........................] - ETA: 1s - loss: 0.2135 - sparse_categorical_accuracy: 0.9398" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "124/625 [====>.........................] - ETA: 1s - loss: 0.2058 - 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", "148/625 [======>.......................] - ETA: 1s - loss: 0.2013 - 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", "172/625 [=======>......................] - ETA: 0s - loss: 0.1957 - sparse_categorical_accuracy: 0.9424" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "197/625 [========>.....................] - ETA: 0s - loss: 0.1985 - sparse_categorical_accuracy: 0.9420" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "222/625 [=========>....................] - ETA: 0s - loss: 0.1975 - sparse_categorical_accuracy: 0.9425" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "247/625 [==========>...................] - ETA: 0s - loss: 0.1929 - sparse_categorical_accuracy: 0.9434" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "271/625 [============>.................] - ETA: 0s - loss: 0.1914 - 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", "296/625 [=============>................] - ETA: 0s - loss: 0.1908 - 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", "320/625 [==============>...............] - ETA: 0s - loss: 0.1888 - 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", "344/625 [===============>..............] - ETA: 0s - loss: 0.1886 - 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", "369/625 [================>.............] - ETA: 0s - loss: 0.1867 - 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", "393/625 [=================>............] - ETA: 0s - loss: 0.1854 - sparse_categorical_accuracy: 0.9457" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "417/625 [===================>..........] - ETA: 0s - loss: 0.1854 - 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", "441/625 [====================>.........] - ETA: 0s - loss: 0.1831 - sparse_categorical_accuracy: 0.9458" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "465/625 [=====================>........] - ETA: 0s - loss: 0.1817 - 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", "490/625 [======================>.......] - ETA: 0s - loss: 0.1806 - 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", "515/625 [=======================>......] - ETA: 0s - loss: 0.1797 - 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", "540/625 [========================>.....] - ETA: 0s - loss: 0.1788 - sparse_categorical_accuracy: 0.9468" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "565/625 [==========================>...] - ETA: 0s - loss: 0.1775 - 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", "590/625 [===========================>..] - ETA: 0s - loss: 0.1759 - sparse_categorical_accuracy: 0.9475" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.1762 - sparse_categorical_accuracy: 0.9473" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Epoch 2: val_loss improved from 0.23306 to 0.17272, 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.1762 - sparse_categorical_accuracy: 0.9474 - val_loss: 0.1727 - val_sparse_categorical_accuracy: 0.9490\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-14T23:01:18.420696Z", "iopub.status.busy": "2022-12-14T23:01:18.420209Z", "iopub.status.idle": "2022-12-14T23:01:29.612314Z", "shell.execute_reply": "2022-12-14T23:01:29.611605Z" }, "id": "27ce92b2ad58" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating a new model\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/1563 [..............................] - ETA: 17:50 - loss: 2.4299 - sparse_categorical_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\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 23/1563 [..............................] - ETA: 3s - loss: 1.8308 - sparse_categorical_accuracy: 0.4484 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 46/1563 [..............................] - ETA: 3s - loss: 1.4335 - sparse_categorical_accuracy: 0.6094" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [>.............................] - ETA: 3s - loss: 1.1724 - sparse_categorical_accuracy: 0.6807" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [>.............................] - ETA: 3s - loss: 1.0208 - sparse_categorical_accuracy: 0.7201" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.98/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.9798 - sparse_categorical_accuracy: 0.7319" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 122/1563 [=>............................] - ETA: 8s - loss: 0.8922 - sparse_categorical_accuracy: 0.7538" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 145/1563 [=>............................] - ETA: 7s - loss: 0.8164 - sparse_categorical_accuracy: 0.7750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 168/1563 [==>...........................] - ETA: 6s - loss: 0.7689 - sparse_categorical_accuracy: 0.7887" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 191/1563 [==>...........................] - ETA: 6s - loss: 0.7268 - sparse_categorical_accuracy: 0.7999" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.71/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: 9s - loss: 0.7110 - sparse_categorical_accuracy: 0.8034" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 222/1563 [===>..........................] - ETA: 8s - loss: 0.6767 - sparse_categorical_accuracy: 0.8117" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 245/1563 [===>..........................] - ETA: 7s - loss: 0.6475 - sparse_categorical_accuracy: 0.8191" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 268/1563 [====>.........................] - ETA: 7s - loss: 0.6230 - sparse_categorical_accuracy: 0.8249" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [====>.........................] - ETA: 6s - loss: 0.5989 - sparse_categorical_accuracy: 0.8316" ] }, { "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: 8s - loss: 0.5933 - sparse_categorical_accuracy: 0.8334" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.5740 - 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\b\b\r", " 347/1563 [=====>........................] - ETA: 7s - loss: 0.5550 - sparse_categorical_accuracy: 0.8441" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [======>.......................] - ETA: 6s - loss: 0.5452 - sparse_categorical_accuracy: 0.8470" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/1563 [======>.......................] - ETA: 6s - loss: 0.5316 - sparse_categorical_accuracy: 0.8505" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.53/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.5289 - sparse_categorical_accuracy: 0.8510" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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: 7s - loss: 0.5156 - 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\b\b\r", " 448/1563 [=======>......................] - ETA: 6s - loss: 0.5018 - 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\b\b\r", " 472/1563 [========>.....................] - ETA: 6s - loss: 0.4916 - 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\b\b\r", " 495/1563 [========>.....................] - ETA: 6s - loss: 0.4830 - sparse_categorical_accuracy: 0.8626" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.48/assets\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 500/1563 [========>.....................] - ETA: 6s - loss: 0.4811 - 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\b\b\r", " 522/1563 [=========>....................] - ETA: 6s - loss: 0.4740 - sparse_categorical_accuracy: 0.8647" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 545/1563 [=========>....................] - ETA: 6s - loss: 0.4654 - sparse_categorical_accuracy: 0.8674" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 568/1563 [=========>....................] - ETA: 5s - loss: 0.4591 - sparse_categorical_accuracy: 0.8689" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 591/1563 [==========>...................] - ETA: 5s - loss: 0.4490 - sparse_categorical_accuracy: 0.8720" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.45/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.4459 - sparse_categorical_accuracy: 0.8729" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 623/1563 [==========>...................] - ETA: 5s - loss: 0.4398 - 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\b\b\r", " 647/1563 [===========>..................] - ETA: 5s - loss: 0.4333 - sparse_categorical_accuracy: 0.8765" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 670/1563 [===========>..................] - ETA: 5s - loss: 0.4276 - 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\b\b\r", " 693/1563 [============>.................] - ETA: 5s - loss: 0.4219 - sparse_categorical_accuracy: 0.8789" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.42/assets\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 700/1563 [============>.................] - ETA: 5s - loss: 0.4195 - 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\b\b\r", " 722/1563 [============>.................] - ETA: 5s - loss: 0.4132 - sparse_categorical_accuracy: 0.8814" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 745/1563 [=============>................] - ETA: 5s - loss: 0.4071 - sparse_categorical_accuracy: 0.8833" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 768/1563 [=============>................] - ETA: 5s - loss: 0.4027 - 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\b\b\r", " 791/1563 [==============>...............] - ETA: 4s - loss: 0.4002 - sparse_categorical_accuracy: 0.8848" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.40/assets\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 800/1563 [==============>...............] - ETA: 5s - loss: 0.3982 - sparse_categorical_accuracy: 0.8853" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 822/1563 [==============>...............] - ETA: 4s - loss: 0.3945 - 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\b\b\r", " 845/1563 [===============>..............] - ETA: 4s - loss: 0.3918 - sparse_categorical_accuracy: 0.8872" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3889 - sparse_categorical_accuracy: 0.8878" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 892/1563 [================>.............] - ETA: 4s - loss: 0.3852 - sparse_categorical_accuracy: 0.8888" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.38/assets\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", " 900/1563 [================>.............] - ETA: 4s - loss: 0.3835 - 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\b\b\r", " 922/1563 [================>.............] - ETA: 4s - loss: 0.3799 - 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\b\b\r", " 945/1563 [=================>............] - ETA: 4s - loss: 0.3756 - 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\b\b\r", " 968/1563 [=================>............] - ETA: 3s - loss: 0.3722 - sparse_categorical_accuracy: 0.8923" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3685 - sparse_categorical_accuracy: 0.8934" ] }, { "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", "1000/1563 [==================>...........] - ETA: 3s - loss: 0.3671 - sparse_categorical_accuracy: 0.8938" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1022/1563 [==================>...........] - ETA: 3s - loss: 0.3646 - sparse_categorical_accuracy: 0.8946" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1045/1563 [===================>..........] - ETA: 3s - loss: 0.3609 - sparse_categorical_accuracy: 0.8955" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1068/1563 [===================>..........] - ETA: 3s - loss: 0.3580 - 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", "1091/1563 [===================>..........] - ETA: 2s - loss: 0.3543 - sparse_categorical_accuracy: 0.8974" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.35/assets\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1100/1563 [====================>.........] - ETA: 3s - loss: 0.3535 - sparse_categorical_accuracy: 0.8978" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1122/1563 [====================>.........] - ETA: 2s - loss: 0.3516 - 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\b\b\r", "1144/1563 [====================>.........] - ETA: 2s - loss: 0.3483 - sparse_categorical_accuracy: 0.8994" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1166/1563 [=====================>........] - ETA: 2s - loss: 0.3458 - 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\b\b\r", "1189/1563 [=====================>........] - ETA: 2s - loss: 0.3433 - sparse_categorical_accuracy: 0.9007" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.34/assets\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1200/1563 [======================>.......] - ETA: 2s - loss: 0.3416 - 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\b\b\r", "1222/1563 [======================>.......] - ETA: 2s - loss: 0.3386 - 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\b\b\r", "1245/1563 [======================>.......] - ETA: 2s - loss: 0.3359 - 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\b\b\r", "1268/1563 [=======================>......] - ETA: 1s - loss: 0.3335 - sparse_categorical_accuracy: 0.9035" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3312 - sparse_categorical_accuracy: 0.9041" ] }, { "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", "1300/1563 [=======================>......] - ETA: 1s - loss: 0.3301 - sparse_categorical_accuracy: 0.9044" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1322/1563 [========================>.....] - ETA: 1s - loss: 0.3279 - 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\b\b\r", "1345/1563 [========================>.....] - ETA: 1s - loss: 0.3252 - 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", "1367/1563 [=========================>....] - ETA: 1s - loss: 0.3239 - sparse_categorical_accuracy: 0.9064" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1390/1563 [=========================>....] - ETA: 1s - loss: 0.3221 - sparse_categorical_accuracy: 0.9068" ] }, { "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", "1400/1563 [=========================>....] - ETA: 1s - loss: 0.3215 - sparse_categorical_accuracy: 0.9070" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1422/1563 [==========================>...] - ETA: 0s - loss: 0.3196 - sparse_categorical_accuracy: 0.9076" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1445/1563 [==========================>...] - ETA: 0s - loss: 0.3174 - sparse_categorical_accuracy: 0.9083" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1468/1563 [===========================>..] - ETA: 0s - loss: 0.3154 - sparse_categorical_accuracy: 0.9087" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1491/1563 [===========================>..] - ETA: 0s - loss: 0.3130 - sparse_categorical_accuracy: 0.9094" ] }, { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Assets written to: ./ckpt/ckpt-loss=0.31/assets\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1500/1563 [===========================>..] - ETA: 0s - loss: 0.3125 - sparse_categorical_accuracy: 0.9096" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1522/1563 [============================>.] - ETA: 0s - loss: 0.3111 - sparse_categorical_accuracy: 0.9100" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "1544/1563 [============================>.] - ETA: 0s - loss: 0.3094 - sparse_categorical_accuracy: 0.9105" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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.3085 - sparse_categorical_accuracy: 0.9107\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "\n", "# Prepare a directory to store all the checkpoints.\n", "checkpoint_dir = \"./ckpt\"\n", "if not os.path.exists(checkpoint_dir):\n", " os.makedirs(checkpoint_dir)\n", "\n", "\n", "def make_or_restore_model():\n", " # Either restore the latest model, or create a fresh one\n", " # if there is no checkpoint available.\n", " checkpoints = [checkpoint_dir + \"/\" + name for name in os.listdir(checkpoint_dir)]\n", " if checkpoints:\n", " latest_checkpoint = max(checkpoints, key=os.path.getctime)\n", " print(\"Restoring from\", latest_checkpoint)\n", " return keras.models.load_model(latest_checkpoint)\n", " print(\"Creating a new model\")\n", " return get_compiled_model()\n", "\n", "\n", "model = make_or_restore_model()\n", "callbacks = [\n", " # This callback saves a SavedModel every 100 batches.\n", " # We include the training loss in the saved model name.\n", " keras.callbacks.ModelCheckpoint(\n", " filepath=checkpoint_dir + \"/ckpt-loss={loss:.2f}\", save_freq=100\n", " )\n", "]\n", "model.fit(x_train, y_train, epochs=1, callbacks=callbacks)" ] }, { "cell_type": "markdown", "metadata": { "id": "da3ab58d5235" }, "source": [ "모델 저장 및 복원을 위한 자체 콜백을 작성할 수도 있습니다.\n", "\n", "직렬화 및 저장에 대한 자세한 설명은 [모델 저장 및 직렬화 가이드](https://www.tensorflow.org/guide/keras/save_and_serialize/)를 참조하세요." ] }, { "cell_type": "markdown", "metadata": { "id": "b9342cc2ddba" }, "source": [ "## 학습률 일정 사용하기\n", "\n", "딥 러닝 모델을 훈련할 때 일반적인 패턴은 훈련이 진행됨에 따라 점차적으로 학습을 줄이는 것입니다. 이것을 일반적으로 \"학습률 감소\"라고 합니다.\n", "\n", "학습 감소 일정은 정적(현재 epoch 또는 현재 배치 인덱스의 함수로 미리 고정됨) 또는 동적(모델의 현재 동작, 특히 유효성 검사 손실에 대응)일 수 있습니다.\n", "\n", "### 최적화 프로그램으로 일정 전달하기\n", "\n", "최적화 프로그램에서 schedule 객체를 `learning_rate` 인수로 전달하여 정적 학습률 감소 일정을 쉽게 사용할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2022-12-14T23:01:29.616151Z", "iopub.status.busy": "2022-12-14T23:01:29.615603Z", "iopub.status.idle": "2022-12-14T23:01:29.627912Z", "shell.execute_reply": "2022-12-14T23:01:29.627258Z" }, "id": "684f0ab6d3de" }, "outputs": [], "source": [ "initial_learning_rate = 0.1\n", "lr_schedule = keras.optimizers.schedules.ExponentialDecay(\n", " initial_learning_rate, decay_steps=100000, decay_rate=0.96, staircase=True\n", ")\n", "\n", "optimizer = keras.optimizers.RMSprop(learning_rate=lr_schedule)" ] }, { "cell_type": "markdown", "metadata": { "id": "03b61ddd9586" }, "source": [ "`ExponentialDecay` , `PiecewiseConstantDecay` , `PolynomialDecay` 및 `InverseTimeDecay`와 같은 몇 가지 내장된 일정을 사용할 수 있습니다.\n", "\n", "### 콜백을 사용하여 동적 학습률 일정 구현하기\n", "\n", "최적화 프로그램이 유효성 검사 메트릭에 액세스할 수 없으므로 이러한 일정 객체로는 동적 학습률 일정(예: 유효성 검사 손실이 더 이상 개선되지 않을 때 학습률 감소)을 달성할 수 없습니다.\n", "\n", "그러나 콜백은 유효성 검사 메트릭을 포함해 모든 메트릭에 액세스할 수 있습니다! 따라서 최적화 프로그램에서 현재 학습률을 수정하는 콜백을 사용하여 이 패턴을 달성할 수 있습니다. 실제로 이 부분이`ReduceLROnPlateau` 콜백으로 내장되어 있습니다." ] }, { "cell_type": "markdown", "metadata": { "id": "7f8b9539cd57" }, "source": [ "## 훈련 중 손실 및 메트릭 시각화하기\n", "\n", "훈련 중에 모델을 주시하는 가장 좋은 방법은 로컬에서 실행할 수 있는 브라우저 기반 애플리케이션인 [TensorBoard](https://www.tensorflow.org/tensorboard)를 사용하는 것입니다. 이 보드에는 다음과 같은 정보가 제공됩니다.\n", "\n", "- 훈련 및 평가를 위한 손실 및 메트릭을 실시간으로 플롯\n", "- (옵션) 레이어 활성화 히스토그램 시각화\n", "- (옵션) `Embedding` 레이어에서 학습한 포함된 공간의 3D 시각화\n", "\n", "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-14T23:01:29.631614Z", "iopub.status.busy": "2022-12-14T23:01:29.631009Z", "iopub.status.idle": "2022-12-14T23:01:29.636000Z", "shell.execute_reply": "2022-12-14T23:01:29.635384Z" }, "id": "f74247282ff6" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keras.callbacks.TensorBoard(\n", " log_dir=\"/full_path_to_your_logs\",\n", " histogram_freq=0, # How often to log histogram visualizations\n", " embeddings_freq=0, # How often to log embedding visualizations\n", " update_freq=\"epoch\",\n", ") # How often to write logs (default: once per epoch)" ] }, { "cell_type": "markdown", "metadata": { "id": "3614f8ba1e03" }, "source": [ "자세한 정보는 [`TensorBoard` 콜백 설명서](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/tensorboard/)를 참조하세요." ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "train_and_evaluate.ipynb", "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 0 }