{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "xLOXFOT5Q40E" }, "source": [ "##### Copyright 2020 The TensorFlow Authors." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "cellView": "form", "execution": { "iopub.execute_input": "2021-02-12T21:44:20.767909Z", "iopub.status.busy": "2021-02-12T21:44:20.767169Z", "iopub.status.idle": "2021-02-12T21:44:20.769298Z", "shell.execute_reply": "2021-02-12T21:44:20.769702Z" }, "id": "iiQkM5ZgQ8r2" }, "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": "uLeF5Nmdef0V" }, "source": [ "# 量子畳み込みニューラルネットワーク" ] }, { "cell_type": "markdown", "metadata": { "id": "i9Jcnb8bQQyd" }, "source": [ "\n", " \n", " \n", " \n", " \n", "
TensorFlow.orgで表示 Google Colab で実行GitHub でソースを表示{ノートブックをダウンロード/a0}
" ] }, { "cell_type": "markdown", "metadata": { "id": "4D3xaWBHOIVg" }, "source": [ "このチュートリアルでは、単純な量子畳み込みニューラルネットワーク(QCNN)を実装します。QCNN は、*並進的に不変*でもある古典的な畳み込みニューラルネットワークに提案された量子アナログです。\n", "\n", "この例では、デバイスの量子センサまたは複雑なシミュレーションなど、量子データソースの特定のプロパティを検出する方法を実演します。量子データソースは、励起の有無にかかわらずクラスタ状態です。QCNN はこの検出を学習します(論文で使用されたデータセットは SPT フェーズ分類です)。" ] }, { "cell_type": "markdown", "metadata": { "id": "FnjolLuz8o5C" }, "source": [ "## セットアップ" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:44:20.781573Z", "iopub.status.busy": "2021-02-12T21:44:20.780931Z", "iopub.status.idle": "2021-02-12T21:44:43.403304Z", "shell.execute_reply": "2021-02-12T21:44:43.402531Z" }, "id": "Aquwcz-0aHqz" }, "outputs": [], "source": [ "!pip install -q tensorflow==2.3.1" ] }, { "cell_type": "markdown", "metadata": { "id": "e_ZuLN_N8yhT" }, "source": [ "TensorFlow Quantum をインストールします。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:44:43.410362Z", "iopub.status.busy": "2021-02-12T21:44:43.408022Z", "iopub.status.idle": "2021-02-12T21:44:55.033669Z", "shell.execute_reply": "2021-02-12T21:44:55.034134Z" }, "id": "3Pl5PW-ACO9J" }, "outputs": [], "source": [ "!pip install -q tensorflow-quantum" ] }, { "cell_type": "markdown", "metadata": { "id": "TL_LvHXzPNjW" }, "source": [ "次に、TensorFlow とモジュールの依存関係をインポートします。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:44:55.040440Z", "iopub.status.busy": "2021-02-12T21:44:55.039769Z", "iopub.status.idle": "2021-02-12T21:45:06.223278Z", "shell.execute_reply": "2021-02-12T21:45:06.222621Z" }, "id": "QytLEAtoejW5" }, "outputs": [], "source": [ "import tensorflow as tf\n", "import tensorflow_quantum as tfq\n", "\n", "import cirq\n", "import sympy\n", "import numpy as np\n", "\n", "# visualization tools\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from cirq.contrib.svg import SVGCircuit" ] }, { "cell_type": "markdown", "metadata": { "id": "j6331ZSsQGY3" }, "source": [ "## 1. QCNN を構築する" ] }, { "cell_type": "markdown", "metadata": { "id": "Qg85u3G--CGq" }, "source": [ "### 1.1 TensorFlow グラフで回路を組み立てる\n", "\n", "TensorFlow Quantum(TFQ)には、グラフ内で回路を構築するために設計されたレイヤークラスがあります。たとえば `tfq.layers.AddCircuit` レイヤーがあり、`tf.keras.Layer` を継承しています。このレイヤーは、次の図で示すように、回路の入力バッチの前後いずれかに追加できます。\n", "\n", "\n", "\n", "次のスニペットには、このレイヤーが使用されています。" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.234001Z", "iopub.status.busy": "2021-02-12T21:45:06.233288Z", "iopub.status.idle": "2021-02-12T21:45:06.245128Z", "shell.execute_reply": "2021-02-12T21:45:06.244615Z" }, "id": "FhNf0G_OPLqZ" }, "outputs": [], "source": [ "qubit = cirq.GridQubit(0, 0)\n", "\n", "# Define some circuits.\n", "circuit1 = cirq.Circuit(cirq.X(qubit))\n", "circuit2 = cirq.Circuit(cirq.H(qubit))\n", "\n", "# Convert to a tensor.\n", "input_circuit_tensor = tfq.convert_to_tensor([circuit1, circuit2])\n", "\n", "# Define a circuit that we want to append\n", "y_circuit = cirq.Circuit(cirq.Y(qubit))\n", "\n", "# Instantiate our layer\n", "y_appender = tfq.layers.AddCircuit()\n", "\n", "# Run our circuit tensor through the layer and save the output.\n", "output_circuit_tensor = y_appender(input_circuit_tensor, append=y_circuit)" ] }, { "cell_type": "markdown", "metadata": { "id": "ShZbRZCXkvk5" }, "source": [ "入力テンソルを調べます。" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.251098Z", "iopub.status.busy": "2021-02-12T21:45:06.250449Z", "iopub.status.idle": "2021-02-12T21:45:06.263673Z", "shell.execute_reply": "2021-02-12T21:45:06.264100Z" }, "id": "ImRynsUN4BSG" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[cirq.Circuit([\n", " cirq.Moment(\n", " cirq.X(cirq.GridQubit(0, 0)),\n", " ),\n", "])\n", " cirq.Circuit([\n", " cirq.Moment(\n", " cirq.H(cirq.GridQubit(0, 0)),\n", " ),\n", "])]\n" ] } ], "source": [ "print(tfq.from_tensor(input_circuit_tensor))" ] }, { "cell_type": "markdown", "metadata": { "id": "xkGU4ZTUk4gf" }, "source": [ "次に、出力テンソルを調べます。" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.269668Z", "iopub.status.busy": "2021-02-12T21:45:06.268962Z", "iopub.status.idle": "2021-02-12T21:45:06.271560Z", "shell.execute_reply": "2021-02-12T21:45:06.272000Z" }, "id": "tfff6dJp39Fg" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[cirq.Circuit([\n", " cirq.Moment(\n", " cirq.X(cirq.GridQubit(0, 0)),\n", " ),\n", " cirq.Moment(\n", " cirq.Y(cirq.GridQubit(0, 0)),\n", " ),\n", "])\n", " cirq.Circuit([\n", " cirq.Moment(\n", " cirq.H(cirq.GridQubit(0, 0)),\n", " ),\n", " cirq.Moment(\n", " cirq.Y(cirq.GridQubit(0, 0)),\n", " ),\n", "])]\n" ] } ], "source": [ "print(tfq.from_tensor(output_circuit_tensor))" ] }, { "cell_type": "markdown", "metadata": { "id": "23JeZ7Ns5qy5" }, "source": [ "以下の例は `tfq.layers.AddCircuit` を使用せずに実行できますが、TensorFlow 計算グラフに複雑な機能を埋め込む方法を理解する上で役立ちます。" ] }, { "cell_type": "markdown", "metadata": { "id": "GcVplt9455Hi" }, "source": [ "### 1.2 問題の概要\n", "\n", "*クラスター状態*を準備し、「励起」があるかどうかを検出する量子分類器をトレーニングします。クラスター状態は極めてこじれていますが、古典的コンピュータにおいては必ずしも困難ではありません。わかりやすく言えば、これは論文で使用されているデータセットよりも単純です。\n", "\n", "この分類タスクでは、次の理由により、ディープ MERA のような QCNN アーキテクチャを実装します。\n", "\n", "1. QCNN と同様に、リングのクラスター状態は並進的に不変である\n", "2. クラスター状態は非常にもつれている\n", "\n", "このアーキテクチャはエンタングルメントを軽減し、単一のキュービットを読み出すことで分類を取得する上で効果があります。\n", "\n", "\n", "\n", "「励起」のあるクラスター状態は、`cirq.rx` ゲートがすべてのキュービットに適用されたクラスター状態として定義されます。Qconv と QPool については、このチュートリアルの後の方で説明しています。" ] }, { "cell_type": "markdown", "metadata": { "id": "jpqtsGJH_I1d" }, "source": [ "### 1.3 TensorFlow のビルディングブロック\n", "\n", "\n", "\n", "TensorFlow Quantum を使ってこの問題を解決する方法として、次を実装することが挙げられます。\n", "\n", "1. モデルへの入力は回路で、空の回路か励起を示す特定のキュー人における X ゲートです。\n", "2. モデルの残りの量子コンポーネントは、`tfq.layers.AddCircuit` レイヤーで作成されます。\n", "3. たとえば `tfq.layers.PQC` レイヤーが使用されているとした場合、$\\langle \\hat{Z} \\rangle$ を読み取って、励起のある状態には 1 のラベルと、励起のない状態には -1 のラベルと比較します。" ] }, { "cell_type": "markdown", "metadata": { "id": "oa7Q3m_ThDgO" }, "source": [ "### 1.4 データ\n", "\n", "モデルを構築する前に、データを生成することができます。この場合には、クラスター状態に励起がは一斉思案す(元の論文では、より複雑なデータセットが使用されています)。励起は、`cirq.rx` ゲートで表されます。十分に大きい回転は励起と見なされ、`1` とラベル付けされ、十分に大きくない回転は `-1` とラベル付けされ、励起ではないと見なされます。" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.280597Z", "iopub.status.busy": "2021-02-12T21:45:06.279896Z", "iopub.status.idle": "2021-02-12T21:45:06.282366Z", "shell.execute_reply": "2021-02-12T21:45:06.281908Z" }, "id": "iUrvTCU1hDgP" }, "outputs": [], "source": [ "def generate_data(qubits):\n", " \"\"\"Generate training and testing data.\"\"\"\n", " n_rounds = 20 # Produces n_rounds * n_qubits datapoints.\n", " excitations = []\n", " labels = []\n", " for n in range(n_rounds):\n", " for bit in qubits:\n", " rng = np.random.uniform(-np.pi, np.pi)\n", " excitations.append(cirq.Circuit(cirq.rx(rng)(bit)))\n", " labels.append(1 if (-np.pi / 2) <= rng <= (np.pi / 2) else -1)\n", "\n", " split_ind = int(len(excitations) * 0.7)\n", " train_excitations = excitations[:split_ind]\n", " test_excitations = excitations[split_ind:]\n", "\n", " train_labels = labels[:split_ind]\n", " test_labels = labels[split_ind:]\n", "\n", " return tfq.convert_to_tensor(train_excitations), np.array(train_labels), \\\n", " tfq.convert_to_tensor(test_excitations), np.array(test_labels)" ] }, { "cell_type": "markdown", "metadata": { "id": "wGsDkZnrhDgS" }, "source": [ "通常の機械学習と同じように、モデルのベンチマークに使用するトレーニングとテストのセットを作成していることがわかります。次のようにすると、データポイントを素早く確認できます。" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.324714Z", "iopub.status.busy": "2021-02-12T21:45:06.323164Z", "iopub.status.idle": "2021-02-12T21:45:06.338457Z", "shell.execute_reply": "2021-02-12T21:45:06.338868Z" }, "id": "eLJ-JHOihDgT" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Input: (0, 0): ───Rx(-0.102π)─── Output: 1\n", "Input: (0, 1): ───Rx(-0.104π)─── Output: 1\n" ] } ], "source": [ "sample_points, sample_labels, _, __ = generate_data(cirq.GridQubit.rect(1, 4))\n", "print('Input:', tfq.from_tensor(sample_points)[0], 'Output:', sample_labels[0])\n", "print('Input:', tfq.from_tensor(sample_points)[1], 'Output:', sample_labels[1])" ] }, { "cell_type": "markdown", "metadata": { "id": "sFiRlDt_0-DL" }, "source": [ "### 1.5 レイヤーを定義する\n", "\n", "上記の図で示すレイヤーを TensorFlow で定義しましょう。" ] }, { "cell_type": "markdown", "metadata": { "id": "s2B9geIqLWHK" }, "source": [ "#### 1.5.1 クラスター状態\n", "\n", "まず始めに、クラスター状態を定義しますが、これには Google が量子回路のプログラミング用に提供している Cirq フレームワークを使用します。モデルの静的な部分であるため、`tfq.layers.AddCircuit` 機能を使用して埋め込みます。" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.344563Z", "iopub.status.busy": "2021-02-12T21:45:06.343942Z", "iopub.status.idle": "2021-02-12T21:45:06.346253Z", "shell.execute_reply": "2021-02-12T21:45:06.345737Z" }, "id": "qpQwVWKazU8g" }, "outputs": [], "source": [ "def cluster_state_circuit(bits):\n", " \"\"\"Return a cluster state on the qubits in `bits`.\"\"\"\n", " circuit = cirq.Circuit()\n", " circuit.append(cirq.H.on_each(bits))\n", " for this_bit, next_bit in zip(bits, bits[1:] + [bits[0]]):\n", " circuit.append(cirq.CZ(this_bit, next_bit))\n", " return circuit" ] }, { "cell_type": "markdown", "metadata": { "id": "e9qX1uN740vJ" }, "source": [ "矩形の cirq.GridQubit のクラスター状態回路を表示します。" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.354451Z", "iopub.status.busy": "2021-02-12T21:45:06.353725Z", "iopub.status.idle": "2021-02-12T21:45:06.544763Z", "shell.execute_reply": "2021-02-12T21:45:06.545179Z" }, "id": "9tZt0aAO4r4F" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "findfont: Font family ['Arial'] not found. Falling back to DejaVu Sans.\n" ] }, { "data": { "image/svg+xml": [ "(0, 0): (0, 1): (0, 2): (0, 3): HHHH" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SVGCircuit(cluster_state_circuit(cirq.GridQubit.rect(1, 4)))" ] }, { "cell_type": "markdown", "metadata": { "id": "4xElWnRf1ZC7" }, "source": [ "#### 1.5.2 QCNN レイヤー\n", "\n", "Cong and Lukin の QCNN に関する論文を使用して、モデルを構成するレイヤーを定義します。これには次の前提条件があります。\n", "\n", "- Tucci の論文にある 1 キュービットと 2 キュービットのパラメータ化されたユニタリ―行列\n", "- 一般的なパラメータ化された 2 キュービットプーリング演算" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.554330Z", "iopub.status.busy": "2021-02-12T21:45:06.553625Z", "iopub.status.idle": "2021-02-12T21:45:06.555783Z", "shell.execute_reply": "2021-02-12T21:45:06.555282Z" }, "id": "oNRGOqky2exY" }, "outputs": [], "source": [ "def one_qubit_unitary(bit, symbols):\n", " \"\"\"Make a Cirq circuit enacting a rotation of the bloch sphere about the X,\n", " Y and Z axis, that depends on the values in `symbols`.\n", " \"\"\"\n", " return cirq.Circuit(\n", " cirq.X(bit)**symbols[0],\n", " cirq.Y(bit)**symbols[1],\n", " cirq.Z(bit)**symbols[2])\n", "\n", "\n", "def two_qubit_unitary(bits, symbols):\n", " \"\"\"Make a Cirq circuit that creates an arbitrary two qubit unitary.\"\"\"\n", " circuit = cirq.Circuit()\n", " circuit += one_qubit_unitary(bits[0], symbols[0:3])\n", " circuit += one_qubit_unitary(bits[1], symbols[3:6])\n", " circuit += [cirq.ZZ(*bits)**symbols[6]]\n", " circuit += [cirq.YY(*bits)**symbols[7]]\n", " circuit += [cirq.XX(*bits)**symbols[8]]\n", " circuit += one_qubit_unitary(bits[0], symbols[9:12])\n", " circuit += one_qubit_unitary(bits[1], symbols[12:])\n", " return circuit\n", "\n", "\n", "def two_qubit_pool(source_qubit, sink_qubit, symbols):\n", " \"\"\"Make a Cirq circuit to do a parameterized 'pooling' operation, which\n", " attempts to reduce entanglement down from two qubits to just one.\"\"\"\n", " pool_circuit = cirq.Circuit()\n", " sink_basis_selector = one_qubit_unitary(sink_qubit, symbols[0:3])\n", " source_basis_selector = one_qubit_unitary(source_qubit, symbols[3:6])\n", " pool_circuit.append(sink_basis_selector)\n", " pool_circuit.append(source_basis_selector)\n", " pool_circuit.append(cirq.CNOT(control=source_qubit, target=sink_qubit))\n", " pool_circuit.append(sink_basis_selector**-1)\n", " return pool_circuit" ] }, { "cell_type": "markdown", "metadata": { "id": "LoG0a3U_2qGA" }, "source": [ "作成したものを確認するために、1 キュービットのユニタリー回路を出力しましょう。" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.561410Z", "iopub.status.busy": "2021-02-12T21:45:06.560801Z", "iopub.status.idle": "2021-02-12T21:45:06.592663Z", "shell.execute_reply": "2021-02-12T21:45:06.593081Z" }, "id": "T5uhvF-g2rpZ" }, "outputs": [ { "data": { "image/svg+xml": [ "(0, 0): X^x0Y^x1Z^x2" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SVGCircuit(one_qubit_unitary(cirq.GridQubit(0, 0), sympy.symbols('x0:3')))" ] }, { "cell_type": "markdown", "metadata": { "id": "NWuMb_Us8ar2" }, "source": [ "次に、2 キュービットのユニタリー回路を出力します。" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.601246Z", "iopub.status.busy": "2021-02-12T21:45:06.600626Z", "iopub.status.idle": "2021-02-12T21:45:06.717512Z", "shell.execute_reply": "2021-02-12T21:45:06.717913Z" }, "id": "aJTdRrfS2uIo" }, "outputs": [ { "data": { "image/svg+xml": [ "(0, 0): (0, 1): X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SVGCircuit(two_qubit_unitary(cirq.GridQubit.rect(1, 2), sympy.symbols('x0:15')))" ] }, { "cell_type": "markdown", "metadata": { "id": "EXQD1R_V8jyk" }, "source": [ "そして 2 キュービットのプーリング回路を出力します。" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.725510Z", "iopub.status.busy": "2021-02-12T21:45:06.724854Z", "iopub.status.idle": "2021-02-12T21:45:06.833783Z", "shell.execute_reply": "2021-02-12T21:45:06.834227Z" }, "id": "DOHRbkvH2xGK" }, "outputs": [ { "data": { "image/svg+xml": [ "(0, 0): (0, 1): X^x0Y^x1Z^x2X^x3Y^x4Z^x5XZ^(-x2)Y^(-x1)X^(-x0)" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SVGCircuit(two_qubit_pool(*cirq.GridQubit.rect(1, 2), sympy.symbols('x0:6')))" ] }, { "cell_type": "markdown", "metadata": { "id": "AzVauXWD3v8C" }, "source": [ "##### 1.5.2.1 量子畳み込み\n", "\n", "Cong と Lukin の論文にあるとおり、1 次元量子畳み込みを、ストライド 1 の隣接するすべてのキュービットペアに 2 キュービットのパラメーター化されたユニタリの適用として定義します。" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.840404Z", "iopub.status.busy": "2021-02-12T21:45:06.839774Z", "iopub.status.idle": "2021-02-12T21:45:06.841314Z", "shell.execute_reply": "2021-02-12T21:45:06.841684Z" }, "id": "1Fa19Lzb3wnR" }, "outputs": [], "source": [ "def quantum_conv_circuit(bits, symbols):\n", " \"\"\"Quantum Convolution Layer following the above diagram.\n", " Return a Cirq circuit with the cascade of `two_qubit_unitary` applied\n", " to all pairs of qubits in `bits` as in the diagram above.\n", " \"\"\"\n", " circuit = cirq.Circuit()\n", " for first, second in zip(bits[0::2], bits[1::2]):\n", " circuit += two_qubit_unitary([first, second], symbols)\n", " for first, second in zip(bits[1::2], bits[2::2] + [bits[0]]):\n", " circuit += two_qubit_unitary([first, second], symbols)\n", " return circuit" ] }, { "cell_type": "markdown", "metadata": { "id": "fTzOm_t394Gj" }, "source": [ "(非常に水平な)回路を表示します。" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:06.866571Z", "iopub.status.busy": "2021-02-12T21:45:06.865929Z", "iopub.status.idle": "2021-02-12T21:45:07.711380Z", "shell.execute_reply": "2021-02-12T21:45:07.711845Z" }, "id": "Bi6q2nmY3z_U" }, "outputs": [ { "data": { "image/svg+xml": [ "(0, 0): (0, 1): (0, 2): (0, 3): (0, 4): (0, 5): (0, 6): (0, 7): X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZZZ^x6YYYY^x7XXXX^x8X^x9Y^x10Z^x11X^x12Y^x13Z^x14X^x0Y^x1Z^x2X^x3Y^x4Z^x5ZZ^x6ZZYY^x7YYXX^x8XXX^x9Y^x10Z^x11X^x12Y^x13Z^x14" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SVGCircuit(\n", " quantum_conv_circuit(cirq.GridQubit.rect(1, 8), sympy.symbols('x0:15')))" ] }, { "cell_type": "markdown", "metadata": { "id": "3svBAfap4xhP" }, "source": [ "##### 1.5.2.2 量子プーリング\n", "\n", "量子プーリングレイヤーは、上記で定義された 2 キュービットプールを使用して、$N$ キュービットから $\\frac{N}{2}$ キュービットまでをプーリングします。" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:07.716997Z", "iopub.status.busy": "2021-02-12T21:45:07.716348Z", "iopub.status.idle": "2021-02-12T21:45:07.718130Z", "shell.execute_reply": "2021-02-12T21:45:07.718539Z" }, "id": "jD3fgcWO4yEU" }, "outputs": [], "source": [ "def quantum_pool_circuit(source_bits, sink_bits, symbols):\n", " \"\"\"A layer that specifies a quantum pooling operation.\n", " A Quantum pool tries to learn to pool the relevant information from two\n", " qubits onto 1.\n", " \"\"\"\n", " circuit = cirq.Circuit()\n", " for source, sink in zip(source_bits, sink_bits):\n", " circuit += two_qubit_pool(source, sink, symbols)\n", " return circuit" ] }, { "cell_type": "markdown", "metadata": { "id": "NX83NHDP_Q_Z" }, "source": [ "プーリングコンポーネント回路を調べます。" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:07.730474Z", "iopub.status.busy": "2021-02-12T21:45:07.729826Z", "iopub.status.idle": "2021-02-12T21:45:08.174003Z", "shell.execute_reply": "2021-02-12T21:45:08.173436Z" }, "id": "pFXow2OX47O5" }, "outputs": [ { "data": { "image/svg+xml": [ "(0, 0): (0, 1): (0, 2): (0, 3): (0, 4): (0, 5): (0, 6): (0, 7): X^x0Y^x1Z^x2X^x3Y^x4Z^x5XZ^(-x2)Y^(-x1)X^(-x0)X^x0Y^x1Z^x2X^x3Y^x4Z^x5XZ^(-x2)Y^(-x1)X^(-x0)X^x0Y^x1Z^x2X^x3Y^x4Z^x5XZ^(-x2)Y^(-x1)X^(-x0)X^x0Y^x1Z^x2X^x3Y^x4Z^x5XZ^(-x2)Y^(-x1)X^(-x0)" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_bits = cirq.GridQubit.rect(1, 8)\n", "\n", "SVGCircuit(\n", " quantum_pool_circuit(test_bits[:4], test_bits[4:], sympy.symbols('x0:6')))" ] }, { "cell_type": "markdown", "metadata": { "id": "23VcPLT45Lg7" }, "source": [ "### 1.6 モデルの定義\n", "\n", "定義したレイヤーを使用して純粋な量子 CNN を構築します。8 キュービットで開始し、1 キュービットまでプールダウンしてから、$\\langle \\hat{Z} \\rangle$ を測定します。" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:08.183229Z", "iopub.status.busy": "2021-02-12T21:45:08.182575Z", "iopub.status.idle": "2021-02-12T21:45:09.273040Z", "shell.execute_reply": "2021-02-12T21:45:09.273577Z" }, "id": "vzEsY6-n5NR0" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANkAAADXCAYAAACXtPQGAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3de1QTd/o/8PcECLegBIl4wwtiDS54ASyK9ggrni61CNqKSrUFKgVXrYq6uvJtS4XWUizdbtk1LIp4VovKdsHqClWsdgHXWtpuQBEptvWCUm7hEpVAks/vD3/MGrkFyOSCn9c5/jEX5vOQw+PMfObJMwwhhICiKK58zzN0BBQ11NEkoyiOmT++0NTUBLlcbqhYKGpIEAqFsLW1ZZc1kmznzp3IycmBnZ2d3gN7mrW3t+Phw4cYPny4oUMxKKVSidbWVgiFQkOHMmD19fVISkpCdHQ0u878yZ2SkpIQHh6uz7ieeqdPn8b+/fvxz3/+09ChGFRpaSnWrl2Ly5cvGzqUAdu0aVOXdfSejKI4RpOMojhGk8yEffzxx1iyZImhw9A7b29vMAwDhmGQmZmpsS0rKwvHjh3r9zHVajWioqJQX1+vsd7R0ZEdq6CgYEDx0iQzYYQQGKqWIDExEXPmzDHI2AAQFxcHQojG/EFGRgZycnKwfPlyAMCpU6fw3HPPQSAQwMXFBbt374ZKper2eDweDxEREQgMDIRCoWDX19fXo7W1dVCx0iQzYbGxsTh58qShwzAKNTU1iI2NRUpKCng8HuRyOYKCghAZGYna2lpkZGRg7969SEpK6vEYvr6+cHNzw/vvv6/T2GiSmaj4+HgwDAMrK6tu1507dw6urq6wt7fHunXrQAhBTEwMGIbBxIkTcejQITg7O8PGxgZhYWHs89Hw8HAwDMOepeRyOXu5lJubCwCIiYnBW2+9hW+++YbdVlVVpf8P4THHjx+Hh4cHxo0bx67z8/NDREQEbGxs4Ofnh8DAQJw+fbrX47z88svIzMzU6RUCTTITFR8f3+Us1rlOpVIhLy8PJSUlOHHiBNLS0lBQUACJRIL09HTU1dXh8uXLkEqluHjxIoqKirB161YAQGZmJhISEthjCgQCEEI0Hq5KJBIkJCTAx8eHvWR1dXXVzy/eg4KCAri5ubHLAoEA58+fZ5cJIaisrISDg0Ovx5k2bRpu3bqFiooKncVGk2wIUiqV2Lx5M+zt7bFgwQKIxWKUlZWx29vb25GUlAQHBwfMnDkTsbGxOHjwIFpaWgY9dlZWFhwdHfHzzz8P+lj9UV1dDUdHx263Xb16FatWrUJpaWm3z7Ee13mMu3fv6iw2mmRDkLm5ucZlk1Ao1EggJycnCAQCdtnd3R0dHR06ueTrPLPpe0JGJpPBwsKiy3q5XA4PDw/U1NTg3LlzWLhwYa/H4fP5AIDGxkadxdal4oMyfWZmZhrLDMNoLKvVao3l7hLiyXVKpVKrscPCwhAWFqbVvrokFArR0dHR7TZPT09cuHBBq+O0t7cDQJ+Xlf1Bz2RPodraWjQ1NbHL5eXlsLCwYO+r7Ozs0NzczG6/d++exrQ20DVxDW3s2LFdnnEBj+7NSkpKtD5O5zHGjBmjs9hokj2FbG1tERcXh8bGRkilUqSkpCAiIgLDhg0DAEyfPh2VlZUoLCxEU1MTUlJS2MuoTiKRCDU1NZDL5YiKikJqaioAw92TBQQEdDtZkZub22M8+fn54PP5GmfA8vJyjB8/HmKxWGex0SQzUfHx8QgKCoJCoQDDMKioqEBqaqrGuqamJojFYhQXF+Pdd99lH9wKhUL4+/vD09MTc+fOha+vLz766CP22P7+/li/fj2WLFkCT09PPP/887CwsMDSpUsRHx8PAFi2bBlGjRoFkUiE8vJy9hLRzMzMIPdkoaGhKCsrQ3V1tcZ6tVrdYzx5eXlYsWKFxr3c559/zj7G0BnymOjoaHLw4EFC6de//vUvsnTpUr2MlZ6eTiZMmKCXsfpLKpWS2bNn97mfl5cXAUAAaPy9HjhwgISGhhKVStXnMb799lsSEhJCWltb2XXFxcXE29ubtLW1setGjBjBjnX27Nk+j/vmm28SiUTy+Krv+n0mKyoqYh9AMgyD+fPn6y7jtdRdSY8xxEXpR0lJCXt2erysKjIyEsHBwcjOzu7zGN7e3sjJyWFnWdVqNTIyMpCXlwdLS0t2v/r6enasgICAAcXb7ySbP38+CCEYMWIEkpOTUVRUNKCBdc1Y4zImMTExiIqKws2bN9nLyaEmLCwMK1as6PfP8Xg87N+/v8dnbYOhs3syUynpqaioQEhICIRCIZydnfGHP/wBHR0dGmMxDINTp04BAFxdXdm4gUdTvLGxsRg5ciSsra3h7++P0tLSbj8DsVgMHo+HkJAQXX3MgyKRSDSeY9nb2xs6pKeCTpPMFEp6Nm3ahKioKNTU1OCrr77CV199hZSUFAgEAjQ2NsLS0hLZ2dl48cUXATyqFvDy8mJnp3bs2IGvv/4aFy9eRE1NDTw9PbF48WK0tbWxn4FSqUR2djaKioqe+m87UxzMLhqypEcbX375JRYvXgxLS0tMmTIFr7zyCvLz8wE8mnV78cUXkZGRwe6fm5uLF198EQzDQCaT4S9/+Qt2794NV1dXDB8+HB988AHq6+vxj3/8g/0ZlUqFuLg4ODo6IiQkhD0LU08nnSeZIUt6tHH27Fk8++yzsLW1BcMwiI2N1XiI+eqrr+LMmTPsVPDBgwfx6quvAnh0qdnR0cEmHcMw4PP5aGtrw7Vr19hjWFhYwNnZWS+/D2X8dF5WZciSnr7U1tYiJCQEGzduREFBAYYNG4bU1FRIJBJ2n8DAQAiFQhw6dAhr1qyBQqGAi4uLRlyXLl2Cj49Pj+PweP3/v+uHH36An59fv39uKLl//z5++eUXk/4cbt++jWnTpmms03vtYmdJT+dNt75KesRiMSQSCR48eICoqCi2uqGzVq2ThYUFVq5ciczMTKhUKqxevZrd5ubmBgsLC5SWlvaaZAMxefJkJCYm6vSYpqaqqgp79uzBBx98YOhQBuyTTz7psk7vSdZZ0pOQkIDbt2/3WtLj4eHRZ0nPli1bMGPGDGzYsKHPsadOnQo+n4/U1FTs3r0bv/76Kw4dOtRlvzVr1iA1NRWpqan48ccf2fVCoRDr16/He++9h+nTp2PmzJkoKytDWFgYDh06hLlz5w74cxk2bJhBv85vDGxsbGBra2vSn0NWVlbXlY8/mtam4qOwsJB9Ag6AzJs3jxBCyKeffqqxXiaTkalTp7LLr732GlttkJ2dTSZMmECsra3JypUrNZ66E0LIhg0biL29PZk0aRI5e/YssbW1JQDIO++8QwghpK6ujvj4+BArKyvi6+tLGhoausT15D9LS0tCCCHHjh0jrq6uxM7OjixcuJBs3ryZACC2trYaMYjFYhIWFtbl91coFGTr1q1k5MiRxMrKikyfPp0cPXq028/g008/7fWz7KTPig9jpm3FhzHrruJDr2VVxlzS86SYmBjy5Zdf6mUsmmSPDNUkowXC3WhubkZZWdmAy2gobtGWcD0whZKebdu2gWEYPPPMM9i+ffuAZgmNHZet3PTZJo62hOuGKZT07N27F4QQ/PrrrwgODjZ0OFQ/0JZwlE501k06OTl1qZscTN1nX3WlptAmjraEo3Ri27ZtyMnJQX5+Pqqrq+Hu7o6AgAA0NzcPqu6zr7pSU2gTR1vCUYMmk8mwb98+7Nq1C7NmzYKDgwM+/PBDKBQKjYqVweCqrlQfLQloSzhq0CoqKqBUKuHh4cGus7a2hqurK3vJOFhc1ZU+fi/OFdoSjhq03v5AHy8ze3K//tR99lVXOtBj66NNHG0JRw2am5sbzM3NceXKFXZdW1sbbty4wZ7dBlv32VurOGNvE0dbwlGDJhQKsW7dOuzZswdSqRQymQw7duwAn89HTEwMgMG1cgN6bxVn7G3iaEs4SieSk5MRHByMRYsWYfTo0ZBKpTh79iz7QvfBtHIDem8VZ+xt4mhLOKpXxlC7aAx1pUO1JRyd+KBMTk/3WJGRkbCyskJ2dnafHas6W8J16q0l3GDRJKMQExODtLQ0AGB7mRhj2Zs2BjqL2dkSjgv0nowyibpSU0aTjKI4RpOMojjW5Z6ssLCwx+/cUNwoKyvDzZs3ceDAAUOHYlB37txBXV2dSX8O5eXlXbpVMYT87wHC0aNHUVhYqPfAnnYqlQpKpVJjVqs7CoUCBQUFWLx4sZ4i0y+1Wo329nZYWVkZOpRBCQsLw7x58zoXv9dIMsq41dXVwcvLC7du3TJ0KJT2vqf3ZBTFMZpkFMUxmmQUxTGaZBTFMZpkFMUxmmQUxTGaZBTFMZpkFMUxmmQUxTGaZBTFMZpkFMUxmmQUxTGaZBTFMZpkFMUxmmQUxTGaZBTFMZpkFMUxmmQUxTGaZBTFMZpkFMUxmmQUxTGaZBTFMZpkFMUx+lYXI/fvf/+bfYNka2sr5HI5/va3v7Hb58+f36VjLWVcaJIZuZs3b2Ljxo3g8f530bFp0yYAj14iXlpaaqjQKC3RDsJG7v79+xCJRHj48GGXbZMmTcJPP/1kgKiofqAdhI2dra0t/P39u6y3tLTE2rVrDRAR1V80yUxAVFQU+/L1Tubm5gN+qySlXzTJTMALL7zQ5XVWLi4umDhxomECovqFJpkJ4PP5CAoKYic/bGxs8MYbbxg4KkpbNMlMxOuvvw47Ozt2OTQ01IDRUP1Bk8xE+Pv7s2eymTNnYuTIkQaOiNIWTTITwePxsHLlSjAMg+joaEOHQ/WDVg+jb9++jZMnT3IdC9UHgUAAMzMz1NfX469//auhw3nqRUZGavXqXa2SrLy8HCkpKViyZMmgA6O0k5mZibCwMPD5fI31Xl5euHPnjoGi0r/s7GwEBARAKBQaOhQN6enpWL58uXbvtyZayM/PJ0uWLNFmV0pHRCIRaW5u7rJeoVAYIBrDmTVrFrl69aqhw+hi3LhxpLa2Vptdv6P3ZCbmyTMbZfxoklEUx2iSDTEff/wxvXc2MjTJhhhCCIgBvliRmJiIOXPm6H1cbZw6dQrPPfccBAIBXFxcsHv37i5lalyiSTbExMbG0sctj5HL5QgKCkJkZCRqa2uRkZGBvXv3IikpSW8x0CQbQuLj48EwDDut/PjyuXPn4OrqCnt7e6xbt44928XExIBhGEycOBGHDh2Cs7MzbGxsEBYWBrlcDgAIDw8HwzDsmUoul4NhGDAMg9zcXMTExOCtt97CN998w66vqqoyzIfQDT8/P0RERMDGxgZ+fn4IDAzE6dOn9ReANnOQdApf/3qawu/LyZMniaWlpcayubk52bp1K5HJZOTChQuEYRhy5swZdp/09HRiY2NDfv/735OGhgbyww8/EGdnZ/LGG2+w+yQkJBAfHx+NsWxtbUlOTk6P23VB11P4arWazJw5kwQFBQ3qOHQKn9KgVCqxefNm2NvbY8GCBRCLxSgrK9PYp729HUlJSXBwcMDMmTMRGxuLgwcPoqWlZVBjZ2VlwdHRET///POgjqMLV69exapVq1BaWsq2cNAHmmRPAXNzc4wbN45dFgqFXZLHyckJAoGAXXZ3d0dHR8egL/vI/5+IIQbuciGXy+Hh4YGamhqcO3cOCxcu1NvYtJHOU8DMzExjmWGYLvuo1WqN5e6S4sl1SqWyz7HDwsKM5hvcnp6euHDhgt7HpWcyCgBQW1uLpqYmdrm8vBwWFhZwdXUFANjZ2aG5uZndfu/ePSgUCna5u8Q1JgKBACUlJQYZmyYZBeBRw564uDg0NjZCKpUiJSUFERERGDZsGABg+vTpqKysRGFhIZqampCSkqJR4iUSiVBTUwO5XI6oqCikpqYCMJ57stzcXIPFQZNsCImPj0dQUBAUCgUYhsGGDRs0lpuamiAWi1FcXIx3330X4eHh7M8KhUL4+/vD09MTc+fOha+vLz766CN2u7+/P9avX48lS5bA09MTzz//PCwsLLB06VLEx8dj2bJlGDVqFEQiEcrLy9lLRDMzM6O4J1Or1YaLQ5s5SC6n8O/du0cAEAAkKytrwPv0JSUlZdDTtvoca6BT+AORnp5OJkyYoJex+otW4ffCz88Ps2fP7nO/UaNGgRACJyenAe3T0tKCuLg4TJ06FVZWVhgzZgwCAgKQlpamcY9B9Pi/WHdjGXPZEcUtTpKsoqIC169fR0lJCb777jsuhgAANDQ0YM6cOSgpKcHx48fR0tICqVSK1atXY/v27di5cye7rz7LjUyptCkmJgZRUVG4efMme0lJ6RYnSZaWloaDBw9i1KhRkEgkXbY3NTXh5Zdfho2NDVxcXLr9g9Rmny1btqCxsRG5ubmYMWMG+Hw+RCIRwsPDkZyczO7XV7mRWCwGj8dDSEgIgEcPZmNjY+Hk5AR7e3ssWrQIX3/9NYC+S4yeHAuAUZcdSSQSjWdZ9vb2hg5p6NHmorI/92QPHz4kvr6+hBBC3n77bWJra9vl3uKVV14hU6ZMIVeuXCF1dXUkKiqK2Nraatxv9bXP/fv3CZ/PJ7GxsVrF1V25kZmZGYmOjiZ1dXUkJyeHBAcHE0II2bhxI5k0aRL5/vvvSVtbG7lw4QIZPXo0+7N9lRg9OVZPP9Mbfd6TGTN6T9aN48ePY9WqVQCA6OhoKBQK/P3vf2e319XVISsrC3/84x/xm9/8Bo6OjkhMTMT9+/f7tU9VVRXa29vh4uIy4FhVKhXi4uLg6OiIkJAQ5ObmorGxEfv27cOuXbswa9YsWFpaYsGCBbh79+6Ax6Gebjqv+Dhy5Aiys7MBAGPGjMHSpUshkUiwfv16AEBlZSXUarXGO7VGjhypcZmizT6dBvMQ1MLCAs7Ozhrrrl+/DqVSCXd39wEfV1daW1sNHYLBqVQqyOXyQddQ6hrpxySaTpOsrKwMZ86c6fJyBAAoLi7GvHnzegzu8dIfbfZxdXWFpaUlbty4MeB4H3/nV19j97WfNiVG/dHW1oaZM2cafSUF19ra2hAYGNilNMzQ2tratN5Xp0kmkUjwxRdfICgoiF334MEDjBs3DhKJBPPmzcPUqVPB4/FQXl4OHx8fAIBMJkNDQwP7M9rs0/mdpyNHjiAxMRHW1tYasaxevRoAcPjw4X79Dm5ubjA3N8eVK1d6nHLvq8SoO/1NFisrK1RVVbEVF08rT09PHD582OjeJvrkFVBvdHZPdv/+fRQXF2Px4sUa621sbPD6668jOzsbDQ0NEIlEWLVqFT744AOUl5ejsbERO3bs0JiN02YfAEhJSYFIJMLSpUshlUrR3t6OO3fuYOfOnThz5gzi4+P7/XsIhUKsW7cOe/bswX//+18oFArk5eVh7Nix7D1hXyVG3emp7Ih6CmgzPdLX7GJdXR1bkeHl5aWxbc+ePew2AOT8+fNEJpORl156iVhZWZHx48eTo0ePEicnJwKAbN26lRBCtNqHEEJaWlrIzp07yeTJkwmfzyejR48mq1atItevX2f3eeeddzRiWL9+vcbyp59+qhGzQqEgW7ZsISKRiFhbW5M5c+aQS5cuaeyzYcMGYm9vTyZNmkTOnj1LbG1tNY7Z+e/atWvsZ+Tj40OsrKyIr68vaWho6PUzp7OLjwyF2UWDl1VR3aNJ9kh/kuyzzz4jR48e7fcYKpWKrF27ltTV1Wn9M0ZRVkWZBi7LvfRZSpaRkYGcnBwsX76cXadtlyoej4eIiAgEBgb2eW89EDTJKJNXU1OD2NhYpKSksDPG/e1S5evrCzc3N7z//vu6D1Cb8x29XNQ/bS4XO+8dR44cSaysrIifnx+RSqWEEEJee+01AoCtMmltbWXvEzsrU6Kjo7vcQ/7444/s+gkTJpDMzEwybtw4Ym1tTVatWkVaW1u1On5Px+4vbS4XP/nkEzJ//nyNda2trcTPz09jXWhoKJk3b16Pxzlx4gQZP348UavVfcZFLxefEtu2bUNOTg7y8/NRXV0Nd3d3BAQEoLm5GZmZmUhISGD3FQgEIITA1taWXSeRSJCQkAAfHx+2dtHV1RUSiQTp6emoq6vD5cuXIZVKcfHiRRQVFWHr1q0A0Ofxezo2FwoKCuDm5qaxTiAQ4Pz58+wyIQSVlZVwcHDo8TjTpk3DrVu3UFFRodP4aJKZKJlMplH+5eDggA8//BAKhaLbouyBMJUOVtXV1XB0dOxxu7ZdqjqPoesSOppkJqqiogJKpRIeHh7sOmtra7i6uqK0tFQnY5hKByuZTAYLC4tut/WnS1Xns87GxkadxNWJdqsyUb39gT5eXfLkfv0p/zKVDlZCoRAdHR09bte2S1V7ezsA9HpJORD0TGaiHi//6tTW1oYbN26wZzdtyr96K/cylQ5WY8eORX19fbfb+tOlqvMYY8aM0VlsAE0yk/V4+ZdUKoVMJsOOHTvA5/MRExMDQLvyr97KvUylg1VAQECPkxU9danKz88Hn8/XOAOWl5dj/PjxEIvFOomrE00yE5acnIzg4GAsWrQIo0ePhlQqxdmzZ9lvQfTVYQpAj12mANPpYBUaGoqysjJUV1d32dZTl6q8vDysWLFC417u888/Z7/5rlPaTPTT52T6Z+iyKmPpYKVtWdWBAwdIaGgoUalUfe777bffkpCQEPaZHyGEFBcXE29vb9LW1qZVXPQ5GfXUiYyMRHBwMPuF4d54e3sjJyeHnTlVq9XIyMhAXl4eLC0tdR4bnV2kuoiJiUFaWhqAR5MXMpnMJBrsDHTGksfjYf/+/TqO5rHjc3ZkymTRDla6RZOMojhGk4yiOEaTjKI4pvXEx+XLlxEcHMxlLNQTwsLCunRp6ujo6LFObyiqq6vDpk2bYGNjY+hQNPRUYdIdhpC+nwg2NDQY7AVq1P80Nzdjw4YNGs1iKcP57W9/q81/eN9rlWSUcairq4OXlxdu3bpl6FAo7X1P78koimM0ySiKYzTJKIpjNMkoimM0ySiKYzTJKIpjNMkoimM0ySiKYzTJKIpjNMkoimM0ySiKYzTJKIpjNMkoimM0ySiKYzTJKIpjNMkoimM0ySiKYzTJKIpjNMkoimM0ySiKYzTJKIpjNMkoimM0ySiKY/TVSUZu37597Gt9VCoVHj58CC8vLwCAubk53nvvPQQEBBgyRKoPNMmM3NSpU3Ht2jU8fPiQXdfZItrCwgIzZswwVGiUlujlopHz8/ODlZVVt9vmzJkDkUik54io/qJJZuR4PB5WrlwJc3PNiw47OztER0cbKCqqP2iSmYCIiIgubzVRqVT0LTsmgiaZCZg9ezZsbW011vn5+bEvFqeMG00yExEeHg4+nw8AGD58ON544w0DR0Rpi746yURUVFRg9uzZkMvlEAgEqK+vh6WlpaHDovpGX51kKsRiMZycnMAwDIKCgmiCmRCaZCYkKioKhBCsXbvW0KFQ/cD55WJlZSXefPNNLofg3IMHD2Bubs7eExlKW1sbLl26hAULFoBhGIOMD6DH53am6PTp0+DxOD3XfM95xUdzczPu3r2LP//5z1wPxZmUlBRMmzYNv/vd7wwdCgoLC/Hcc88ZZOzOd1WvWbPGIOPrWmBgIPQxJaGXsqrhw4fDz89PH0Nx4ujRoxCLxUbxOxgyhqKiIoPHoEscn8H+N45eRqGopxhNMoriGE0yDn388cdYsmSJocOgDIwmGYcIIXq5se5OYmIi5syZY5CxB+rUqVN47rnnIBAI4OLigt27d0OlUhk6rEGjScah2NhYnDx50tBhmAS5XI6goCBERkaitrYWGRkZ2Lt3L5KSkgwd2qDRJONIfHw8GIZhnyk9vnzu3Dm4urrC3t4e69atY892MTExYBgGEydOxKFDh+Ds7AwbGxuEhYVBLpcDeFTDyDAMe5aSy+VgGAYMwyA3N5c9zltvvYVvvvmG3VZVVWWAT6F//Pz82G8c+Pn5ITAwEKdPnzZ0WINGk4wj8fHxGmexzmWVSoW8vDyUlJTgxIkTSEtLQ0FBAQBAIpEgPT0ddXV1uHz5MqRSKS5evIiioiJs3boVAJCZmYmEhAT2uAKBAIQQjSp9iUSChIQE+Pj4sJesrq6uevrNB0YgEOD8+fPsMiEElZWVcHBwMGBUukGTTM+USiU2b94Me3t7LFiwAGKxGGVlZRr7tLe3IykpCQ4ODpg5cyZiY2Nx8OBBtLS0DHr8rKwsODo64ueffx70sbhy9epVrFq1CqWlpdi0aZOhwxk0mmR6Zm5ujnHjxrHLQqGwS/I4OTlpfFfM3d0dHR0dOrnk6zyzGeuXL+RyOTw8PFBTU4Nz585h4cKFhg5p0GgjHT0zMzPTWO6uBlGtVmssd5cQT65TKpVajR8WFoawsDCt9jUUT09PXLhwwdBh6Aw9kxmh2tpaNDU1scvl5eWwsLBg76vs7OzQ3NzMbr937x4UCoXGMQxRQKwLAoEAJSUlhg5Dp2iSGSFbW1vExcWhsbERUqkUKSkpiIiIwLBhwwAA06dPR2VlJQoLC9HU1ISUlJQu3xAQiUSoqamBXC5HVFQUUlNTARj/PVlubq5RxzcQNMk4Eh8fj6CgICgUCjAMgw0bNmgsNzU1QSwWo7i4GO+++y7Cw8PZnxUKhfD394enpyfmzp0LX19ffPTRR+x2f39/rF+/HkuWLIGnpyeef/55WFhYYOnSpYiPjwcALFu2DKNGjYJIJEJ5eTl7iWhmZmbU92Rqtdqo4xsQwrHLly+T+fPncz0Mp6Kjo8nBgwf1MlZ6ejqZMGGCXsbqr4SEBJKQkGDoMHTGxsaGKJVKrof5zijOZEVFRexD085/5ubmmDx5MhITE7uU1sjlcrz99tsQi8WwtLSEg4MDAgMDNZ6zdGppaUFcXBymTp0KKysrjBkzBgEBAUhLS9O476EorhhFks2fPx+EEIwYMQLJyckghKClpQUJCQl455138P7777P7NjU1wdfXF8XFxThy5AhaWlpw/fp1vPDCC3jhhRcgkUjYfRsaGjBnzhyUlJTg+PHjaGlpgVQqxerVq7F9+3bs3LnTEL9uj2JiYhAVFYWbN2+yl5SU6TOKJOtOZzmRv78/jh07xq7funUrfv31V3zxxRfw8vKCpaUlRCIRNm7ciLi4OGzcuJF9nrRlyxY0NrcrZhIAAAXgSURBVDYiNzcXM2bMAJ/Ph0gkQnh4OJKTkw31q/VIIpFoPMeyt7c3dEiUDhhtknUij90AP3jwAEeOHMHq1au7NPsEgHXr1kGpVOLw4cN48OABjh07hldeeQXW1tZd9o2OjtY461EUV4w2yR4+fIjPPvsMFy5cwIoVKwAAN27cgEKhgIuLS7c/M2LECAwfPhzXrl1DVVUV2tvbe9yXovTF6Co+tm/fju3bt8PMzAwTJkxAfHw8du3aBeB/Z7X+PGjVxUNZpVKJ//znP11e+vC0kUqlAIDDhw8bOBLdeLKyhitG91eTnJyMbdu2dbtt8uTJ4PP5uHHjRrfbGxsb0dzcDHd3d7i6usLS0rLHfftDpVLhxx9/HBJfIByMzgfEQ6XkiejpWZzRJVlvbG1tsXz5chw5cgQJCQld3nQikUhgbW2N1157jZ04OXLkCBITE7vcl61evRqAdv8rW1paIiIiQuOB8dMoMTERAPB///d/Bo5EN7KysvQyjtHek/XkT3/6ExwcHBAQEICLFy+itbUVv/zyC5KSkpCUlITDhw9j/PjxAB71SxSJRFi6dCmkUina29tx584d7Ny5E2fOnGGrIyiKS0aRZJ0PoxsaGrB9+3YwDMN2q32So6MjLl26hIULF2Lt2rUQiUSYMmUKfvrpJxQWFmLZsmXsvvb29rh48SJmzZqFl156CXZ2dnj22Wdx69YtFBUVGf0XGamhwSiSrPNh9OP/emsFPWzYMCQkJKC8vBwPHz6Ev78/nJ2d2TPY4+zs7LBnzx5UVVVBoVDg7t27+Oyzz/DMM89w+StReHQ59vgzTi6p1WpERUWx79M2JkaRZIPBMAxOnDiBpqYmeHh4oLi42NAhDRjXHab02cEqIyMDOTk5WL58OQDddaL65JNPYGFh0eULrDweDxEREQgMDOzytR9DM/kkAwBra2vs3bsXt2/fxrx58wwdzlOvpqYGsbGxSElJAY/H00knqra2Nrz66qs4fvx4j19Q9fX1hZubm0YZnjEYEklmLNrb2xEbGwsnJydYW1vD398fpaWlAPruMtVThylT7GB1/PhxeHh4aLRZGGwnqitXrmDNmjV9JubLL7+MzMxMo/qqDE0yHdq2bRtycnKQn5+P6upquLu7IyAgAM3NzX12meqpw5QpdrAqKCiAm5ubRjyD7UTl7e2NRYsW9bnftGnTcOvWLVRUVPQvaA7RJNMRmUyGffv2YdeuXZg1axYcHBzw4YcfQqFQ6KRG0pQ6WFVXV8PR0bHbbVx3ouoc9+7duzo/9kDRJNORiooKKJVKeHh4sOusra3h6urKXjIOhil1sJLJZLCwsOiyXh+dqDrbMDQ2Nur82ANlUhUfxqy3P9DH6yef3E/bLlOm1MFKKBSio6Oj221cd6Jqb28HAKNqikrPZDri5uYGc3NzXLlyhV3X1taGGzdusGe3vrpM9VbMbEodrMaOHdvt8yp9dKLqHHfMmDGcjtMfNMl0RCgUYt26ddizZw+kUilkMhl27NgBPp+PmJgYAH13meqpwxRgWh2sAgICup146KkTVX5+Pvh8fo9nv/4oLy/H+PHjIRaLB30sXaFJpkPJyckIDg7GokWLMHr0aEilUpw9exbDhw8H0HeXqZ46TAGm1cEqNDQUZWVlqK6u1ljfUyeqvLw8rFixotv7uE5KpRIMw7Dvy54yZUq3kyuff/45+0jDaHDdqod2qxo8Y+lg1Z9uVQcOHCChoaFEpVL1ut+3335LQkJCSGtr66DjKy4uJt7e3qStrU2r/Z+qblXU0BMZGYng4GBkZ2f3up+3tzdycnI0Zk4HQq1WIyMjA3l5ebC0tBzUsXSNzi4auZiYGKSlpQF4NHEhk8lMpsGOPnvu83g87N+/X2/j9Qc9kxk52sHK9NEkoyiO0SSjKI7RJKMojjGEcPudgO+++87kv+OlVqvZr4c8zTpLu3i8ofN/84MHD7j+fb7nPMko6in3/dD5L4mijBRNMorimDmAnwwdBEUNYdX/DwWfyU2NctYyAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def create_model_circuit(qubits):\n", " \"\"\"Create sequence of alternating convolution and pooling operators \n", " which gradually shrink over time.\"\"\"\n", " model_circuit = cirq.Circuit()\n", " symbols = sympy.symbols('qconv0:63')\n", " # Cirq uses sympy.Symbols to map learnable variables. TensorFlow Quantum\n", " # scans incoming circuits and replaces these with TensorFlow variables.\n", " model_circuit += quantum_conv_circuit(qubits, symbols[0:15])\n", " model_circuit += quantum_pool_circuit(qubits[:4], qubits[4:],\n", " symbols[15:21])\n", " model_circuit += quantum_conv_circuit(qubits[4:], symbols[21:36])\n", " model_circuit += quantum_pool_circuit(qubits[4:6], qubits[6:],\n", " symbols[36:42])\n", " model_circuit += quantum_conv_circuit(qubits[6:], symbols[42:57])\n", " model_circuit += quantum_pool_circuit([qubits[6]], [qubits[7]],\n", " symbols[57:63])\n", " return model_circuit\n", "\n", "\n", "# Create our qubits and readout operators in Cirq.\n", "cluster_state_bits = cirq.GridQubit.rect(1, 8)\n", "readout_operators = cirq.Z(cluster_state_bits[-1])\n", "\n", "# Build a sequential model enacting the logic in 1.3 of this notebook.\n", "# Here you are making the static cluster state prep as a part of the AddCircuit and the\n", "# \"quantum datapoints\" are coming in the form of excitation\n", "excitation_input = tf.keras.Input(shape=(), dtype=tf.dtypes.string)\n", "cluster_state = tfq.layers.AddCircuit()(\n", " excitation_input, prepend=cluster_state_circuit(cluster_state_bits))\n", "\n", "quantum_model = tfq.layers.PQC(create_model_circuit(cluster_state_bits),\n", " readout_operators)(cluster_state)\n", "\n", "qcnn_model = tf.keras.Model(inputs=[excitation_input], outputs=[quantum_model])\n", "\n", "# Show the keras plot of the model\n", "tf.keras.utils.plot_model(qcnn_model,\n", " show_shapes=True,\n", " show_layer_names=False,\n", " dpi=70)" ] }, { "cell_type": "markdown", "metadata": { "id": "9jqTEe5VSbug" }, "source": [ "### 1.7 モデルをトレーニングする\n", "\n", "この例を単純化するために、完全なバッチでモデルをトレーニングします。" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:09.334324Z", "iopub.status.busy": "2021-02-12T21:45:09.313485Z", "iopub.status.idle": "2021-02-12T21:45:28.663558Z", "shell.execute_reply": "2021-02-12T21:45:28.663980Z" }, "id": "_TFkAm1sQZEN" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 1.0241 - custom_accuracy: 0.3750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.9702 - custom_accuracy: 0.5625" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.9280 - custom_accuracy: 0.6875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.9006 - custom_accuracy: 0.7031" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.8976 - custom_accuracy: 0.7125" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.8820 - custom_accuracy: 0.7188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.8843 - custom_accuracy: 0.6964" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 128ms/step - loss: 0.8843 - custom_accuracy: 0.6964 - val_loss: 0.7839 - val_custom_accuracy: 0.7083\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.7370 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.7900 - custom_accuracy: 0.7188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.7955 - custom_accuracy: 0.7292" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.8155 - custom_accuracy: 0.7031" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.8247 - custom_accuracy: 0.7125" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.8078 - custom_accuracy: 0.7396" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.7946 - custom_accuracy: 0.7411" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 102ms/step - loss: 0.7946 - custom_accuracy: 0.7411 - val_loss: 0.7767 - val_custom_accuracy: 0.7708\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.7884 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.7441 - custom_accuracy: 0.8438" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.7661 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.7615 - custom_accuracy: 0.7812" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.7428 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.7329 - custom_accuracy: 0.8021" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.7505 - custom_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\r", "7/7 [==============================] - 1s 99ms/step - loss: 0.7505 - custom_accuracy: 0.7500 - val_loss: 0.7514 - val_custom_accuracy: 0.6458\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.7118 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6394 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.7539 - custom_accuracy: 0.6667" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.7336 - custom_accuracy: 0.7188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.7353 - custom_accuracy: 0.7375" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.7423 - custom_accuracy: 0.7396" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.7281 - custom_accuracy: 0.7589" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 96ms/step - loss: 0.7281 - custom_accuracy: 0.7589 - val_loss: 0.7199 - val_custom_accuracy: 0.8125\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.6460 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6780 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.6812 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.6917 - custom_accuracy: 0.8906" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.6655 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.6846 - custom_accuracy: 0.8438" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.7121 - custom_accuracy: 0.7946" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 96ms/step - loss: 0.7121 - custom_accuracy: 0.7946 - val_loss: 0.7120 - val_custom_accuracy: 0.8125\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.8351 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6859 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.7057 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.6944 - custom_accuracy: 0.8594" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.6981 - custom_accuracy: 0.8500" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.7095 - custom_accuracy: 0.8229" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.7066 - custom_accuracy: 0.8214" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 97ms/step - loss: 0.7066 - custom_accuracy: 0.8214 - val_loss: 0.7182 - val_custom_accuracy: 0.8125\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 7/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.6616 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6461 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.6648 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.6835 - custom_accuracy: 0.8906" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.6743 - custom_accuracy: 0.8875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.6941 - custom_accuracy: 0.8542" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.6944 - custom_accuracy: 0.8393" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 94ms/step - loss: 0.6944 - custom_accuracy: 0.8393 - val_loss: 0.7058 - val_custom_accuracy: 0.8750\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 8/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.7509 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.7358 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.7142 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.6816 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.6755 - custom_accuracy: 0.9125" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.6936 - custom_accuracy: 0.8646" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.6940 - custom_accuracy: 0.8571" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 94ms/step - loss: 0.6940 - custom_accuracy: 0.8571 - val_loss: 0.7340 - val_custom_accuracy: 0.7708\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 9/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.5917 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6237 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.6853 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.6779 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.6826 - custom_accuracy: 0.8875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.6793 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.6838 - custom_accuracy: 0.8929" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 95ms/step - loss: 0.6838 - custom_accuracy: 0.8929 - val_loss: 0.6876 - val_custom_accuracy: 0.8542\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 10/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.6888 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6433 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.6548 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.6596 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.6473 - custom_accuracy: 0.8875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.6523 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.6459 - custom_accuracy: 0.8839" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 94ms/step - loss: 0.6459 - custom_accuracy: 0.8839 - val_loss: 0.6538 - val_custom_accuracy: 0.8125\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 11/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.6527 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6226 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.6292 - custom_accuracy: 0.8542" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.6307 - custom_accuracy: 0.8438" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.6060 - custom_accuracy: 0.8500" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.6036 - custom_accuracy: 0.8542" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.5875 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 95ms/step - loss: 0.5875 - custom_accuracy: 0.8750 - val_loss: 0.6134 - val_custom_accuracy: 0.8125\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 12/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.6732 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.6320 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5802 - custom_accuracy: 0.8333" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.5890 - custom_accuracy: 0.7969" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5621 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5372 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.5375 - custom_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\r", "7/7 [==============================] - 1s 92ms/step - loss: 0.5375 - custom_accuracy: 0.8125 - val_loss: 0.5855 - val_custom_accuracy: 0.6667\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 13/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.3784 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.3910 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5150 - custom_accuracy: 0.8333" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.5146 - custom_accuracy: 0.7969" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.4990 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5145 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.5062 - custom_accuracy: 0.8036" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 89ms/step - loss: 0.5062 - custom_accuracy: 0.8036 - val_loss: 0.5798 - val_custom_accuracy: 0.7083\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 14/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2510 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.3909 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4768 - custom_accuracy: 0.8333" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.5438 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5077 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5144 - custom_accuracy: 0.8333" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.5071 - custom_accuracy: 0.8304" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 89ms/step - loss: 0.5071 - custom_accuracy: 0.8304 - val_loss: 0.5781 - val_custom_accuracy: 0.7292\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 15/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.5155 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.5062 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5492 - custom_accuracy: 0.7083" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.5224 - custom_accuracy: 0.7656" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5402 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5365 - custom_accuracy: 0.7812" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.5062 - custom_accuracy: 0.8036" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 91ms/step - loss: 0.5062 - custom_accuracy: 0.8036 - val_loss: 0.5772 - val_custom_accuracy: 0.6875\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 16/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.6913 - custom_accuracy: 0.6250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.5586 - custom_accuracy: 0.7188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5804 - custom_accuracy: 0.7083" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.5448 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5433 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5094 - custom_accuracy: 0.7812" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.5037 - custom_accuracy: 0.7857" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 91ms/step - loss: 0.5037 - custom_accuracy: 0.7857 - val_loss: 0.5751 - val_custom_accuracy: 0.6875\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 17/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.4890 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.3937 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4668 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.5052 - custom_accuracy: 0.7656" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.4916 - custom_accuracy: 0.7625" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5143 - custom_accuracy: 0.7708" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.4947 - custom_accuracy: 0.7768" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 91ms/step - loss: 0.4947 - custom_accuracy: 0.7768 - val_loss: 0.5747 - val_custom_accuracy: 0.7083\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 18/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.5025 - custom_accuracy: 0.6875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.5385 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5120 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.5424 - custom_accuracy: 0.7188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5066 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5020 - custom_accuracy: 0.7708" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.4875 - custom_accuracy: 0.7768" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 90ms/step - loss: 0.4875 - custom_accuracy: 0.7768 - val_loss: 0.5717 - val_custom_accuracy: 0.6667\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 19/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.5504 - custom_accuracy: 0.6250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.5274 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4934 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.4966 - custom_accuracy: 0.7969" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.4991 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5132 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.5015 - custom_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\r", "7/7 [==============================] - 1s 92ms/step - loss: 0.5015 - custom_accuracy: 0.8125 - val_loss: 0.5885 - val_custom_accuracy: 0.7292\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 20/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.8050 - custom_accuracy: 0.6250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.5872 - custom_accuracy: 0.7188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4749 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.5145 - custom_accuracy: 0.8281" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5008 - custom_accuracy: 0.8250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.4870 - custom_accuracy: 0.8333" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.4941 - custom_accuracy: 0.8036" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 90ms/step - loss: 0.4941 - custom_accuracy: 0.8036 - val_loss: 0.5765 - val_custom_accuracy: 0.6875\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 21/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.3940 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.4719 - custom_accuracy: 0.8438" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4793 - custom_accuracy: 0.8333" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.4956 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.4716 - custom_accuracy: 0.8250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.4888 - custom_accuracy: 0.8021" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.4830 - custom_accuracy: 0.8036" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 90ms/step - loss: 0.4830 - custom_accuracy: 0.8036 - val_loss: 0.5753 - val_custom_accuracy: 0.7500\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 22/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.5142 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.4577 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5441 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.5359 - custom_accuracy: 0.8281" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5192 - custom_accuracy: 0.8250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5166 - custom_accuracy: 0.8021" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.4861 - custom_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\r", "7/7 [==============================] - 1s 88ms/step - loss: 0.4861 - custom_accuracy: 0.8125 - val_loss: 0.5649 - val_custom_accuracy: 0.7292\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 23/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.7284 - custom_accuracy: 0.6875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.6020 - custom_accuracy: 0.7812" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5171 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.4701 - custom_accuracy: 0.8438" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.5220 - custom_accuracy: 0.8000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5146 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.4845 - custom_accuracy: 0.8304" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 89ms/step - loss: 0.4845 - custom_accuracy: 0.8304 - val_loss: 0.5788 - val_custom_accuracy: 0.7292\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 24/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.7848 - custom_accuracy: 0.5625" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.5793 - custom_accuracy: 0.7188" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.5894 - custom_accuracy: 0.7708" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.5304 - custom_accuracy: 0.7969" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.4583 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.4782 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.5024 - custom_accuracy: 0.7946" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 93ms/step - loss: 0.5024 - custom_accuracy: 0.7946 - val_loss: 0.5973 - val_custom_accuracy: 0.6667\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 25/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.3908 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.4747 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4610 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.4659 - custom_accuracy: 0.7812" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.4739 - custom_accuracy: 0.7875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.5169 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.5012 - custom_accuracy: 0.8036" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 90ms/step - loss: 0.5012 - custom_accuracy: 0.8036 - val_loss: 0.5942 - val_custom_accuracy: 0.7500\n" ] } ], "source": [ "# Generate some training data.\n", "train_excitations, train_labels, test_excitations, test_labels = generate_data(\n", " cluster_state_bits)\n", "\n", "\n", "# Custom accuracy metric.\n", "@tf.function\n", "def custom_accuracy(y_true, y_pred):\n", " y_true = tf.squeeze(y_true)\n", " y_pred = tf.map_fn(lambda x: 1.0 if x >= 0 else -1.0, y_pred)\n", " return tf.keras.backend.mean(tf.keras.backend.equal(y_true, y_pred))\n", "\n", "\n", "qcnn_model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.02),\n", " loss=tf.losses.mse,\n", " metrics=[custom_accuracy])\n", "\n", "history = qcnn_model.fit(x=train_excitations,\n", " y=train_labels,\n", " batch_size=16,\n", " epochs=25,\n", " verbose=1,\n", " validation_data=(test_excitations, test_labels))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:28.684930Z", "iopub.status.busy": "2021-02-12T21:45:28.684119Z", "iopub.status.idle": "2021-02-12T21:45:28.823420Z", "shell.execute_reply": "2021-02-12T21:45:28.823870Z" }, "id": "2tiCJOb5Qzcr" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(history.history['loss'][1:], label='Training')\n", "plt.plot(history.history['val_loss'][1:], label='Validation')\n", "plt.title('Training a Quantum CNN to Detect Excited Cluster States')\n", "plt.xlabel('Epochs')\n", "plt.ylabel('Loss')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "GyrkcEReQ5Bc" }, "source": [ "## 2. ハイブリッドモデル\n", "\n", "量子畳み込みを使用して 8 キュービットから 1 キュービットにする必要はありません。量子畳み込みの 1~2 ラウンドを実行し、結果を従来のニューラルネットワークにフィードすることも可能です。このセクションでは、量子と従来のハイブリッドモデルを説明します。" ] }, { "cell_type": "markdown", "metadata": { "id": "A2tOK22t7Kjm" }, "source": [ "### 2.1 単一量子フィルタを備えたハイブリッドモデル\n", "\n", "量子畳み込みのレイヤーを 1 つ適用し、すべてのビットの $\\langle \\hat{Z}_n \\rangle$ を読み取り、続いて密に接続されたニューラルネットワークを読み取ります。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "lKXuOApgWYFa" }, "source": [ "#### 2.1.1 モデルの定義" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:28.837323Z", "iopub.status.busy": "2021-02-12T21:45:28.833231Z", "iopub.status.idle": "2021-02-12T21:45:29.021136Z", "shell.execute_reply": "2021-02-12T21:45:29.020590Z" }, "id": "Ut-U1hBkQ8Fs" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 1-local operators to read out\n", "readouts = [cirq.Z(bit) for bit in cluster_state_bits[4:]]\n", "\n", "\n", "def multi_readout_model_circuit(qubits):\n", " \"\"\"Make a model circuit with less quantum pool and conv operations.\"\"\"\n", " model_circuit = cirq.Circuit()\n", " symbols = sympy.symbols('qconv0:21')\n", " model_circuit += quantum_conv_circuit(qubits, symbols[0:15])\n", " model_circuit += quantum_pool_circuit(qubits[:4], qubits[4:],\n", " symbols[15:21])\n", " return model_circuit\n", "\n", "\n", "# Build a model enacting the logic in 2.1 of this notebook.\n", "excitation_input_dual = tf.keras.Input(shape=(), dtype=tf.dtypes.string)\n", "\n", "cluster_state_dual = tfq.layers.AddCircuit()(\n", " excitation_input_dual, prepend=cluster_state_circuit(cluster_state_bits))\n", "\n", "quantum_model_dual = tfq.layers.PQC(\n", " multi_readout_model_circuit(cluster_state_bits),\n", " readouts)(cluster_state_dual)\n", "\n", "d1_dual = tf.keras.layers.Dense(8)(quantum_model_dual)\n", "\n", "d2_dual = tf.keras.layers.Dense(1)(d1_dual)\n", "\n", "hybrid_model = tf.keras.Model(inputs=[excitation_input_dual], outputs=[d2_dual])\n", "\n", "# Display the model architecture\n", "tf.keras.utils.plot_model(hybrid_model,\n", " show_shapes=True,\n", " show_layer_names=False,\n", " dpi=70)" ] }, { "cell_type": "markdown", "metadata": { "id": "qDqoLZJuWcgH" }, "source": [ "#### 2.1.2 モデルをトレーニングする" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:29.033720Z", "iopub.status.busy": "2021-02-12T21:45:29.033051Z", "iopub.status.idle": "2021-02-12T21:45:40.995897Z", "shell.execute_reply": "2021-02-12T21:45:40.995224Z" }, "id": "EyYw9kYIRCE7" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.9772 - custom_accuracy: 0.6875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.9212 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.8437 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.8697 - custom_accuracy: 0.6875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.8333 - custom_accuracy: 0.6875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.8001 - custom_accuracy: 0.7054" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 77ms/step - loss: 0.8001 - custom_accuracy: 0.7054 - val_loss: 0.3556 - val_custom_accuracy: 0.9375\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.4617 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.3599 - custom_accuracy: 0.9167" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.3324 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.3569 - custom_accuracy: 0.9125" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.3298 - custom_accuracy: 0.9286" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 57ms/step - loss: 0.3298 - custom_accuracy: 0.9286 - val_loss: 0.2516 - val_custom_accuracy: 0.9375\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.3547 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4063 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.3383 - custom_accuracy: 0.9219" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.3276 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.2807 - custom_accuracy: 0.9554" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 57ms/step - loss: 0.2807 - custom_accuracy: 0.9554 - val_loss: 0.2546 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1911 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2314 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.2131 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2327 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2420 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 57ms/step - loss: 0.2420 - custom_accuracy: 0.9821 - val_loss: 0.1967 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1280 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1584 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1995 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2144 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2114 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.2088 - custom_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\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.2088 - custom_accuracy: 1.0000 - val_loss: 0.1852 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2056 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2043 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2234 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2152 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1918 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.2045 - custom_accuracy: 0.9911" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.2045 - custom_accuracy: 0.9911 - val_loss: 0.1840 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 7/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1599 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2425 - custom_accuracy: 0.9167" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.2336 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2254 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.2087 - custom_accuracy: 0.9554" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 57ms/step - loss: 0.2087 - custom_accuracy: 0.9554 - val_loss: 0.1889 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 8/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1001 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1837 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2023 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2055 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 55ms/step - loss: 0.2055 - custom_accuracy: 0.9821 - val_loss: 0.1970 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 9/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.3407 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2642 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2394 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2156 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 55ms/step - loss: 0.2078 - custom_accuracy: 0.9911 - val_loss: 0.1835 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 10/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.0992 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1548 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1872 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2032 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1962 - custom_accuracy: 0.9911" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 57ms/step - loss: 0.1962 - custom_accuracy: 0.9911 - val_loss: 0.1787 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 11/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1397 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1535 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1543 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1855 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 56ms/step - loss: 0.1884 - custom_accuracy: 0.9911 - val_loss: 0.1884 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 12/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1558 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2014 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2013 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1871 - custom_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\r", "7/7 [==============================] - 0s 55ms/step - loss: 0.1871 - custom_accuracy: 1.0000 - val_loss: 0.1869 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 13/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2298 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1738 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1866 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1667 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1767 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1854 - custom_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\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.1854 - custom_accuracy: 1.0000 - val_loss: 0.1799 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 14/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2301 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2261 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2206 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1980 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1898 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1881 - custom_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\r", "7/7 [==============================] - 0s 58ms/step - loss: 0.1881 - custom_accuracy: 1.0000 - val_loss: 0.1824 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 15/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1370 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2075 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1902 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2011 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1965 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 58ms/step - loss: 0.1965 - custom_accuracy: 0.9821 - val_loss: 0.1733 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 16/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1972 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1564 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1726 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1682 - custom_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\r", "7/7 [==============================] - 0s 56ms/step - loss: 0.1884 - custom_accuracy: 1.0000 - val_loss: 0.1768 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 17/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1895 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1657 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1984 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2101 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2008 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1948 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 58ms/step - loss: 0.1948 - custom_accuracy: 0.9732 - val_loss: 0.1831 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 18/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1280 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1920 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2088 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2107 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1937 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 58ms/step - loss: 0.1937 - custom_accuracy: 0.9732 - val_loss: 0.1869 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 19/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1314 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1686 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1976 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1679 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1845 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1928 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.1928 - custom_accuracy: 0.9732 - val_loss: 0.1818 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 20/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1365 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1905 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1819 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1782 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1972 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1878 - custom_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\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.1878 - custom_accuracy: 1.0000 - val_loss: 0.1687 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 21/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1512 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1524 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1673 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1765 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1869 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1786 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1884 - custom_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\r", "7/7 [==============================] - 0s 61ms/step - loss: 0.1884 - custom_accuracy: 1.0000 - val_loss: 0.1760 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 22/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1787 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2078 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1873 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1776 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1748 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1809 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.1809 - custom_accuracy: 0.9821 - val_loss: 0.1965 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 23/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1690 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1791 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1937 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1811 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1880 - custom_accuracy: 0.9911" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.1880 - custom_accuracy: 0.9911 - val_loss: 0.1738 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 24/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2381 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1703 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1916 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2043 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1991 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1840 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1901 - custom_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\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.1901 - custom_accuracy: 1.0000 - val_loss: 0.1879 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 25/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2196 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2231 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2186 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1992 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1911 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1874 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 0s 59ms/step - loss: 0.1874 - custom_accuracy: 0.9821 - val_loss: 0.1845 - val_custom_accuracy: 1.0000\n" ] } ], "source": [ "hybrid_model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.02),\n", " loss=tf.losses.mse,\n", " metrics=[custom_accuracy])\n", "\n", "hybrid_history = hybrid_model.fit(x=train_excitations,\n", " y=train_labels,\n", " batch_size=16,\n", " epochs=25,\n", " verbose=1,\n", " validation_data=(test_excitations,\n", " test_labels))" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:41.020743Z", "iopub.status.busy": "2021-02-12T21:45:41.019998Z", "iopub.status.idle": "2021-02-12T21:45:41.162730Z", "shell.execute_reply": "2021-02-12T21:45:41.162195Z" }, "id": "yL3jhGiBRJHt" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEWCAYAAAB1xKBvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABH+ElEQVR4nO3dd3xV9fnA8c+TAQmEECBhJYQRkCEqwVTFvUVtRaxa9xZtXa0425+ztY5qbW2tVluctVQRKlVcLSKgokxRQDaEhJVBWIFAkuf3xzk3XpLcm5PkriTP+/W6r9x75vfcJPe55zuer6gqxhhjTEPiol0AY4wxLYMFDGOMMZ5YwDDGGOOJBQxjjDGeWMAwxhjjiQUMY4wxnljAMKYeInKiiBQ0cp/nReS+IOtVRAY2v3SxS0R6iMhMEdkpIk9FuzwmtCxgtBAicpWIfCMi5SKyWUT+IiKdI3TuGSJyXSTOFSru+zW7nuXrROTUcJxTVW9U1V83dX8ROcPvw7ZIRD4VkXPcdVe5AeeuWvsUiMiJ7vMH3W0u9Fuf4C7r19RyNdI4oBhIVdXxETqniRALGC2AiIwHHgfuBDoDRwH9gI9EJDGKRTMuEYlv5v7nA28BrwJZQA/gfuBHfpuVAneJSKcghyoFHmpueRpLHHFAX2CpNmFEsIgkhL5kJpQsYMQ4EUkFHgJuUdUPVHW/qq4DLgQGAJe4270sIr/x2++AKhURuUdEVrvfXpeKyFi/dVeJyGwReVJEtonIWhE50133CHAc8GcR2SUifxaRfu631gS/Y9TchbjH+0xEnhaRMhFZIyJHu8s3iMhWEbkywPX+RETm1Vr2CxGZ6j4/yy3/ThEpFJE7mvi+thORUhE5xG9Zd/cOLsNv2S9FpNi9M7nUb/nLIvKciEwTkd3ASfX8Du4UkU0islFErglSFgF+D/xaVf+mqttVtVpVP1XV6/02XQZ8Adwe5NI+APYBl3l8H2aIyKMi8pWI7BCRd0Skq9/6o0Tkc/f3+LXvbsZv30dE5DOgHCfYXYkT1HaJyKki0l5E/uC+Bxvd5+3d/U9075DuFpHNwEvuXdJbIvK6+zv+RkQOEpF73b+bDSJyul8ZrhaRZe62a0TkBr91vuOPd/fdJCJX+61PFpGnRGS9iGx3/weSG7ruNk1V7RHDD2A0UAkk1LPuFeAf7vOXgd/4rTsRKPB7fQHQG+dLwk+A3UAvd91VwH7geiAe+CmwERB3/QzgOr9j9QPUv0z+27jHqwSudo/3GyAfeBZoD5wO7ARS6rmmDu66QX7L5gIXuc83Ace5z7sAIwO8b1cBs+tZvg441X3+F+Bxv3W3Af/xe/8qcT7I2wMnuO/ZYL/3eztwjPueJvn/Dtzf2xZgONAReMN9zwbWU6Yh7rr+Qf4OrgJmAyOAbUBXd3kBcKL7/EHgdeAcYA2QCCS4x+4X4LgzgEK/cr4NvO6uywRKgLPcazzNfZ3ht28+cLB7nkTq/h0+DMwBugMZwOc4gdH/PX7cfY+T3WvYC5zhHvNVYC3wK/f41wNr/Y5/NpADiPs7Kvf9Tfgd/2F337Pc9V3c9c+615CJ83d6tFuOoNfdlh92hxH70oFiVa2sZ90mnH/CBqnqW6q6UZ1vrv8CVgJH+G2yXlVfVNUqnEDUC6dapKnWqupL7vH+BfQBHlbVClX9COdbcJ0GYFUtB94BLgYQkUE4H6hT3U32A8NEJFVVt6nqgiBlOMr9hljzALL91r8CXOx+wwe4HHit1jHuc8v8KfAezp2dzzuq+pn7nu6ttd+FwEuq+q2q7sb5IAykm/tzU5BtAFDVRcDHwN1BtpkKFAFe251e8yvnfcCF4lRpXQZMU9Vp7jV+DMzD+SD1eVlVl6hqparur+fYl+L83reqahHO3fLlfuurgQfc93iPu2yWqn7o/s2/hfM3/ph7/IlAPxFJc6/1PVVdrY5PgY9w7oh99rvn36+q04BdwGBxqs+uAW5T1UJVrVLVz1W1wuN1t0kWMGJfMZAu9dfv9nLXN0hErhCRRX4fnMNxgpHPZt8T90MbIKVpRQacb9c+e9zj1l4W6Phv4AYMnCq3f/uV6cc4/7jrxWkUHhWkDHNUNc3/gfONGLc8X+J84zxRRIbgBLCpfvtvcz9Efdbj3KX5bAhy7t611q8Psm2J+7NXkG383Q/8VESCBfT/w/lWnuTheLXLmYjzt9EXuKBWwD22VjmDvQfgvA/+1177PSyqJ9jW/jspdr94+F6D+7cjImeKyBy3erEM52/D/++6pNaXrXJ333Sc92Z1PWX2ct1tkgWM2PcFUAGc579QRFKAM3FuqcGpLungt0lPv237Ai8CNwPd3A/Ob3Fu472o3YDp+xCt93wh8DGQISIjcALHGzUFUZ2rqmNwqjj+DbzZzHO9gvON8nJgUq0Pry4i0tHvdTZOVV1NcYIcdxPOXZX/voEsx/ng/bGXAqvqd8BknIAQaJuPgVXAzzwcsnY59+N8EdmAc/fhH3Q7qupj/qdq4NgbcT6A/Y/v9T0Mym0LeRt4Eujh/l1Pw9vfdTFO1VdOPeu8XHebZAEjxqnqdpzb+D+JyGgRSRSni+SbOH/0/3A3XQScJSJdRaQn8HO/w3TE+ccsAqehEOcOw6stOA3svjIV4dR7XyYi8W6Dbn3/eE3iVj28BfwO6IoTQHwN1ZeKSGd3mx04VRrN8TowFidovFrP+ofc8x4H/NAtlxdvAleJyDAR6QA8EGhDVVWchuz73EbcVBGJE5FjReSFALs9hNNGlBakDL8C7gqy3ucyv3I+jBM4q3Demx+J0903XkSS3IbkLA/H9Pkn8H8ikiEi6Th3R683Yv9g2uG0ORQBleJ01Dg9+C4OVa0GJgC/F5He7vWNcoNQKK67VbKA0QKo6hPAL3G+Se3EaQTsgNN46/u2/xrwNU6j7kc47Qa+/ZcCT+HcrWwBDgE+a0QR/gicL04PqmfcZdfjdPMtwWn0/Lwp1xbEG8CpwFu1qhQuB9aJyA7gRpw68iZT1Q3AApyAOqvW6s04DcwbcQLzje63ey/HfR/4AzAd55v+9Aa2n4TTGeEa93xbcDoLvBNg+7U4v/OO9a13t/kM+MpDcV/DaazejFNNc6u7/wZgDM7fXhHON+87adznxm9w6v8XA9/gvNe/CbqHR6q60y3rmzi/p0s4sEqxIXe4ZZqL0x35cSAuRNfdKvl6wZgWxL1DeBg4RlXzG9reBCciE4CNqvp/0S5LpInIDJxeUX+LdllM7LOBMi2Qqr4kIpU43QAtYDSDW713HpAb5aIYE/MsYLRQqlq7+6dpJBH5NfAL4FG3iscYE4RVSRljjPGkzTfiGGOM8abVVEmlp6drv379ol0MY4xpUebPn1+sqp4yRrSagNGvXz/mzZvX8IbGGGNqiEiwLAQHsCopY4wxnljAMMYY44kFDGOMMZ5YwDDGGOOJBQxjjDGehC1giMgEd1rEbwOsFxF5RkRWichiERnpt+5KEVnpPuqdytMYY0xkhfMO42WcaSoDORMY5D7GAc8BiDOf8APAkTgzwj0gIl3CWE5jjDEehG0chqrOdBO7BTIGeNWdC2COiKSJSC+ceXg/VtVSABH5GCfw/DNcZTVhVl4K81+C/bUnVjPGhERqb8i7OuyniebAvUwOnN6xwF0WaHkdIjIO5+6E7OxgE5qZqCnbAK+fB8Ur8D7BnzGmUbLyWn3AaDZVfQF4ASAvL8+yKMaaouXw2lio2AlXTYN+x0S7RMaYZohmL6lCDpxLOMtdFmi5aUkK5sOE0VC1H662YGFMaxDNgDEVuMLtLXUUsF1VNwEfAqeLSBe3sft0d5lpKVZPh1d+BEmpcO2H0POQaJfIGBMCYauSEpF/4jRgp4tIAU7Pp0QAVX0emAachTPfcTnOhPaoaqk7sc1c91AP+xrATQvw7dsw+QbIGAyXvQ2deka7RMaYEAlnL6mLG1ivwE0B1k0AJoSjXCaMvnoRpt0J2aPg4n9Cclq0S2SMCaEW3ehtYoQqzHgMPn0MBp8F50+AxORol8oYE2IWMEzzVFfD+3fB3BdhxKXwo2cg3v6sjGmN7D/bNF3lPphyAyyZDEffAqf9GsTGWhjTWlnAME1TsQvevNzpEXXaw3DMbdEukTEmzCxgmMbbXQJvXAAbF8KYZyH3smiXyBgTARYwIuXTJ2DBq9EuRWjs3QGVe+Enr8OQs6NdGmNMhFjAiITN38Inv4U+R0K3nGiXpvlEIPcKyD4y2iUxxkSQBYxI+O+DkNQZLpkIyZap3RjTMtmMe+G25lNY9TEcf4cFC2NMi2YBI5yqq+Hj+6FzH/jB9dEujTHGNItVSYXTksmwaRGMfQESk6JdGmOMaRa7wwiXygr430NOptZDLoh2aYwxptnsDiNc5v4dyvLh8ikQZ3HZGNPy2SdZOOwpg5lPQM7JzsMYY1oBCxjh8NkfnKBx6kPRLokxxoSMBYxQ214Ac56DQ38CvQ6NdmmMMSZkLGCE2ie/deaHOPlX0S6JMcaElAWMUNqyBBa9AUeOg7TsaJfGGGNCygJGKH38gJMC5Ljx0S6JMcaEXFgDhoiMFpHlIrJKRO6pZ31fEfmfiCwWkRkikuW3rkpEFrmPqeEsZ0j4UoAcN95SgBhjWqWwjcMQkXjgWeA0oACYKyJTVXWp32ZPAq+q6isicjLwKHC5u26Pqo4IV/lCyj8FyBHjol0aY4wJi3DeYRwBrFLVNaq6D5gIjKm1zTBguvv8k3rWtwy+FCAn32cpQIwxrVY4A0YmsMHvdYG7zN/XwHnu87FAJxHp5r5OEpF5IjJHRM6t7wQiMs7dZl5RUVEIi94IlRXwv4ctBYgxptWLdqP3HcAJIrIQOAEoBKrcdX1VNQ+4BPiDiNSZeUhVX1DVPFXNy8jIiFihDzD371C23pnX2lKAGGNasXDmkioE+vi9znKX1VDVjbh3GCKSAvxYVcvcdYXuzzUiMgPIBVaHsbyNt6cMZv4OBpxkKUCMMa1eOL8SzwUGiUh/EWkHXAQc0NtJRNJFxFeGe4EJ7vIuItLetw1wDODfWB4bPvsD7NkGp1kKEGNM6xe2gKGqlcDNwIfAMuBNVV0iIg+LyDnuZicCy0VkBdADeMRdPhSYJyJf4zSGP1ard1X0bS/0SwFyWLRLY4wxYRfW9OaqOg2YVmvZ/X7PJwGT6tnvc+CQcJat2T75LWi1pQAxxrQZNh/G3h3wQZ0xhcFVV8Hif8HRN1sKEGNMm2EBo7oS1s5s/H59j4Zjbw99eYwxJkZZwOjQFX7xbbRLYYwxMc8GDhhjjPHEAoYxxhhPLGAYY4zxxAKGMcYYTyxgGGOM8cQChjHGGE8sYBhjjPHEAoYxxhhPLGAYY4zxxAKGMcYYTyxgGGOM8cQChjHGGE8sYBhjjPHEAoYxxhhPGgwYItItEgUxxhgT27zcYcwRkbdE5CwRkbCXyBhjTEzyEjAOAl4ALgdWishvReQgLwcXkdEislxEVolInXlQRaSviPxPRBaLyAwRyfJbd6WIrHQfV3q9IGOMMeHRYMBQx8eqejFwPXAl8JWIfCoiowLtJyLxwLPAmcAw4GIRGVZrsyeBV1X1UOBh4FF3367AA8CRwBHAAyLSpdFXZ4wxJmQ8tWGIyG0iMg+4A7gFSAfGA28E2fUIYJWqrlHVfcBEYEytbYYB093nn/itPwP4WFVLVXUb8DEw2uM1GWOMCQMvVVJfAKnAuap6tqpOVtVKVZ0HPB9kv0xgg9/rAneZv6+B89znY4FObiO7l30RkXEiMk9E5hUVFXm4FGOMMU3lJWAMVtVfq2pB7RWq+ngzz38HcIKILAROAAqBKq87q+oLqpqnqnkZGRnNLIoxxphgvASMj0QkzfdCRLqIyIce9isE+vi9znKX1VDVjap6nqrmAr9yl5V52dcYY0xkeQkYGe6HOABum0J3D/vNBQaJSH8RaQdcBEz130BE0kXEV4Z7gQnu8w+B093g1AU43V1mjDEmSrwEjCoRyfa9EJG+gDa0k6pWAjfjfNAvA95U1SUi8rCInONudiKwXERWAD2AR9x9S4Ff4wSducDD7jJjjDFRIqrBP/tFZDTOOIxPAQGOA8apakx948/Ly9N58+ZFuxjGGNOiiMh8Vc3zsm1CQxuo6gciMhI4yl30c1Utbk4BjTHGtDwNBgxXFbAVSAKGiQiqOjN8xTLGGBNrGgwYInIdcBtOT6VFOHcaXwAnh7VkxhhjYoqXRu/bgB8A61X1JCAXKAtnoYwxxsQeLwFjr6ruBRCR9qr6HTA4vMUyxhgTa7y0YRS4A/f+DXwsItuA9eEslDHGmNjjpZfUWPfpgyLyCdAZ+CCspTLGGBNzglZJiUi8iHzne62qn6rqVDf7rGmDVJWH/7OUeetsHKUxbU3QOwxVrXInQMpW1fxIFcrEroUbypjw2VrKyveR169rtItjjIkgL20YXYAlIvIVsNu3UFXPCbyLaa2mLHByQC7cUBbdghhjIs5LwLgv7KUwLcK+ymr+s3gjifHC2uLdbNu9jy4d20W7WMaYCPEyReun9T0iUTgTWz5ZvpWy8v1cc0x/ABYVlEW3QMaYiPIyRetOEdnhPvaKSJWI7IhE4UxsmbKgkPSUdvzspIHECSzML4t2kYwxEeSlW20n33MREZx5t48KvIdpjbaX72f6d1u59KhsOicnMrhnKgvzt0W7WMaYCPIy0ruGOv4NnBGe4phY9e43G9lXVc15uVkAjOiTxqINZVRXNzg1ijGmlfCSfPA8v5dxQB6wN2wlMjFpyoJCBnVPYXhmKgC52Wn886t81hTvYmD3Tg3sbYxpDbz0kvqR3/NKYB1OtZRpI/JLypm3fht3jR6MUysJI7PTAFiQX2YBw5g2wksbxtWRKIiJXVMWFiIC547IrFk2ID2FTkkJLNpQxoV5faJYOmNMpHjpJfWKm3zQ97qLiEwIa6lMzFBVpiws4Kj+3eidllyzPC5OGNEnLWw9paqrlYrKqrAc2xjTNF4avQ9V1TLfC1XdhjMnRoNEZLSbWmSViNxTz/psEflERBaKyGIROctd3k9E9ojIIvfxvMfrMSG2cEMZ60rKGTsys8663OwuLN+8g90VlSE/78PvLuXMP8xi734LGsbECi8BI05EuvheiEhXvDWWxwPPAmcCw4CLRWRYrc3+D3hTVXOBi4C/+K1braoj3MeNHsppwmDKgkLaJ8Rx5vCeddbl9kmjWmFxwfaQnlNV+eDbzawp3s3rcyyTvjGxwkuj91PAFyLylvv6AuARD/sdAaxS1TUAIjIRp7F8qd82CqS6zzsDG70U2kSGLxXI6Qf3pFNSYp31I/qkAbBwwzZG5XQL2XlXbd3F5h17SWmfwJ+mr+KCw/vQuUPd85uWa//+/RQUFLB3r3W4jJSkpCSysrJITGz6/5KXRu9XRWQe38/hfZ6qLg22jysT2OD3ugA4stY2DwIficgtQEfgVL91/UVkIbAD+D9VnVX7BCIyDhgHkJ2d7aFIpjFmuKlAzsutWx0F0KVjO/qndwx5O8bMlcUA/OEnI7j+tXn8ZcYq7j1raEjPYaKroKCATp060a9fv5qedyZ8VJWSkhIKCgro379/k4/jpdH7KGCDqv5ZVf+MMwNf7Q/+proYeFlVs4CzgNdEJA7YBGS7VVW3A2+ISGrtnVX1BVXNU9W8jIyMEBXJ+Ex2U4EcNyg94Da5bsO3augG8M1aWcSAjI6cOqwHY3MzeenzdRSW7QnZ8U307d27l27dulmwiBARoVu3bs2+o/PShvEcsMvv9S53WUMKAf/+llnuMn/XAm8CqOoXQBKQrqoVqlriLp8PrAYO8nBOEyK+VCA/Oqw3CfGB/0xys9Mo3lURsg/0isoq5qwp4fhBzheA8ac708c/9dHykBzfxA4LFpEVivfbS8AQ9fv6qKrVeGv7mAsMEpH+ItIOp1F7aq1t8oFTAERkKE7AKBKRDLfRHBEZAAwC1ng4pwmR2qlAAsnNdvpDhKpaav76bezdX82xA527msy0ZK4+uh9TFhaydKPlvDShVVBQwJgxYxg0aBADBgzg5ptvpqKiAoCvvvqK448/nsGDB5Obm8t1111HeXk5L7/8MnFxcSxevLjmOMOHD2fdunUA9OvXjx//+Mc16yZNmsRVV10VycsKGy8BY42I3Coiie7jNjx8eKtqJXAz8CGwDKc31BIReVhEfJMvjQeuF5GvgX8CV7nB6XhgsYgsAiYBN6qqzQkaQVMWFDLQLxVIIIN7diIpMS5kAWPWymIS4oSj/BrRf3biQFKTEnnsg++C7GlM46gq5513Hueeey4rV65k5cqV7Nmzh7vuuostW7ZwwQUX8Pjjj7N8+XIWLlzI6NGj2blzJwBZWVk88kjgvj/z589n6VIvTb0ti5c7hRuBZ3C6wCrwP+B6LwdX1WnAtFrL7vd7vhQ4pp793gbe9nIOE3q+VCB3njG4wdvYxPg4DsnszMINoclcO2tlESP7diGl/fd/mp07JHLzSQN5ZNoyZq8s5tggbSrGeDV9+nSSkpK4+monmUV8fDxPP/00ffv2JT4+niuvvJJRo0bVbH/++efXPP/hD3/IzJkzWb58OYMHD65z7PHjx/PII4/wj3/8I/wXEkFeekltxalOAkBEkoEfAm8F3Mm0aDWpQAL0jqotN7sLL3+2jorKKtonxDf5vCW7Kvi2cAd3nF63ueryUX15+fN1PPr+Mv6TcyxxcVb/3Vo89J8lIa9uHNY7lQd+dHDQbZYsWcLhhx9+wLLU1FT69evHokWLuO222wLuGxcXx1133cVvf/tbXnnllTrrL7zwQv7yl7+watWqpl1AjPKU3lxE4kXkLBF5DVgL/CS8xTLR4p8KJNMvFUgwuX3S2FdV3ex/+tmrnO60xw2q2+MtKTGeO844iCUbdzD1axuuY6LvkksuYc6cOaxdu7bOuvj4eO68804effTRKJQsfILeYYjICcAlOF1ev8KpPhqgquURKJuJAl8qkJ+dNNDzPr6G70UbymqeN8XslcV0Tk5keGbnetePOSyTF2eu5XcfLufMQ3o2627GxI6G7gTCZdiwYUyaNOmAZTt27GDz5s2ceuqpzJ8/nzFjAifmTkhIYPz48Tz++OP1rr/88st59NFHGT58eEjLHU0B7zBEpAB4FJgNDFPVHwN7LFi0bsFSgQTSs3MSvTonNavhW1WZtbKYYwemEx+guikuTvjlWUMpLNvDa19YyhDTPKeccgrl5eW8+uqrAFRVVTF+/Hhuvvlm7rjjDl555RW+/PLLmu0nT57Mli1bDjjGVVddxX//+1+KiorqHD8xMZFf/OIXPP300+G9kAgKViU1CeiNU/30IxHpiNPobVqphlKBBJObndashm9fOpBggwQBjh2UznGD0vnT9FVsL9/f5PMZIyJMmTKFSZMmMWjQILp160ZcXBy/+tWv6NGjBxMnTuSOO+5g8ODBDB06lA8//JBOnQ6c+6Vdu3bceuutbN26td5zXHvttVRWhj45Z9SoasAHIMBJwAs4qT12AhcCKcH2i8bj8MMPV9M8H367Sfve/a5OX7al0fv+9dNV2vfud3Xrjr1NOvffZq3Rvne/qxtKdze47beFZdrvnnf1t9OWNulcJvqWLo29391nn32m2dnZOn/+/GgXJWzqe9+BeerxczZoo7d7vE9UdRzQHyeVxxicWfdMKzNlYcOpQALxb8doCl86kKwuHRrc9uDenRk7IpOXPrOUISZ0jj76aNavX8/IkSOjXZSY5amXFICq7lfVd1X1Ug5M+WFage3l+/nfsoZTgQQyvHdnEuKEhfmNr5aqqKziyzWlHDfQe6C63e16+/uPVjT6fMaYpmn8JwOgqva1rpXxmgokkOR28Qztldqkhu/567exZ39Vvd1pA8nq0oGrj+7H5IUFljLEmAhpUsAwrY/XVCDB5GansbigjKrqxvWNqC8diBe+lCGPW8oQYyLCAoapSQUyNjezWRktc7PT2L2vipVbdzZqv/rSgXjhSxny6YoiZrtzaBhjwsfLfBgHiciLIvKRiEz3PSJROBMZUxY6Wee9pgIJZESfxmeu9aUDaUz7hb/LR/UlMy2ZR99fRnUj72yMMY3j5Q7jLWABTvLBO/0ephVQNxXIqAHeU4EE0q9bB9I6JDaq4fuz1SUAHHdQ0ybA8k8Z8p/FljLEeJeSknLA65dffpmbb7456D4nnngi8+bNa/DY8+bN49Zbb613Xb9+/SgurntHvGvXLm644QZycnI4/PDDOfHEE2sGDooI48ePr9n2ySef5MEHHwTgwQcfpEOHDgeMBal9baHiJWBUqupzqvqVqs73PcJSGhNxvlQgY0c27+4CnD9q3wx8Xs1aUUTn5EQOCZAOxIsxh2UyrFcqv/twORWVVU0+jjGhUFlZSV5eHs8880yj9rvuuuvo2rUrK1euZP78+bz00ks1gaV9+/ZMnjy53kADkJ6ezlNPPdXssjfES6Xxf0TkZ8AUoMK3UG1+irCqqlaueukrNpSGNxPLjr2VjU4FEkxudhc+WV7E9j376ZwcfLS4ekgH4kVcnHDvWUO4/O9fceLvZtA+wXvTXId2Cbx09Q/okZrU5POb1mXnzp0ceuihrFixgsTERHbs2MFhhx3GihVOF+7XXnuN6667jsrKSiZMmMARRxzBgw8+yOrVq1mzZg3Z2dnccMMNPPnkk7z77ruUlJRw8cUXU1hYyKhRo+qdznj16tV8+eWX/OMf/yAuzvn77d+/f8382wkJCYwbN46nn3663nk4rrnmGl5++WXuvvtuunbtGrb3xkvAuNL96V8NpcCA0BfH+BRu28OslcUc3rcLWV2aV1XUkKMGdGt0KpBAcrPTAFhcUNZgN1mv6UC8OG5QBv939lC+KdzueZ/dFVX8d9kW5q4r5YeH9m52GUwTvX8PbP4mtMfseQic+VjQTfbs2cOIESNqXpeWlnLOOefQqVMnTjzxRN577z3OPfdcJk6cyHnnnUdiovM/Ul5ezqJFi5g5cybXXHMN3377LQBLly5l9uzZJCcnM2PGjJrjPvTQQxx77LHcf//9vPfee/z973+vU5YlS5YwYsQI4uMDJ9S86aabOPTQQ7nrrrvqrEtJSeGaa67hj3/8Iw899FDQ624OL/Nh9A/b2U1A60t3A3DH6YMZ1cjuptF0WJ80RGBRfsMBY5bbsylUEyJdd1zjvsPs3V/F0Ps/YPXW3SE5v2lZkpOTWbRoUc3rl19+uaZ94rrrruOJJ57g3HPP5aWXXuLFF1+s2e7iiy8G4Pjjj2fHjh2UlZUBcM4555CcXPfL3cyZM5k8eTIAZ599Nl26NC2jc2pqKldccQXPPPNMvee59dZbGTFiBHfccUeTju9FgwFDRBKBn+JMmwowA/irqlrmtzDKd6ui+nZrOFVGLElNSiQnI4WFHlKEzFpZxIB0b+lAwiEpMZ7MtGRWF+2KyvmNq4E7gWg45phjWLduHTNmzKCqquqAFOW1u577Xnfs2LHJ5zv44IP5+uuvqaqqCnqX8fOf/5yRI0fWzBLoLy0tjUsuuYRnn322yeVoiJfK3ueAw4G/uI/D3WUmjPJLymmXEEfPFli37jR8b6u3rtanorKKOWtKQ1Id1Rw5GSkWMEy9rrjiCi655JI6H87/+te/AJg9ezadO3emc+fgHTaOP/543njjDQDef/99tm2r24swJyeHvLw8HnjggZr/m3Xr1vHee+8dsF3Xrl258MIL663WArj99tv561//GrYMuV4Cxg9U9UpVne4+rgZ+4OXgIjJaRJaLyCoRuaee9dki8omILBSRxSJylt+6e939lovIGd4vqXVYX1JOny7JLXIq0tzsLmwr38/6ksAN9k1JBxIOORkprCnabWM4TB2XXnop27Ztq6mC8klKSiI3N5cbb7wx4Ae3vwceeICZM2dy8MEHM3nyZLKzs+vd7m9/+xtbtmxh4MCBDB8+nKuuuoru3bvX2W78+PFBe0uNHTuWioqKetc3W0PpbHHGYOT4vR4ALPCwXzyw2t2+HfA1zkRM/tu8APzUfT4MWOf3/GugPU6W3NVAfLDztbb05qP/MFOvfumraBejSZZu3K59735XJy/YEHCbx95fpjn3vqc79+6PYMnqen3OOu1797tasK08quVoa2IxvXltb731ll522WXRLkZINTe9uZdeUncCn4jIGpz5MfoCdSvQ6joCWKWqawBEZCJOavSl/vEK8CUv6gz4Rl6NASaqagWwVkRWucf7wsN5WzxVJb9kN0f2D1/3uHA6qEcnOrSLZ2F+GWMDJDOcvbKYkdmNTwcSajkZzgCn1Vt3NXvgomk9brnlFt5//32mTZsW7aLEFC+9pP4nIoOAwe6i5e4HeUMygQ1+rwuAI2tt8yDwkYjcAnQETvXbd06tfeuMLBORccA4IOBtXktUsnsfu/dVkd21ZTV4+8THCYdlpQWcG6NkVwXfbtzO7aceFNmC1aMmYBTt4vgmjjY3rc+f/vSnaBchJgWb0/tk9+d5wNnAQPdxtrssFC4GXlbVLOAs4DURacwcHS+oap6q5mVktJ5/dl/df0vrIeUvNzuNpRt3sHd/3ZHXn60uQbXp6UBCKT2lHalJCdbwbYwHwe4wTgCmAz+qZ50Ckxs4diEHTrSU5S7zdy0wGkBVvxCRJCDd476tVr47BqMlB4wRfdKorFa+LdxOXr8Dq9ZCkQ4kVESEnO5Ow7eJLFVtVnZk0zgapNeiVwEDhqo+4D59WFXX+q8TES+D+eYCg9xtC4GLgEtqbZMPnAK8LCJDgSSgCJgKvCEivwd6A4OArzycs1VYX1KOCFEbnxAKI9wR3wvzyw4IGBqidCChlJORwqyVRdEuRpuSlJRESUkJ3bp1s6ARAapKSUkJSUnN66bvpcXxbaD2JLeTcMZjBKSqlSJyM/AhTo+pCaq6REQexmmVnwqMB14UkV/g3LVc5bbaLxGRN3EayCuBm1S1zWSVyy8tp2dqEkmJgQfwxLrunZLI6pLMwg0H9jlfXeSkAwnV6O5QGJDRkUnzC9i5d3/IUqSY4LKysigoKKCoyAJ1pCQlJZGV1bQZNX0CBgwRGQIcDHSu1WaRinMn0CBVnQZMq7Xsfr/nS4FjAuz7CFA3y1YbkF9S3mIbvP3lZndh3roDc1TOXOGmA2ni/Bfh4Gv4XlO0m8P6pEW3MG1EYmJiTWI903IEa2AeDPwQSMNpx/A9RgLXh71kbdj60vIW3X7hk9snjU3b97J5+96aZb50IH1iKCD695QyxgQWrA3jHeAdERmlqm1i/EMsKN9XSdHOCvp2a3pemljhy1y7aMM2RnfuVZMO5MK85t0Wh1rfbh1IiBMLGMY0wEsbxkIRuQmneqqmKkpVrwlbqdowX9LB1lAlNax3Ku3i41iYX8bo4b1iJh1IbYnxcWR362BZa41pgJcxD68BPYEzgE9xurjuDGeh2jLfGIzWEDDaJ8QzrHdqzQx8s1cWkxAnHBWD6dotCaExDfMSMAaq6n3AblV9BWcQX+0R2yZE8lvBoD1/udlpLC4sY39VNbNiJB1IfXIyUlhXspvKqupoF8WYmOUlYPjmvSgTkeE4OZ/qplA0IbG+dDepSQmkdWgX7aKERG52F/bur+bz1SV8u3F71NOZB5KT0ZH9VUrBtj3RLooxMctLwHhBRLoA9+EMqFsKPBHWUrVh60vKW0WDt0+u20312emrYiYdSH0GWE8pYxrUYMBQ1b+p6jZV/VRVB6hqd1V9PhKFa4vyS8vJbiXVUQBZXZJJT2nPV+tKYyYdSH1yMpwgbQHDmMCCDdy7PdiOqvr70BenbausqqZw2x7OPqRXtIsSMiLCiD5p/HfZFo4Z2C1m0oHUltahHekp7aynlDFBBLvD6OQ+8nDm9M50HzdSN1VIm7J5+16em7E65LO0bdq+l8pqbTUN3j6+8Rix1p22tgHWU8qYoAIGDFV9SFUfwulGO1JVx6vqeJwcUq1n8okm+MuMVTz+wXcs3xLa3sXfd6ltPW0YAGcc3IPD+qRx6tAe0S5KUNa11pjgvDR69wD2+b3e5y5rk/ZVVvOfr52JAb/bvCOkx17fCtKa12dg9068c9MxZHRqH+2iBJWT0ZFt5fsp3b2v4Y2NaYO8dIh/FfhKRKa4r88FXg5XgWLdpyuK2Fbu9DT+btNOyA3dsfNLymkXH0fP1OalIDZNk9P9+55SXTu2zOlxjQknL72kHsGZw3ub+7haVR8Nd8Fi1eQFBXTr2I7BPTqxdFOI7zBKysnqmkxcjDYMt3YD/eb3NsbUFayXVKqq7hCRrsA69+Fb11VVSwPt21ptL9/P/5Zt5ZIjs9m5t5KZIZ50Z31pOX1bQUqQlqp3WjLtE+KsHcOYAILdYbzh/pwPzPN7+F63Oe99s4l9VdWcNzKTob06UbSzguJdFSE5tqqSX7K7VQ3aa2ni44T+6R1tulZjAgiW3vyH7k+b5cQ1ZWEBORkdOSSzM7v2VgJOO8axg5rfmFuyex+791W1iqSDLVlORgpLNm6PdjGMiUnBqqSCjrVQ1QWhL07s2lBaztx127jzjMGICEN6pQKwbNOOkEw3ur6VJR1sqXIyOvL+t5uoqKyifULLnSLXmHAI1kvqqSDrFDg5xGWJaVMWFgIwZkRvALp2bEeP1PYsC1HD94ZSCxixIKd7CtXqBPCDenSKdnGMiSnBqqROau7BRWQ08EcgHvibqj5Wa/3TgO88HYDuqprmrqsCvnHX5avqOc0tT1OpKlMWFnJk/65kdfn+A31Iz1SWbQ7N4L31JeWIcMDxTeTl+PWUsoBhzIE8TUzgpjUfxoEz7r3awD7xwLPAaUABMFdEpqrqUr9j/MJv+1s4cFTDHlUd4aV84bZoQxlri3dz4wkDDlg+tFcqn69ew77KatoleBkDGdj60t30TE0iKdGqQaKpf7olITQtS/m+SpIT4xEJf3f8Bj/lROQB4E/u4ySc1OZevu0fAaxS1TWqug+YCIwJsv3FwD89HDfipiwspH1CHGfWSgo4tFcn9lcpa4qb/+GSX1JuDd4xoGP7BHp3TmK19ZRq1T5asplTnprBNwUtv4PD7f/6mgv/+kVEzuXla/H5wCnAZlW9GjgMZxKlhmQCG/xeF7jL6hCRvkB/YLrf4iQRmScic0Tk3AD7jXO3mVdUFNoxET6+VCCnDutBalLiAeuG+jV8N9f60nJrv4gROd0tp1Rr97dZa1ldtJuLXviCz1cVR7s4TVZZVc3nq4sZkJ4SkfN5CRh7VLUaqBSRVGAr0CfE5bgImKSqVX7L+qpqHnAJ8AcRyam9k6q+oKp5qpqXkRGeTKi+VCDn5daNdf3TO9IuPs5JEdIM5fsqKdpZYXcYMSInI4XVW3ehGtpsxCY2bCgt56t1pVw5qi+ZXZK56qW5TPtmU7SL1SSLC7ezY29lSHpqeuElYMwTkTTgRZxBewsAL/c/hRwYWLLcZfW5iFrVUapa6P5cA8wgpFmbvJuy0EkFcnw9M8UlxscxqEdKs1OE5Ls9pLJt0F5MGJDRkd37qti6MzSDMk1s+bfb4/H64wfw5g2jOCSrMze9sYA3vsyPcskab9aKYkTgmIFRDhgi8qyIHKOqP1PVMneWvdOAK92qqYbMBQaJSH8RaYcTFKbWc54hQBf8gpCIdBGR9u7zdOAYnKlhI2r7nv38d9lWfnRYbxLj63+rhvRM5btm9pSqGYNhdxgxIcdySrVatXs8pnVox+vXHskJB2Xwyynf8OfpK1vUneWslUUcktmZrh3bReR8we4wVgBPisg6EXlCRHJVdZ2qLvZyYFWtBG4GPgSWAW+q6hIReVhE/BvNLwIm6oG/paE4dzZfA58Aj/n3roqUad9sYl+lkwokkFCkCMm3QXsxJcfm9261Fm0oY03x7gP+p5PbxfPiFXmMzc3kyY9W8PC7S0M+OVo47Ni7n4UbyjguQtVREHwcxh+BP7oN0hcBE0QkGafq6J+quqKhg6vqNGBarWX313r9YD37fQ4c4uUCwmnygu9TgQTia/huToqQ/NJyUpMSSOsQmW8JJrgeqe3p2C7eekq1QoF6PCbGx/HUBYfRpUM7Jny2lrLy/Txx/qEBaxZiwZzVJVRVa0RnsvSS3ny9qj6uqrk4XV/PxbljaNV8qUDOG5kVtH/zkJ7O4K7m9JRyekhZ+0WsEBHrKdUKBevxCBAXJ9z3w6HcecZgpiwsZNyr89izr6qeI8WGWSuL6dAunpHZXSJ2Ti/jMBJE5Eci8g/gfWA5cF7YSxZltVOBBNItpT3dO7VnWTNm38sv2U22VUfFFF9PKdN6+Ho8/jhIFbOIcNNJA/nt2EP4dEURl/39S8rKY3MGxlkrizhqQLdmDxpujGCN3qeJyASc8RPXA+8BOap6kaq+E6kCRkOgVCCBDO2VyrImdq2trKqmYNsea/COMTkZHdm4fS+7KyqjXRQTIr4ej16qcC45MptnLxnJNwXb+clf57B5+94IlNC7/JJy1pWUR7T9AoLfYdwLfA4MVdVzVPUNVW0Tlbq+VCDBGrv9DenViVVbd7K/qrrR59q0fS+V1WoN3jHG1/C9trhN/Mm3el56PNZ25iG9ePnqH1CwrZwfP/d5TP0tzFrlDFSOZPsFBG/0blPZaP0FahgLZFivVPZXKauLdjGkZ2qjzuXrUpvd1dowYskAv55Sw4N0egiHqmplYf42RmZ3aZPT9a4t3k1SYhy9OieH7JheejzW5+iB6UwcN4qrXvqK85/7nLtHDyGpnfd8bwlxwkmDu5PciH28mL2ymN6dk8jJiOznhqfkg21JQw1j9fEFie827Wx8wCh1vrVYG0Zs6dutA3FCxHtKVVRWcfu/vua9bzZx3w+Hce2xbWv+sqpq5dIX59CxfQLv33YcCSHqpTRlQWGDPR4DOSSrM2/dOIorJnzFXW97GlVwgJ+fOoifn3pQo/cLpLKqms9WFTN6eM+IJBz0ZwGjlmCpQAIZkOGkCFm2aQfnNmI/cOoi28XH0TM1qeGNTcQkJcbTp2uHiPaU2lVRyY2vzWf2qmIy05L50/SVnH94Fp2TvX1xaQ3mrClho9teMGl+ARcdkd3sY/pSgfgmP2uKARkp/Pf2EyjYtqdR+/1qyjdMWVjIbacMCtmHuy8dSKSro8ACRh3BUoEE4ksR0pS5MdaXlJPVNZn4Nlj1EOsi2VOqdPc+rn7pK77duIMnLziMIT078cM/zeb5T1dz9+ghESlDLJi8oJBO7RMY0D2Fp/+7gnNG9KZDu+Z9TP3bY4/HhiQlxjOwe+OS/F2Q14c73vqaBfnbOLxv12ad3yfS6UD8xe6olChoSsOYz5CeqU0ai7G+tNx6SMWonIyOrC3eTVWYR/0Wlu3h/Oc/57vNO/nrZYdz/uFZDM/szNjcTCbMXsvGssZ9q22p9uyr4oNvN3HmIT257+yhbNlRwYTZa5t1zMb2eAy10cN7kpQYx+QFgdLoNV6k04H4s4Dhp6kNY9C0FCGqygYbtBezcjJSqKisDusH9sotOzn/uc8p2lnBa9ceyanDetSsu/20g1CFpz9uMKlCq/DR0s3s3lfF2Nws8vp15fRhPXj+0zWUNCPtTn2pQCIppX0CZxzck3cXO/PEN9fOKKQD8WcBw09zGsb8U4R4Vbp7H7sqKi2teYzKcasfVoWpHWNB/jYu+OsXVFYr/xo3iiP6H1hl0adrB648ui+TFhTwXTMGhrYUkxcUkpmWzJHu+3DX6CHs2V/Fn6avavIxG9vjMRzG5mayfc9+Pvmu+XP2fOGmAzl2YOTbL8ACRg1fw1hDqUACaUqKkPWllnQwloUza+2nK4q49MUv6ZycyNs3Hs2w3vX3rrvppIF0ap/AY+9/F/IyxJKtO/cya2URY0b0rulKPLB7Cj/5QR9en7OedU0YA9GUHo/hcOzAdNJT2jNlYUGzj1WTDqRvWvML1gQWMFzNbRhrSooQy1Ib27p2bEeXDokh71o79euNXPfKXPqld+StG0cF7VKd1qEdN500kBnLi1r0zHANmbpoI9VKnaqjn586iHYJcfzuo+WNPmZTejyGQ0J8HGNG9Gb6d1ubnWbElw6kfUJox3V4ZQEDpy1hcggaxhqbImR9STkiRKUxzngzICO0SQhf/WIdt01cSG52F/51w1F079Rwd+orj+5HZloyj77/XYtIu90UUxYWckhmZwZ273TA8u6dkrj+uAG8t3gTizaUNfKYje/xGC5jczPZX6W8u7jpM/ttKI1OOhB/FjBofCqQQBqbImR96W56piaRlBidbwumYTkZHVkTgoChqjz98Qruf2cJpwzpwavXHOG5miQpMZ7bTzuIbwq3824LnUo0mBVbdrJk4w7GBrgTuP74AaSntOPRacs8T27UnB6P4XBw71QO6pFSk9S0KWatdO4wozH+wif672QMCFXDmH+KEC/yS8rpYw3eMS0nI4XiXfvYXr6/yceoqlbuf2cJf/zfSi44PIvnLxvZ6C8J5+ZmMrRXKr/78LuQ9LaJJZMXFBIfJ5wToDo4pX0Ct516EF+uLWX6d1s9HdPX4zFQEIo0EeG8kVnMX7+N9SVNq+KctbKIXlFIB+KvzQeMUDaM+acI8cLGYMS+mobv4qbfZdw1aTGvzVnPDScM4InzD21Suov4OOHeM4ewoXQPr8+JztzThWV7uHfyYja4nTVCobpaeWdRIccPchqGA7noB30YkN6Rx97/jkoPd/BTFhQyIKMjh2ZFNg9YMGNG9EaEJt1l+NKBHDcoPeLpQPy1+YBRtKuCARkpQXPke+WfIqQh5fsqKdpZYQ3eMc7XtbapPaU+W1XM2wsKuOmkHO49c2iz/tmPPyiDYwem8+fpK9m+p+l3PE2xaqszXuSfX23g1++GbrbkOWtK2LR9L+eNzAq6XWJ8HHeNHszKrbt4e0Hw3kY1PR5zM6P64Vpbr87JHJ3TjSkLCxs9b3g004H4a/MBIzMtmbd/ejQnD+nR8MYNSIyPY2B3bylCNpQ6g8GybdBeTOvTJZnEeGlST6nqauXR95eRmZbMLScPCkl57jlzCNvK9/P8p6tDcjwvFuZv4/znv2B/lXLB4Vl8tHQL89aVhuTYb7upQE4b1vD/3xkH92Rkdhq//3hF0JnwfD0eG5vXLRLG5maxvqScBfnbGrVfNNOB+AtrwBCR0SKyXERWicg99ax/WkQWuY8VIlLmt+5KEVnpPq4MZzlDyekp1fAdhq8e06qkYltCfBz9unVsUk+p/yzeyLeFO7jjjINC1rFheGZnzh3RO2IpQ2auKOLSv31JalIib/90FA+PGU6P1Pb8thEN0IH4pwLx8v6ICL88y00Z8ln9KUOinQqkIU1NFTJ7VfTSgfgLW8AQkXjgWeBMYBhwsYgM899GVX+hqiNUdQTwJ2Cyu29X4AHgSOAI4AERidzEtc3gNUVIvg3aazFymtC1tqKyit99uJxhvVIZc1hov+mOP31wRFKG/OfrjVz7ylz6duvIpJ+Oom+3jiS3c3psLcgv48Mlm5t1fP9UIF75UoY8N2N1vSlDvi7YHtVUIA1pSqqQnXv3syC/jGOjfHcB4b3DOAJYpaprVHUfMBEYE2T7i4F/us/PAD5W1VJV3QZ8DIwOY1lDxmuKkPUl5aQmJZDWIbrfGEzDcrp3JL+kvFEzKr72xXoKtu3hl2cNDfkkSJFIGfLaF+u4deJCcvt0YeK4A8eL/HhkFoO6p/DEB8ubNMukT+1UIF4FSxkyeUFB1FOBNKSxqUJ86UCi3X4B4Q0YmcAGv9cF7rI6RKQv0B+Y3ph9RWSciMwTkXlFRc3P0xIKvhQhDf0jr7ekgy3GgPQUKqu1ZnbEhmzfs58/f7KK4walc2yYBln5UoY8HuKUIb7xIvf5xotce0Sd+TgS4uO458whrCnezcS5GwIcKbj6UoF4FShlSKykAmlIY1OFRDsdiL9YafS+CJikqo3qYK6qL6hqnqrmZWREP/rC9ylCljbQjpFfsttm2WshanpKeayWem7Garbv2c89Z4ZvHgtfypBPQpgyxH+8yPkNjBc5eUh3jujflT/+dwW7Kiobfa5AqUC8qi9lSKykAmlIY1OFRDsdiL9wBoxCoI/f6yx3WX0u4vvqqMbuG3OG9EoNWiVVWVVNwbY91uDdQgxwB0qt8dBTamPZHiZ8tpaxIzI5uHd4xwBceXQ/endOCknKkH2V1dw2caEzXuT4AfyugfEivgbo4l37eHHmmkafL1AqEK+6d0riulopQ2IpFUhDvKYKiYV0IP7CGTDmAoNEpL+ItMMJClNrbyQiQ4AuwBd+iz8ETheRLm5j9+nushZhaK9OrNq6K2D97qbte6msVktr3kKkJiXSvVN7T3cYv3cbom8/PXRzOAeSlBjP+NMHNztlyO6KSq59ZS7vLt7EvWcO4d6zvI0XGdEnjbMP7cWLs9awdedez+drKBWIV+P8UobEWiqQhnhNFfJ9OpBWHjBUtRK4GeeDfhnwpqouEZGHReQcv00vAiaqXx89VS0Ffo0TdOYCD7vLWoShPVPZV1Ud8Bupry7cqqRaDi89pZZt2sHbCwq46uh+EevS2dyUIaW793HJ377k89UlPHH+odxwQk6j9r/z9MHsq6zmj/9d6XmfhlKBeOWfMuSuSV/HVCqQhogIY3MbThXyfTqQxk0NGy5hDcWqOk1VD1LVHFV9xF12v6pO9dvmQVWtM0ZDVSeo6kD38VI4yxlqvp5SgcZjrC91x2BYo3eLkdO9I6u37go69uCx978jNSmRm04cGLFyxccJ97gpQybMXkfRzgrPj5VbdnLB85+zbNMOnr/scC7M69PwCWvpl96Ry47qy8S5G1jlYTS811QgXvlShny4ZEvMpQJpyLm5wVOFxEo6EH/Nm13d1KsmRcjmHZxbT8ew/NJy2sXH0TO14dTWJjbkZKSwY28lxbv2kdGp7gfdZ6uK+XRFEb86ayidO0S2h87xg9I5dmA6j3/wHY9/0LheU53aJ/DaNUdw5IBuTT7/LScPZNL8Ap744DteuCIv6La+VCD3njW0yefz50sZcuPrC2IuFUhDenVOZtQAJ1XIbacMqlP2WEkH4s8CRhjUpAgJ0PCdX1JOVtdk4kPcP9+ET00SwqJddQKGfwqQy0f1jXjZRIQ/X5LLtG82U9XI0dfHDkynf3rz7nS7pbTnxhMG8ORHK5i3rpS8foHHVUxeWEhK+wRO95AKxKszDu7J36/Mi3rajKYYm5vJnZMWsyC/jMP7Hjg2efbK2EgH4s8CRpgM7ZXKzJX1jw1ZX2JZalsaX0+p1UW7OKrWt3FfCpCnf3JY1OY2SevQjkuOzI7KuQGuPXYAr81Zz2+nLePtnx5d7zf9PfuqeP+bTZx1SK+Qvk8iwilDQxeAIunMQ3px3zvfMmVhQZ2AMWtlEcN7Rz8diL/Y707QQgVKEaKq5NugvRand+dkkhLjWL31wAbKcKYAaUmS28Xzi1ODpwypSQUSo2k7osG526qbKsSXDiRWekf5WMAIk0ApQkp372NXRaV1qW1h4uKEAel1e0r5UoDce9aQkKcAaWnOPzx4ypApCwvp3TmJo/o3vb2kNTpvZCZl5QemComldCD+LGCESaAUIest6WCLldP9wIDhnwIk1v6xoyEhPo67R9efMmTrzr3MXFHEubmZbT6w1lZfqpBYSgfizwJGmARKEZJfYgGjpcrJ6Ehh2R727neqDiKRAqSlOWVo/SlDmpsKpDWrL1XI7FXFMZMOxJ8FjDCqL0WIb9BeLObqN8HlZKSgCmuLd7OxbA8vRSgFSEsSKGVIc1OBtHb+qUI2lJaztnh3TKQzr80CRhjVlyJkfelueqYmRa03jWk6/661v/94BaqRSQHS0ozok8bZh3yfMiRUqUBaM/9UIb50IMcfZAGjTakvRUh+SbmlBGmh+qd3RATeW7zJSQFyTORSgLQ0d57xfcqQUKUCac38U4X886v8mEoH4s8CRhjVlyIkv9TGYLRUye3iyUxL5v1vN9OpfQI/O7FxeZfakn7pHbn0yGwmzt3Am/M2hCwVSGvmSxXyTeH2mEoH4s8CRhj5pwgBZ+DS1p0V1uDdgg1wv/XdfPJAmy2xAbecMojkxHhKd+9j7Ejv07C2Vb5UIUDM9rqzgBFGtVOE+ObxzrZBey3W0TndOKhHCleM6hftosS89JT2/PzUQfTunMRpLXQkdqRdeXQ/0lPax2SDN1hqkLAb0qsTs91GLF8aY6uSarluPCGHG44fEJPVBbHouuMGcO2x/e398uiMg3tyxsE9o12MgOwOI8yG9Upl684KSnZV1NxhWJVUy2Yffo1j71frYQEjzIb0dFOEbN7J+pJyUpMSrO7bGNMiWcAIs6G9nIFKyzbtYL0lHTTGtGAWMMKsW0p7Mjq1Z9mmneSX7LYxGMaYFiusAUNERovIchFZJSJ1pmF1t7lQRJaKyBIRecNveZWILHIfU+vbt6UY2iuVJRu3U7Btj2WpNca0WGHrJSUi8cCzwGlAATBXRKaq6lK/bQYB9wLHqOo2Eenud4g9qjoiXOWLpKG9OjFzhZO62HpIGWNaqnDeYRwBrFLVNaq6D5gIjKm1zfXAs6q6DUBVt4axPFEz1G34BqxKyhjTYoUzYGQC/knxC9xl/g4CDhKRz0RkjoiM9luXJCLz3OXnhrGcYedLEQJYo7cxpsWK9sC9BGAQcCKQBcwUkUNUtQzoq6qFIjIAmC4i36jqav+dRWQcMA4gOzt68xk3xJciBKBnalKUS2OMMU0TzjuMQqCP3+ssd5m/AmCqqu5X1bXACpwAgqoWuj/XADOA3NonUNUXVDVPVfMyMmIz9wp8nyIkq2sy8TbbmDGmhQpnwJgLDBKR/iLSDrgIqN3b6d84dxeISDpOFdUaEekiIu39lh8DLKUF+/mpg/j5qTZ3gjGm5QpblZSqVorIzcCHQDwwQVWXiMjDwDxVnequO11ElgJVwJ2qWiIiRwN/FZFqnKD2mH/vqpbo9BjOD2OMMV6Iqka7DCGRl5en8+bNi3YxjDGmRRGR+aqa52VbG+ltjDHGEwsYxhhjPLGAYYwxxhMLGMYYYzyxgGGMMcYTCxjGGGM8sYBhjDHGk1YzDkNEioD1zThEOlAcouK0NHbtbVdbvv62fO3w/fX3VVVPuZVaTcBoLhGZ53XwSmtj1942rx3a9vW35WuHpl2/VUkZY4zxxAKGMcYYTyxgfO+FaBcgiuza2662fP1t+dqhCddvbRjGGGM8sTsMY4wxnljAMMYY40mbDxgiMlpElovIKhG5J9rliTQRWSci34jIIhFp1ROKiMgEEdkqIt/6LesqIh+LyEr3Z5doljGcAlz/gyJS6P7+F4nIWdEsY7iISB8R+URElorIEhG5zV3e6n//Qa690b/7Nt2GISLxOPOIn4Yzv/hc4OKWPrtfY4jIOiBPVVv9ACYROR7YBbyqqsPdZU8Apar6mPuFoYuq3h3NcoZLgOt/ENilqk9Gs2zhJiK9gF6qukBEOgHzgXOBq2jlv/8g134hjfzdt/U7jCOAVaq6RlX3AROBMVEukwkTVZ0JlNZaPAZ4xX3+Cs4/UqsU4PrbBFXdpKoL3Oc7gWVAJm3g9x/k2hutrQeMTGCD3+sCmvhGtmAKfCQi80VkXLQLEwU9VHWT+3wz0COahYmSm0VksVtl1eqqZGoTkX5ALvAlbez3X+vaoZG/+7YeMAwcq6ojgTOBm9xqizZJnfrZtlZH+xyQA4wANgFPRbU0YSYiKcDbwM9VdYf/utb++6/n2hv9u2/rAaMQ6OP3Ostd1maoaqH7cyswBaeari3Z4tbx+up6t0a5PBGlqltUtUpVq4EXacW/fxFJxPnA/IeqTnYXt4nff33X3pTffVsPGHOBQSLSX0TaARcBU6NcpogRkY5uIxgi0hE4Hfg2+F6tzlTgSvf5lcA7USxLxPk+LF1jaaW/fxER4O/AMlX9vd+qVv/7D3TtTfndt+leUgBuV7I/APHABFV9JLolihwRGYBzVwGQALzRmq9fRP4JnIiT1nkL8ADwb+BNIBsnPf6FqtoqG4YDXP+JOFUSCqwDbvCr0281RORYYBbwDVDtLv4lTl1+q/79B7n2i2nk777NBwxjjDHetPUqKWOMMR5ZwDDGGOOJBQxjjDGeWMAwxhjjiQUMY4wxnljAMKYBIlLll9FzUSizGotIP//sscbEsoRoF8CYFmCPqo6IdiGMiTa7wzCmidy5RJ5w5xP5SkQGusv7ich0N6nb/0Qk213eQ0SmiMjX7uNo91DxIvKiO1fBRyKS7G5/qzuHwWIRmRilyzSmhgUMYxqWXKtK6id+67ar6iHAn3EyBgD8CXhFVQ8F/gE84y5/BvhUVQ8DRgJL3OWDgGdV9WCgDPixu/weINc9zo3huTRjvLOR3sY0QER2qWpKPcvXASer6ho3udtmVe0mIsU4E9bsd5dvUtV0ESkCslS1wu8Y/YCPVXWQ+/puIFFVfyMiH+BMePRv4N+quivMl2pMUHaHYUzzaIDnjVHh97yK79sWzwaexbkbmSsi1uZoosoChjHN8xO/n1+4zz/HyXwMcClO4jeA/wE/BWd6YBHpHOigIhIH9FHVT4C7gc5AnbscYyLJvrEY07BkEVnk9/oDVfV1re0iIotx7hIudpfdArwkIncCRcDV7vLbgBdE5FqcO4mf4kxcU5944HU3qAjwjKqWheh6jGkSa8MwponcNow8VS2OdlmMiQSrkjLGGOOJ3WEYY4zxxO4wjDHGeGIBwxhjjCcWMIwxxnhiAcMYY4wnFjCMMcZ48v8ci2zE+cUdFgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(history.history['val_custom_accuracy'], label='QCNN')\n", "plt.plot(hybrid_history.history['val_custom_accuracy'], label='Hybrid CNN')\n", "plt.title('Quantum vs Hybrid CNN performance')\n", "plt.xlabel('Epochs')\n", "plt.legend()\n", "plt.ylabel('Validation Accuracy')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "NCNiNvheRNzq" }, "source": [ "ご覧のとおり、非常に控えめな古典的支援により、ハイブリッドモデルは通常、純粋な量子バージョンよりも速く収束します。" ] }, { "cell_type": "markdown", "metadata": { "id": "nVUtWLZnRRDE" }, "source": [ "### 2.2 多重量子フィルタを備えたハイブリッド畳み込み\n", "\n", "多重量子畳み込みと従来のニューラルネットワークを使用してそれらを組み合わせるアーキテクチャを試してみましょう。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "Ldo_m5P3YBV7" }, "source": [ "#### 2.2.1 モデルの定義" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:41.181297Z", "iopub.status.busy": "2021-02-12T21:45:41.171577Z", "iopub.status.idle": "2021-02-12T21:45:41.568104Z", "shell.execute_reply": "2021-02-12T21:45:41.567564Z" }, "id": "W3TkNVm9RTBj" }, "outputs": [ { "data": { "image/png": "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rPD555/LHQr1EFevXpU7BDIT3H6LDBIREYGbN2/KHQZRt3Lr1i1YWlq2uG/o5cuXUVlZiZEjR5o4MtOqqamBQqHgCnrqUmvWrMGDDz4odxjUzTGRJSIykh07dmDPnj3YunWr3KEQEfVInCNLRERERGaJiSwRERERmSUmskRERERklpjIEhEREZFZYiJLRERERGaJiSwRERERmSUmskRERERklpjIEhEREZFZYiJLRERERGaJiSwRERERmSUmskRERERklpjIEhEREZFZYiJLRERERGaJiSwRERERmSUmskRERERklpjIEhEREZFZYiJLRERERGaJiSwRERERmSUmskRERERklpjIEhEREZFZYiJLRERERGaJiSwRERERmSUmskRERERklizlDoCIqCfJysrCrVu3AABHjx7FuXPnkJaWJl1/8skn0bdvX7nCIyLqURRCCCF3EEREPUVwcDBycnKgUqn0zut0OqhUKly5cqXJNSIi6hhOLSAi6kILFiyAra0tbty4ofentrYWzz33HJNYIqIuxBFZIqIuVFdXh379+kGr1eqd79u3L7744gs89thjMkVGRNTzcESWiKgLWVlZYcaMGVAq9f95tbS0hI+Pj0xRERH1TExkiYi62AsvvAAHBwfp2NLSEvPnz4dCoZAxKiKinodTC4iIuphOp0P//v2h0WgAAH369MHBgwfh5eUlc2RERD0LR2SJiLqYUqnEnDlzYGl5Z4fDPn36MIklIjICJrJEREYQGRkJOzs7WFlZ4YUXXpA7HCKiHolTC4iIjGTQoEGorKxEcXExHnjgAbnDISLqcVjZi8hEDhw4gMuXL8sdBpnQpEmTcPz4cZw4cQInTpyQOxwyoVmzZsHCwkLuMIh6PI7IEpmIn58fHBwc0K9fP7lDIRO4dOkSzp07B2dnZ4wcOVLucGRTVVWFU6dOwdfXV+5QTCY1NRUajQZ2dnZyh0LU4zGRJTIRPz8/xMfH4ze/+Y3coZAJpKenIzU1FYmJibC3t5c7HNkcP34c0dHROHjwoNyhmIyzszN++eUXJrJEJsDFXkRERtSbk1giImNjIktEREREZomJLBFRN/Luu+9ixowZcochm5SUFOzcuVPuMCQ6nQ6LFi3ClStX5A6FiJrBRJaIqBsRQkCupQurV6/GxIkTZekbAJKSkpCeno6QkBAAQFZWFvz8/KBW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Dc1+prs/d2O/gwcPbncfRGRaTGSJiGTi5OSExYsXY926dSgsLIRGo0FsbCysrKwQFRUFAPDy8kJpaSkOHjyIqqoqxMfHS6++G7m4uKC8vBxarRaLFi3Cpk2bpGv29vZYvnw5KisrUVhYiPj4eERGRqJPnz6datvYc2QDAwNbXGyVkZHRbN85OTmwsrJqcSTXwsIC06ZNw/vvv4/8/HzcunUL//73v7Ft2za9xV7FxcUYNmwYRo0a1XUfiIiMgoksEZGMNmzYgODgYEyZMgWDBg1CYWEh9u7di759+wIAAgICsGTJEsyYMQPe3t6YOnUqVCoVZs6cibi4OAB3VuIPHDgQLi4uKC4uRnh4uNS+k5MTAgIC4O3tjUmTJsHHxwcbN27sdNsWFhZGnSMbGhqKkydPoqysrMk1nU7XbN/Z2dkICwtrcW4tACQmJmL69OmYPXs2nJycsHDhQrz44ovYsGGDdM+uXbuk7cmIqHtjiVoiE2GJ2t6lO5SoTUxMxOrVq3Hu3DnZYuhMidqkpCTs2bNHKlPbmoKCAqxZswbbt2/XW9zWXnl5eVi6dCkOHToEa2vrDrXBErVEpsMRWSIi6pYWLFiA4OBgpKWltXnv+PHjkZ6e3qkkVqfTISkpCdnZ2R1OYonItFiiloioB4qKisLmzZsB3FmwpdFo4OjoKHNU7Xf3NAljUyqVSExMNFl/RNR5HJElIuqBEhIS9PZ6NcckloioLUxkiYiIiMgsMZElIiIiIrPERJaIiIiIzBIXexGZ0Jo1a9C/f3+5wyATKCsrw/nz57Fw4UK5Q5FVZWUlysrKetVzuHnzptwhEPUa3EeWyES+/PJLVFRUyB0GmdDRo0dRVFSEF198Ue5QyMTmzJkDCwsLucMg6vE4IktkIk8++aTcIZCJWVpa4saNG5g7d67coRAR9UicI0tEREREZomJLBERERGZJSayRERERGSWmMgSERERkVliIktEREREZomJLBERERGZJSayRERERGSWmMgSERERkVliIktEREREZomJLBERERGZJSayRERERGSWmMgSERERkVliIktEREREZomJLBERERGZJSayRERERGSWmMgSERERkVliIktEREREZomJLBERERGZJSayRERERGSWmMgSERERkVliIktEREREZomJLBERERGZJSayRERERGSWFEIIIXcQREQ9xSuv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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "excitation_input_multi = tf.keras.Input(shape=(), dtype=tf.dtypes.string)\n", "\n", "cluster_state_multi = tfq.layers.AddCircuit()(\n", " excitation_input_multi, prepend=cluster_state_circuit(cluster_state_bits))\n", "\n", "# apply 3 different filters and measure expectation values\n", "\n", "quantum_model_multi1 = tfq.layers.PQC(\n", " multi_readout_model_circuit(cluster_state_bits),\n", " readouts)(cluster_state_multi)\n", "\n", "quantum_model_multi2 = tfq.layers.PQC(\n", " multi_readout_model_circuit(cluster_state_bits),\n", " readouts)(cluster_state_multi)\n", "\n", "quantum_model_multi3 = tfq.layers.PQC(\n", " multi_readout_model_circuit(cluster_state_bits),\n", " readouts)(cluster_state_multi)\n", "\n", "# concatenate outputs and feed into a small classical NN\n", "concat_out = tf.keras.layers.concatenate(\n", " [quantum_model_multi1, quantum_model_multi2, quantum_model_multi3])\n", "\n", "dense_1 = tf.keras.layers.Dense(8)(concat_out)\n", "\n", "dense_2 = tf.keras.layers.Dense(1)(dense_1)\n", "\n", "multi_qconv_model = tf.keras.Model(inputs=[excitation_input_multi],\n", " outputs=[dense_2])\n", "\n", "# Display the model architecture\n", "tf.keras.utils.plot_model(multi_qconv_model,\n", " show_shapes=True,\n", " show_layer_names=True,\n", " dpi=70)" ] }, { "cell_type": "markdown", "metadata": { "id": "2eNhDWwKY9N4" }, "source": [ "#### 2.2.2 モデルをトレーニングする" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:41.582210Z", "iopub.status.busy": "2021-02-12T21:45:41.581548Z", "iopub.status.idle": "2021-02-12T21:45:58.573847Z", "shell.execute_reply": "2021-02-12T21:45:58.573149Z" }, "id": "suRvxcAKRZK6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.9337 - custom_accuracy: 0.6250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [=======>......................] - ETA: 0s - loss: 0.8992 - custom_accuracy: 0.6250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.9043 - custom_accuracy: 0.5833" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.8659 - custom_accuracy: 0.6406" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.8198 - custom_accuracy: 0.7000" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.7945 - custom_accuracy: 0.7396" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.7519 - custom_accuracy: 0.7679" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 110ms/step - loss: 0.7519 - custom_accuracy: 0.7679 - val_loss: 0.5226 - val_custom_accuracy: 0.8750\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.5907 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.4515 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.4022 - custom_accuracy: 0.9167" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.3632 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.3766 - custom_accuracy: 0.9250" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.3462 - custom_accuracy: 0.9271" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.3448 - custom_accuracy: 0.9286" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 84ms/step - loss: 0.3448 - custom_accuracy: 0.9286 - val_loss: 0.2624 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2140 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2770 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2602 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.3001 - custom_accuracy: 0.9219" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2837 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2728 - custom_accuracy: 0.9271" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2618 - custom_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\r", "7/7 [==============================] - 1s 84ms/step - loss: 0.2618 - custom_accuracy: 0.9375 - val_loss: 0.2998 - val_custom_accuracy: 0.9375\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.3412 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.3150 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2873 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2524 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2527 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2391 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2450 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 83ms/step - loss: 0.2450 - custom_accuracy: 0.9732 - val_loss: 0.2298 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 5/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1371 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1675 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1840 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1799 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1947 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2034 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.2133 - custom_accuracy: 0.9554" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 77ms/step - loss: 0.2133 - custom_accuracy: 0.9554 - val_loss: 0.2444 - val_custom_accuracy: 0.9375\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 6/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2209 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2132 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2267 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2160 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2206 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2108 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2018 - custom_accuracy: 0.9643" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 79ms/step - loss: 0.2018 - custom_accuracy: 0.9643 - val_loss: 0.2128 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 7/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2504 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1864 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1842 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1766 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1736 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1929 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1994 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 88ms/step - loss: 0.1994 - custom_accuracy: 0.9821 - val_loss: 0.1889 - val_custom_accuracy: 0.9583\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 8/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1156 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1802 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1673 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1549 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1998 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2059 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.2024 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 82ms/step - loss: 0.2024 - custom_accuracy: 0.9732 - val_loss: 0.2196 - val_custom_accuracy: 0.9583\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 9/25\n", "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1167 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1444 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1630 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1744 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1819 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1749 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1967 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 82ms/step - loss: 0.1967 - custom_accuracy: 0.9732 - val_loss: 0.2129 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 10/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1081 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1484 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1800 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1681 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2038 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2072 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1952 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 80ms/step - loss: 0.1952 - custom_accuracy: 0.9732 - val_loss: 0.1964 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 11/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2036 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1786 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1857 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1771 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1713 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1812 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1945 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 81ms/step - loss: 0.1945 - custom_accuracy: 0.9821 - val_loss: 0.1918 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 12/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1943 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1987 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2184 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.2171 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2044 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1982 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1890 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 79ms/step - loss: 0.1890 - custom_accuracy: 0.9821 - val_loss: 0.2117 - val_custom_accuracy: 0.9583\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 13/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1213 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1569 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1690 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1522 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1500 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1865 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1891 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 81ms/step - loss: 0.1891 - custom_accuracy: 0.9821 - val_loss: 0.2201 - val_custom_accuracy: 0.9375\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 14/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1654 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1962 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1864 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1917 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2060 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2052 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1936 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 84ms/step - loss: 0.1936 - custom_accuracy: 0.9821 - val_loss: 0.2184 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 15/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.0942 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1395 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2099 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.2021 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2012 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1983 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2028 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 82ms/step - loss: 0.2028 - custom_accuracy: 0.9821 - val_loss: 0.2323 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 16/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1194 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1585 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1454 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1816 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1882 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2042 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2221 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 79ms/step - loss: 0.2221 - custom_accuracy: 0.9732 - val_loss: 0.2088 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 17/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.2117 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2424 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2504 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2406 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2270 - custom_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\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2263 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.2225 - custom_accuracy: 0.9554" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 83ms/step - loss: 0.2225 - custom_accuracy: 0.9554 - val_loss: 0.1994 - val_custom_accuracy: 0.9583\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 18/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1784 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1655 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1867 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1693 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1862 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1743 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1849 - custom_accuracy: 0.9732" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 83ms/step - loss: 0.1849 - custom_accuracy: 0.9732 - val_loss: 0.1880 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 19/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1812 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2067 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1888 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1906 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1850 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1721 - custom_accuracy: 0.9896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1919 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 82ms/step - loss: 0.1919 - custom_accuracy: 0.9821 - val_loss: 0.1857 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 20/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.0390 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1129 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1471 - custom_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\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1656 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1923 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2017 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1907 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 79ms/step - loss: 0.1907 - custom_accuracy: 0.9821 - val_loss: 0.2216 - val_custom_accuracy: 0.9792\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 21/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1839 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1832 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2262 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.2114 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.2155 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1994 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1929 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 82ms/step - loss: 0.1929 - custom_accuracy: 0.9821 - val_loss: 0.1753 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 22/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1759 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1780 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2081 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.2060 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1910 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1981 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1903 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 89ms/step - loss: 0.1903 - custom_accuracy: 0.9821 - val_loss: 0.1792 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 23/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1523 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2049 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1835 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1735 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1944 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1792 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1875 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 84ms/step - loss: 0.1875 - custom_accuracy: 0.9821 - val_loss: 0.1998 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 24/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.1430 - custom_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\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.1631 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.1863 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/7 [================>.............] - ETA: 0s - loss: 0.1549 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1680 - custom_accuracy: 0.9875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.1879 - custom_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\r", "7/7 [==============================] - ETA: 0s - loss: 0.1884 - custom_accuracy: 0.9643" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 86ms/step - loss: 0.1884 - custom_accuracy: 0.9643 - val_loss: 0.2063 - val_custom_accuracy: 1.0000\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 25/25\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "1/7 [===>..........................] - ETA: 0s - loss: 0.3265 - custom_accuracy: 0.8750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "2/7 [=======>......................] - ETA: 0s - loss: 0.2377 - custom_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\r", "3/7 [===========>..................] - ETA: 0s - loss: 0.2128 - custom_accuracy: 0.9583" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "4/7 [================>.............] - ETA: 0s - loss: 0.1916 - custom_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\r", "5/7 [====================>.........] - ETA: 0s - loss: 0.1838 - custom_accuracy: 0.9750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "6/7 [========================>.....] - ETA: 0s - loss: 0.2100 - custom_accuracy: 0.9792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - ETA: 0s - loss: 0.1945 - custom_accuracy: 0.9821" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "7/7 [==============================] - 1s 81ms/step - loss: 0.1945 - custom_accuracy: 0.9821 - val_loss: 0.1902 - val_custom_accuracy: 1.0000\n" ] } ], "source": [ "multi_qconv_model.compile(\n", " optimizer=tf.keras.optimizers.Adam(learning_rate=0.02),\n", " loss=tf.losses.mse,\n", " metrics=[custom_accuracy])\n", "\n", "multi_qconv_history = multi_qconv_model.fit(x=train_excitations,\n", " y=train_labels,\n", " batch_size=16,\n", " epochs=25,\n", " verbose=1,\n", " validation_data=(test_excitations,\n", " test_labels))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2021-02-12T21:45:58.617331Z", "iopub.status.busy": "2021-02-12T21:45:58.607896Z", "iopub.status.idle": "2021-02-12T21:45:58.763260Z", "shell.execute_reply": "2021-02-12T21:45:58.762716Z" }, "id": "-6NR7yAQRmOU" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(history.history['val_custom_accuracy'][:25], label='QCNN')\n", "plt.plot(hybrid_history.history['val_custom_accuracy'][:25], label='Hybrid CNN')\n", "plt.plot(multi_qconv_history.history['val_custom_accuracy'][:25],\n", " label='Hybrid CNN \\n Multiple Quantum Filters')\n", "plt.title('Quantum vs Hybrid CNN performance')\n", "plt.xlabel('Epochs')\n", "plt.legend()\n", "plt.ylabel('Validation Accuracy')\n", "plt.show()" ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "qcnn.ipynb", "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 0 }