{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "ND3MyDtqk4hX" }, "source": [ "Updated 19/Nov/2021 by Yoshihisa Nitta   \n" ] }, { "cell_type": "markdown", "metadata": { "id": "fQVCsdk0mByf" }, "source": [ "# AutoEncoder Training for MNIST dataset with Tensorflow 2 on Google Colab\n", "## MNISTデータセットに対して AutoEncoder を Google Colab 上で Tensorflow 2 で訓練する" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "hHAN1RoasvZb" }, "outputs": [], "source": [ "#! pip install tensorflow==2.7.0" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 2265, "status": "ok", "timestamp": 1637562083627, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "MKpI5MGclKv9", "outputId": "98d2c9ca-77aa-480e-c785-2cc212eeb3f4" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.7.0\n" ] } ], "source": [ "%tensorflow_version 2.x\n", "\n", "import tensorflow as tf\n", "print(tf.__version__)" ] }, { "cell_type": "markdown", "metadata": { "id": "d9Eo7tUQVTGj" }, "source": [ "# AutoEncoder\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "-6Ym80kDmeX8" }, "source": [ "# Check the execution environment on Google Colab\n", "## Google Colab 上の実行環境を確認する" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 387, "status": "ok", "timestamp": 1637562084007, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "WbWE99gP5Jr8", "outputId": "da729edd-5a7e-467b-a400-e9c6ed863d2c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mon Nov 22 06:21:23 2021 \n", "+-----------------------------------------------------------------------------+\n", "| NVIDIA-SMI 495.44 Driver Version: 460.32.03 CUDA Version: 11.2 |\n", "|-------------------------------+----------------------+----------------------+\n", "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", "| | | MIG M. |\n", "|===============================+======================+======================|\n", "| 0 Tesla P100-PCIE... Off | 00000000:00:04.0 Off | 0 |\n", "| N/A 32C P0 26W / 250W | 0MiB / 16280MiB | 0% Default |\n", "| | | N/A |\n", "+-------------------------------+----------------------+----------------------+\n", " \n", "+-----------------------------------------------------------------------------+\n", "| Processes: |\n", "| GPU GI CI PID Type Process name GPU Memory |\n", "| ID ID Usage |\n", "|=============================================================================|\n", "| No running processes found |\n", "+-----------------------------------------------------------------------------+\n", "processor\t: 0\n", "vendor_id\t: GenuineIntel\n", "cpu family\t: 6\n", "model\t\t: 79\n", "model name\t: Intel(R) Xeon(R) CPU @ 2.20GHz\n", "stepping\t: 0\n", "microcode\t: 0x1\n", "cpu MHz\t\t: 2199.998\n", "cache size\t: 56320 KB\n", "physical id\t: 0\n", "siblings\t: 2\n", "core id\t\t: 0\n", "cpu cores\t: 1\n", "apicid\t\t: 0\n", "initial apicid\t: 0\n", "fpu\t\t: yes\n", "fpu_exception\t: yes\n", "cpuid level\t: 13\n", "wp\t\t: yes\n", "flags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities\n", "bugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa\n", "bogomips\t: 4399.99\n", "clflush size\t: 64\n", "cache_alignment\t: 64\n", "address sizes\t: 46 bits physical, 48 bits virtual\n", "power management:\n", "\n", "processor\t: 1\n", "vendor_id\t: GenuineIntel\n", "cpu family\t: 6\n", "model\t\t: 79\n", "model name\t: Intel(R) Xeon(R) CPU @ 2.20GHz\n", "stepping\t: 0\n", "microcode\t: 0x1\n", "cpu MHz\t\t: 2199.998\n", "cache size\t: 56320 KB\n", "physical id\t: 0\n", "siblings\t: 2\n", "core id\t\t: 0\n", "cpu cores\t: 1\n", "apicid\t\t: 1\n", "initial apicid\t: 1\n", "fpu\t\t: yes\n", "fpu_exception\t: yes\n", "cpuid level\t: 13\n", "wp\t\t: yes\n", "flags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities\n", "bugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa\n", "bogomips\t: 4399.99\n", "clflush size\t: 64\n", "cache_alignment\t: 64\n", "address sizes\t: 46 bits physical, 48 bits virtual\n", "power management:\n", "\n", "Ubuntu 18.04.5 LTS \\n \\l\n", "\n", " total used free shared buff/cache available\n", "Mem: 12G 748M 9.9G 1.2M 2.0G 11G\n", "Swap: 0B 0B 0B\n" ] } ], "source": [ "! nvidia-smi\n", "! cat /proc/cpuinfo\n", "! cat /etc/issue\n", "! free -h" ] }, { "cell_type": "markdown", "metadata": { "id": "4uMV2YQwxkmn" }, "source": [ "# Mount Google Drive from Google Colab\n", "## Google Colab から GoogleDrive をマウントする" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 28691, "status": "ok", "timestamp": 1637562112697, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "YEALbJ-Dxrau", "outputId": "649f6a4b-2379-4e73-f51a-1280e6cc51c7" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mounted at /content/drive\n" ] } ], "source": [ "from google.colab import drive\n", "drive.mount('/content/drive')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 5, "status": "ok", "timestamp": 1637562112697, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "l_PxoswkyCry", "outputId": "84984844-131c-4cc1-95df-19e1f070627b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MyDrive Shareddrives\n" ] } ], "source": [ "! ls /content/drive" ] }, { "cell_type": "markdown", "metadata": { "id": "8DmJlArxKDes" }, "source": [ "# Download the soure file from Google Drive or nw.tsuda.ac.jp\n", "\n", "Basically, gdown from Google Drive. Download from nw.tsuda.ac.jp above only if the specifications of Google Drive change and you cannot download from Google Drive.\n", "\n", "## Google Drive または nw.tsuda.ac.jp からファイルをダウンロードする\n", "\n", "基本的に Google Drive から gdown してください。 Google Drive の仕様が変わってダウンロードができない場合にのみ、nw.tsuda.ac.jp からダウンロードしてください。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 2587, "status": "ok", "timestamp": 1637562115282, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "E_pTWqexKLEK", "outputId": "9928a675-7968-46a3-a542-551bc363435a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading...\n", "From: https://drive.google.com/uc?id=1ZDgWE7wmVwG_ZuQVUjuh_XHeIO-7Yn63\n", "To: /content/nw/AutoEncoder.py\n", "\r", " 0% 0.00/13.9k [00:00AutoEncoder class downloaded from nw.tsuda.ac.jp.\n", "\n", "## ニューラルネットワーク・モデル の定義\n", "\n", "nw.tsuda.ac.jp からダウンロードした AutoEncoder クラスを使う。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "tLCR0nt-zGOE" }, "outputs": [], "source": [ "from nw.AutoEncoder import AutoEncoder\n", "\n", "AE = AutoEncoder(\n", " input_dim = (28, 28, 1),\n", " encoder_conv_filters = [32, 64, 64, 64],\n", " encoder_conv_kernel_size = [3, 3, 3, 3],\n", " encoder_conv_strides = [1, 2, 2, 1],\n", " decoder_conv_t_filters = [64, 64, 32, 1],\n", " decoder_conv_t_kernel_size = [3, 3, 3, 3],\n", " decoder_conv_t_strides = [1, 2, 2, 1],\n", " z_dim = 2\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 14, "status": "ok", "timestamp": 1637562119696, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "jhSugt50koOt", "outputId": "8e071c5c-eec9-4aa6-d02e-95321bf540d0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"model\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", " encoder_input (InputLayer) [(None, 28, 28, 1)] 0 \n", " \n", " encoder_conv_0 (Conv2D) (None, 28, 28, 32) 320 \n", " \n", " leaky_re_lu (LeakyReLU) (None, 28, 28, 32) 0 \n", " \n", " encoder_conv_1 (Conv2D) (None, 14, 14, 64) 18496 \n", " \n", " leaky_re_lu_1 (LeakyReLU) (None, 14, 14, 64) 0 \n", " \n", " encoder_conv_2 (Conv2D) (None, 7, 7, 64) 36928 \n", " \n", " leaky_re_lu_2 (LeakyReLU) (None, 7, 7, 64) 0 \n", " \n", " encoder_conv_3 (Conv2D) (None, 7, 7, 64) 36928 \n", " \n", " leaky_re_lu_3 (LeakyReLU) (None, 7, 7, 64) 0 \n", " \n", " flatten (Flatten) (None, 3136) 0 \n", " \n", " encoder_output (Dense) (None, 2) 6274 \n", " \n", "=================================================================\n", "Total params: 98,946\n", "Trainable params: 98,946\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "AE.encoder.summary()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 12, "status": "ok", "timestamp": 1637562119697, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "zG6ifGO2SjTD", "outputId": "520660c4-5149-4070-be4e-82374fed726f" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"model_1\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", " decoder_input (InputLayer) [(None, 2)] 0 \n", " \n", " dense (Dense) (None, 3136) 9408 \n", " \n", " reshape (Reshape) (None, 7, 7, 64) 0 \n", " \n", " decoder_conv_t_0 (Conv2DTra (None, 7, 7, 64) 36928 \n", " nspose) \n", " \n", " leaky_re_lu_4 (LeakyReLU) (None, 7, 7, 64) 0 \n", " \n", " decoder_conv_t_1 (Conv2DTra (None, 14, 14, 64) 36928 \n", " nspose) \n", " \n", " leaky_re_lu_5 (LeakyReLU) (None, 14, 14, 64) 0 \n", " \n", " decoder_conv_t_2 (Conv2DTra (None, 28, 28, 32) 18464 \n", " nspose) \n", " \n", " leaky_re_lu_6 (LeakyReLU) (None, 28, 28, 32) 0 \n", " \n", " decoder_conv_t_3 (Conv2DTra (None, 28, 28, 1) 289 \n", " nspose) \n", " \n", " activation (Activation) (None, 28, 28, 1) 0 \n", " \n", "=================================================================\n", "Total params: 102,017\n", "Trainable params: 102,017\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "AE.decoder.summary()" ] }, { "cell_type": "markdown", "metadata": { "id": "z3DuY-9Z9Yf-" }, "source": [ "# Training the Neural Model\n", "\n", "\n", "Try the training in 3 ways.\n", "\n", "\n", "\n", "With each way, you first train a few times and save the state to some files.\n", "Then, after loading the saved states, further training proceeds.\n", "\n", "## ニューラルモデルを学習する\n", "\n", "3通りの方法で学習を試みる。\n", "どの方法においても、まず数回学習を進めて、状態をファイルに保存する。\n", "そして、保存した状態をロードしてから、さらに学習を進める。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "i4olTqB1xt0m" }, "outputs": [], "source": [ "MAX_EPOCHS = 200" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "nA-X-4s1Z7q6" }, "outputs": [], "source": [ "learning_rate = 0.0005" ] }, { "cell_type": "markdown", "metadata": { "id": "P7ae_ydlhZPn" }, "source": [ "# (1) Simple Training with fit()\n", "\n", "\n", "Instead of using callbacks, simply train using fit() function.\n", "\n", "## (1) fit() 関数を使った単純なTraining\n", "\n", "callbackは使わずに、単純にfit()を使ってtrainingしてみる。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "uS1trkRkvTLz" }, "outputs": [], "source": [ "save_path1 = '/content/drive/MyDrive/ColabRun/AE01'" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "FSy_oa-qiFTV" }, "outputs": [], "source": [ "optimizer = tf.keras.optimizers.Adam(learning_rate=learning_rate)\n", "AE.model.compile(optimizer=optimizer, loss=AutoEncoder.r_loss)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 84826, "status": "ok", "timestamp": 1637562204883, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "d14V6JZUvOhs", "outputId": "89346613-692f-4c64-97f2-5ef7642701a7" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n", "1875/1875 [==============================] - 27s 6ms/step - loss: 0.0550 - val_loss: 0.0487\n", "Epoch 2/3\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0464 - val_loss: 0.0449\n", "Epoch 3/3\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0444 - val_loss: 0.0439\n" ] } ], "source": [ "# At first, train for a few epochs.\n", "# まず、少ない回数 training してみる\n", "\n", "history=AE.train_with_fit(\n", " x_train,\n", " x_train,\n", " batch_size=32,\n", " epochs = 3,\n", " run_folder = save_path1,\n", " validation_data = (x_test, x_test)\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 6, "status": "ok", "timestamp": 1637562204884, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "49j-U8xx9kzZ", "outputId": "932b4ab5-abbd-4f22-c980-a6b4e8d32930" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'loss': [0.05495461821556091, 0.0464060977101326, 0.04438251256942749], 'val_loss': [0.04873434454202652, 0.04490825906395912, 0.043926868587732315]}\n" ] } ], "source": [ "print(history.history)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 3, "status": "ok", "timestamp": 1637562204884, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "K0Msc4koyR-J", "outputId": "b6a066ea-9e18-4f9c-b519-964469f196f5" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "# Load the trained states saved before\n", "# 保存されている学習結果をロードする\n", "\n", "AE_work = AutoEncoder.load(save_path1)\n", "\n", "# display the epoch count of training\n", "# training のepoch回数を表示する\n", "print(AE_work.epoch)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 1972373, "status": "ok", "timestamp": 1637564177734, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "fiPR6yjwi2_1", "outputId": "a2f8a1f0-8b7d-4a28-8202-2cb9be708e95" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4/200\n", "1875/1875 [==============================] - 11s 5ms/step - loss: 0.0439 - val_loss: 0.0428\n", "Epoch 5/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0422 - val_loss: 0.0421\n", "Epoch 6/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0417 - val_loss: 0.0414\n", "Epoch 7/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0412 - val_loss: 0.0412\n", "Epoch 8/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0409 - val_loss: 0.0409\n", "Epoch 9/200\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0406 - val_loss: 0.0411\n", "Epoch 10/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0404 - val_loss: 0.0405\n", "Epoch 11/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0402 - val_loss: 0.0403\n", "Epoch 12/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0401 - val_loss: 0.0402\n", "Epoch 13/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0399 - val_loss: 0.0402\n", "Epoch 14/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0398 - val_loss: 0.0399\n", "Epoch 15/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0396 - val_loss: 0.0401\n", "Epoch 16/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0395 - val_loss: 0.0406\n", "Epoch 17/200\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0394 - val_loss: 0.0399\n", "Epoch 18/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0393 - val_loss: 0.0400\n", "Epoch 19/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0392 - val_loss: 0.0395\n", "Epoch 20/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0391 - val_loss: 0.0393\n", "Epoch 21/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0390 - val_loss: 0.0393\n", "Epoch 22/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0390 - val_loss: 0.0397\n", "Epoch 23/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0389 - val_loss: 0.0394\n", "Epoch 24/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0388 - val_loss: 0.0395\n", "Epoch 25/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0388 - val_loss: 0.0393\n", "Epoch 26/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0387 - val_loss: 0.0398\n", "Epoch 27/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0387 - val_loss: 0.0395\n", "Epoch 28/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0386 - val_loss: 0.0395\n", "Epoch 29/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0385 - val_loss: 0.0390\n", "Epoch 30/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0385 - val_loss: 0.0391\n", "Epoch 31/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0384 - val_loss: 0.0395\n", "Epoch 32/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0384 - val_loss: 0.0391\n", "Epoch 33/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0383 - val_loss: 0.0394\n", "Epoch 34/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0383 - val_loss: 0.0390\n", "Epoch 35/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0382 - val_loss: 0.0393\n", "Epoch 36/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0382 - val_loss: 0.0391\n", "Epoch 37/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0381 - val_loss: 0.0390\n", "Epoch 38/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0381 - val_loss: 0.0391\n", "Epoch 39/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0381 - val_loss: 0.0388\n", "Epoch 40/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0380 - val_loss: 0.0392\n", "Epoch 41/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0380 - val_loss: 0.0394\n", "Epoch 42/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0379 - val_loss: 0.0389\n", "Epoch 43/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0379 - val_loss: 0.0392\n", "Epoch 44/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0379 - val_loss: 0.0393\n", "Epoch 45/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0378 - val_loss: 0.0390\n", "Epoch 46/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0378 - val_loss: 0.0389\n", "Epoch 47/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0378 - val_loss: 0.0392\n", "Epoch 48/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0377 - val_loss: 0.0390\n", "Epoch 49/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0377 - val_loss: 0.0386\n", "Epoch 50/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0376 - val_loss: 0.0391\n", "Epoch 51/200\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0377 - val_loss: 0.0392\n", "Epoch 52/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0376 - val_loss: 0.0391\n", "Epoch 53/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0376 - val_loss: 0.0385\n", "Epoch 54/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0375 - val_loss: 0.0386\n", "Epoch 55/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0375 - val_loss: 0.0386\n", "Epoch 56/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0375 - val_loss: 0.0387\n", "Epoch 57/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0375 - val_loss: 0.0385\n", "Epoch 58/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0375 - val_loss: 0.0386\n", "Epoch 59/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0374 - val_loss: 0.0389\n", "Epoch 60/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0374 - val_loss: 0.0387\n", "Epoch 61/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0374 - val_loss: 0.0387\n", "Epoch 62/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0373 - val_loss: 0.0386\n", "Epoch 63/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0373 - val_loss: 0.0387\n", "Epoch 64/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0373 - val_loss: 0.0387\n", "Epoch 65/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0373 - val_loss: 0.0384\n", "Epoch 66/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0372 - val_loss: 0.0385\n", "Epoch 67/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0372 - val_loss: 0.0386\n", "Epoch 68/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0372 - val_loss: 0.0386\n", "Epoch 69/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0372 - val_loss: 0.0389\n", "Epoch 70/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0371 - val_loss: 0.0385\n", "Epoch 71/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0372 - val_loss: 0.0384\n", "Epoch 72/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0371 - val_loss: 0.0387\n", "Epoch 73/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0371 - val_loss: 0.0386\n", "Epoch 74/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0371 - val_loss: 0.0384\n", "Epoch 75/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0371 - val_loss: 0.0387\n", "Epoch 76/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0370 - val_loss: 0.0387\n", "Epoch 77/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0370 - val_loss: 0.0383\n", "Epoch 78/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0370 - val_loss: 0.0385\n", "Epoch 79/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0370 - val_loss: 0.0384\n", "Epoch 80/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0369 - val_loss: 0.0385\n", "Epoch 81/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0369 - val_loss: 0.0384\n", "Epoch 82/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0369 - val_loss: 0.0383\n", "Epoch 83/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0369 - val_loss: 0.0385\n", "Epoch 84/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0369 - val_loss: 0.0385\n", "Epoch 85/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0368 - val_loss: 0.0386\n", "Epoch 86/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0369 - val_loss: 0.0386\n", "Epoch 87/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0368 - val_loss: 0.0384\n", "Epoch 88/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0368 - val_loss: 0.0383\n", "Epoch 89/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0368 - val_loss: 0.0385\n", "Epoch 90/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0368 - val_loss: 0.0384\n", "Epoch 91/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0368 - val_loss: 0.0384\n", "Epoch 92/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0367 - val_loss: 0.0386\n", "Epoch 93/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0367 - val_loss: 0.0385\n", "Epoch 94/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0367 - val_loss: 0.0382\n", "Epoch 95/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0367 - val_loss: 0.0383\n", "Epoch 96/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0367 - val_loss: 0.0383\n", "Epoch 97/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0367 - val_loss: 0.0384\n", "Epoch 98/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0366 - val_loss: 0.0383\n", "Epoch 99/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0366 - val_loss: 0.0385\n", "Epoch 100/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0366 - val_loss: 0.0385\n", "Epoch 101/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0366 - val_loss: 0.0383\n", "Epoch 102/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0366 - val_loss: 0.0384\n", "Epoch 103/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0366 - val_loss: 0.0384\n", "Epoch 104/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0365 - val_loss: 0.0385\n", "Epoch 105/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0366 - val_loss: 0.0386\n", "Epoch 106/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0365 - val_loss: 0.0382\n", "Epoch 107/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0365 - val_loss: 0.0383\n", "Epoch 108/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0365 - val_loss: 0.0384\n", "Epoch 109/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0364 - val_loss: 0.0381\n", "Epoch 110/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0365 - val_loss: 0.0385\n", "Epoch 111/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0365 - val_loss: 0.0385\n", "Epoch 112/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0364 - val_loss: 0.0385\n", "Epoch 113/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0364 - val_loss: 0.0383\n", "Epoch 114/200\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0364 - val_loss: 0.0384\n", "Epoch 115/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0364 - val_loss: 0.0381\n", "Epoch 116/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0364 - val_loss: 0.0385\n", "Epoch 117/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0364 - val_loss: 0.0382\n", "Epoch 118/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0364 - val_loss: 0.0386\n", "Epoch 119/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0363 - val_loss: 0.0383\n", "Epoch 120/200\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0364 - val_loss: 0.0383\n", "Epoch 121/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0363 - val_loss: 0.0385\n", "Epoch 122/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0363 - val_loss: 0.0389\n", "Epoch 123/200\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0363 - val_loss: 0.0385\n", "Epoch 124/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0363 - val_loss: 0.0383\n", "Epoch 125/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0363 - val_loss: 0.0385\n", "Epoch 126/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0363 - val_loss: 0.0384\n", "Epoch 127/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0384\n", "Epoch 128/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0363 - val_loss: 0.0384\n", "Epoch 129/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0384\n", "Epoch 130/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0388\n", "Epoch 131/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0384\n", "Epoch 132/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0384\n", "Epoch 133/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0384\n", "Epoch 134/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0384\n", "Epoch 135/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0386\n", "Epoch 136/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0362 - val_loss: 0.0385\n", "Epoch 137/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0383\n", "Epoch 138/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0383\n", "Epoch 139/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0383\n", "Epoch 140/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0384\n", "Epoch 141/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0385\n", "Epoch 142/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0385\n", "Epoch 143/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0386\n", "Epoch 144/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0382\n", "Epoch 145/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0384\n", "Epoch 146/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0387\n", "Epoch 147/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0361 - val_loss: 0.0384\n", "Epoch 148/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0385\n", "Epoch 149/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0382\n", "Epoch 150/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0381\n", "Epoch 151/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0385\n", "Epoch 152/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0382\n", "Epoch 153/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0385\n", "Epoch 154/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0384\n", "Epoch 155/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0384\n", "Epoch 156/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0382\n", "Epoch 157/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0384\n", "Epoch 158/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0384\n", "Epoch 159/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0383\n", "Epoch 160/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0360 - val_loss: 0.0387\n", "Epoch 161/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0383\n", "Epoch 162/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0383\n", "Epoch 163/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0384\n", "Epoch 164/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0386\n", "Epoch 165/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0383\n", "Epoch 166/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0382\n", "Epoch 167/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0384\n", "Epoch 168/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0382\n", "Epoch 169/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0359 - val_loss: 0.0387\n", "Epoch 170/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0389\n", "Epoch 171/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0381\n", "Epoch 172/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0390\n", "Epoch 173/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0386\n", "Epoch 174/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0382\n", "Epoch 175/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0382\n", "Epoch 176/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0388\n", "Epoch 177/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0383\n", "Epoch 178/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0383\n", "Epoch 179/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0382\n", "Epoch 180/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0358 - val_loss: 0.0384\n", "Epoch 181/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 182/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 183/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 184/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0385\n", "Epoch 185/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 186/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0386\n", "Epoch 187/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 188/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 189/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0386\n", "Epoch 190/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 191/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0383\n", "Epoch 192/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0356 - val_loss: 0.0382\n", "Epoch 193/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0357 - val_loss: 0.0386\n", "Epoch 194/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0356 - val_loss: 0.0383\n", "Epoch 195/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0356 - val_loss: 0.0385\n", "Epoch 196/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0356 - val_loss: 0.0383\n", "Epoch 197/200\n", "1875/1875 [==============================] - 10s 6ms/step - loss: 0.0356 - val_loss: 0.0382\n", "Epoch 198/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0356 - val_loss: 0.0385\n", "Epoch 199/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0356 - val_loss: 0.0384\n", "Epoch 200/200\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.0356 - val_loss: 0.0384\n" ] } ], "source": [ "# Then, train for more epochs. The training continues from the current self.epoch to the epoches specified.\n", "# 追加でtrainingする。保存されている現在のepoch数から始めて、指定したepochs までtrainingが進む。\n", "\n", "AE_work.model.compile(optimizer, loss=AutoEncoder.r_loss)\n", "\n", "history_work = AE_work.train_with_fit(\n", " x_train,\n", " x_train,\n", " batch_size=32,\n", " epochs=MAX_EPOCHS,\n", " run_folder = save_path1,\n", " validation_data=(x_test, x_test)\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 17, "status": "ok", "timestamp": 1637564177735, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "134mgICN_4X3", "outputId": "9991cf88-3cda-4027-8a54-d6e4bc2e9860" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "197\n" ] } ], "source": [ "# the return value contains the loss values in the additional training. \n", "# 追加で行ったtraining時のlossが返り値に含まれる\n", "print(len(history_work.history['loss']))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "NSTlPaDhBSC6" }, "outputs": [], "source": [ "loss1_1 = history.history['loss']\n", "vloss1_1 = history.history['val_loss']\n", "\n", "loss1_2 = history_work.history['loss']\n", "vloss1_2 = history_work.history['val_loss']\n", "\n", "loss1 = np.concatenate([loss1_1, loss1_2], axis=0)\n", "val_loss1 = np.concatenate([vloss1_1, vloss1_2], axis=0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 279 }, "executionInfo": { "elapsed": 8, "status": "ok", "timestamp": 1637564177736, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "0Y20iXDaCB-x", "outputId": "bb7e7449-485a-424a-ed74-63770b1bfead" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAEGCAYAAABCXR4ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeZzVZf3//8drZmDYRxzZBJRVXCBBEC0DM9PcEk0N1NyyzNwyy5+W1pcPaYu5VZpLaalpaphJaWqppeYSA+KCqCCiDiC7wzrAzLx+f7zex3NmOLPBMGdmeN5vt3M75/1+X+/rXNfZ3q9zXdf7epu7IyIiItIa5OW6ACIiIiINpcBFREREWg0FLiIiItJqKHARERGRVkOBi4iIiLQaBbkuQFPYZZddfMCAAbkuhoiIiDSBGTNmLHf3Htm2tYnAZcCAAZSUlOS6GCIiItIEzOz92rapq0hERERaDQUuIiIi0moocBEREZFWo02McREREWlJNm/eTGlpKeXl5bkuSovWoUMH+vXrR7t27Rq8jwIXERGRJlZaWkrXrl0ZMGAAZpbr4rRI7s6KFSsoLS1l4MCBDd6vQV1FZnaEmb1tZvPM7PIs2wvN7IFk+8tmNiBZP8DMNpjZrOR2a8Y+/07yTG3rWVdeIiIirUV5eTnFxcUKWupgZhQXFze6VareFhczywduBg4DSoHpZjbN3d/MSHY2sMrdh5jZJODnwMRk27vuPrKW7E9195rnMdeVl4iISKugoKV+W/MaNaTFZSwwz93nu/sm4H5gQo00E4C7ksdTgUNt69+xpsxr2/zyl/DnP+fkqUVERGRLDQlc+gIfZiyXJuuypnH3CqAMKE62DTSzV8zsP2Y2rsZ+v0+6iX6YEZzUldcnzOwcMysxs5Jly5Y1oBpb4ZZbYOrU7ZO3iIjIdtSlS5dcF2G72N6nQy8GdnP3UcAlwH1m1i3Zdqq7jwDGJbfTGpOxu9/u7mPcfUyPHllnBd52hYWwadP2yVtEREQarSGBy0Kgf8Zyv2Rd1jRmVgAUASvcfaO7rwBw9xnAu8AeyfLC5H4NcB/RJVVrXo2tWJNo3x42bszJU4uIiDQFd+fSSy9l+PDhjBgxggceeACAxYsXM378eEaOHMnw4cN57rnnqKys5Mwzz/wk7Q033JDj0m+pIadDTweGmtlAIqiYBJxSI8004AzgReBE4Gl3dzPrAax090ozGwQMBeYnAclO7r7czNoBxwD/qiuvbarl1iosVOAiIiLb5uKLYdasps1z5Ei48cYGJf3LX/7CrFmzePXVV1m+fDn7778/48eP57777uOLX/wiV1xxBZWVlaxfv55Zs2axcOFC3njjDQA+/vjjpi13E6g3cHH3CjO7AHgCyAfudPfZZjYFKHH3acAdwD1mNg9YSQQ3AOOBKWa2GagCznX3lWbWGXgiCVryiaDlt8k+teXV/BS4iIhIK/f8889z8sknk5+fT69evTj44IOZPn06+++/P1/72tfYvHkzxx13HCNHjmTQoEHMnz+fCy+8kKOPPprDDz8818XfQoMmoHP3x4DHaqz7UcbjcuCkLPs9BDyUZf06YHQtz5U1r5xo3x7WrMl1KUREpDVrYMtIcxs/fjzPPvssjz76KGeeeSaXXHIJp59+Oq+++ipPPPEEt956Kw8++CB33nlnrotaja5VVBe1uIiISCs3btw4HnjgASorK1m2bBnPPvssY8eO5f3336dXr1584xvf4Otf/zozZ85k+fLlVFVVccIJJ3DVVVcxc+bMXBd/C5ryvy4KXEREpJU7/vjjefHFF9l3330xM6655hp69+7NXXfdxS9+8QvatWtHly5duPvuu1m4cCFnnXUWVVVVAPz0pz/Ncem3ZLka99qUxowZ4yUlNSfgbQKnnw7PPQfvvdf0eYuISJs1Z84c9tprr1wXo1XI9lqZ2Qx3H5MtvbqK6tK+veZxERERaUEUuNRFXUUiIiItigKXuihwERERaVEUuNRFU/6LiIi0KApc6pIa49IGBjCLiIi0BQpc6lJYGPdqdREREWkRFLjUJRW4aJyLiIhIi6DApS5qcRERkR1Aly5dat22YMEChg8f3oylqZsCl7q0bx/3anERERFpETTlf13UVSQiItvo4oth1qymzXPkyLqv3Xj55ZfTv39/zj//fAAmT55MQUEBzzzzDKtWrWLz5s1cddVVTJgwoVHPW15ezre+9S1KSkooKCjg+uuv55BDDmH27NmcddZZbNq0iaqqKh566CF23XVXvvKVr1BaWkplZSU//OEPmThx4rZUG1DgUjcFLiIi0gpNnDiRiy+++JPA5cEHH+SJJ57goosuolu3bixfvpwDDzyQY489FjNrcL4333wzZsbrr7/O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1a/Gb85zz+WuTG2ZApcd2bvvxtG8uDje7o4doyXmnnty9ut5ySVRFDP3H/yg+raqqugi2nPPCD6yWbUqurJ+9avqPyRf/3oEJXPmxABhiEAp01tvxfqf/azx5X7mmSgzuP/yl43fvy7z50d33HHHbfsZWtJyfeUr8fn59re3Pa/Fi9Xt2Ryqqty///143+64I72ub99YN2ZM7X84qqriuy2Np8BF4hSgp5+Ov3upU3gg+nuOP9791lvdFyxolqKsWRNP26WL+/LlW25fubJRDUOfWLLEvagohvwMGuR+wAHZg4CDD47t2X5sysvdzz3XfcKE6mVbsSLKPHRovFypFqFvfSuWMwOkysoIkP70p3hZ6zu4vPdenKberl3ke+edW6a58073Rx6JcTs1bd4c/wanTXOfO7fu55Lc+ec/4/3t0SPO6NvaVj939/ffj8/65z/fcgLd8vI4sK9albsypLqpm8qmTe5nnhnvW36++zHHxPq5c2PdwQfHfW1dRr/5TfzZKSlp2nLtCBS4SHWVle4vvRT9LKeemp7cBeKo//jj273P4p133F9+uenzvf76dFUeeih7mnvvje3//GcEHGefHS00r7ySPr27XbsIbmbMcH/xxfjBKiiIsTWbNsWg5NR46J493fPyYjjRTTdFcJN5avopp2Q/uMyb5/7Tn0ZA1L17/LiNHx8HpA8/TKd78MF0XoMHR3dVyuzZ8fyp7f37p+fY2VZvvRVdemeeGWOOnn66/n1qeumlbTtAb63Nm5v/Od1r/9qUl7vvsYf7kCExtisvL07z3xpVVTEYPdX6ly3Qrempp2JM2GOPbVugs2FDjF3L9p6ee26U57OfjYHzze211yIgvPrqutMtXtzw8qXGyU2eHHNedewY+95+e6x/881ocenXb8sW4srK9G/BySdvXZ3qU9vn7f774zeqrj9Ny5ZFYJVMCdbiKHCRulVVRf/KVVfFTHapAb777RdH3R//OGao25pmkGa2cWN0M+2xR/bWCff4MhcXxxiYVO9Z6sDfsaP7n/8cwUqvXtUDkOuvr57PqlXx0q1e7X7aael0Y8fGD9srr8RLBxHUvPJK/PiNHh2BSir9gQdGgOQewUynTnH21IoVMSZi553jx/H++933398/GduzbFkEV716xWSD994bB7PU2KC1a2PsT+ZB5pFHoptszZrqdamqijxP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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "AutoEncoder.plot_history([loss1, val_loss1], ['loss', 'val_loss'])" ] }, { "cell_type": "markdown", "metadata": { "id": "_EuT1xMJsTPG" }, "source": [ "# Validate the training results.\n", "## Training 結果を検証する" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ud7R0seR6csn" }, "outputs": [], "source": [ "selected_indices = np.random.choice(range(len(x_test)), 10)\n", "selected_images = x_test[selected_indices]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "y_rBviqm65bZ" }, "outputs": [], "source": [ "z_points = AE_work.encoder.predict(selected_images)\n", "reconst_images = AE_work.decoder.predict(z_points)\n", "\n", "txts = [ f'{p[0]:.3f}, {p[1]:.3f}' for p in z_points ]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 201 }, "executionInfo": { "elapsed": 1101, "status": "ok", "timestamp": 1637564179216, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "DlpT1bPA7KH3", "outputId": "f6259a58-52db-43a4-b417-033c682e5d27" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "AutoEncoder.showImages(selected_images, reconst_images, txts, 1.4, 1.4)" ] }, { "cell_type": "markdown", "metadata": { "id": "UcuGa1mvAd6y" }, "source": [ "# (2) Training with tf.GradientTape() function.\n", "\n", "\n", "Instead of using fit(), calculate the loss in your own train() function, find the gradients, and apply them to the variables.\n", "\n", "The train_tf() function is speeding up by declaring @tf.function the compute_loss_and_grads() function.\n", "\n", "\n", "## (2) tf.GradientTape() 関数を使った学習\n", "\n", "\n", "fit() 関数を使わずに、自分で記述した train() 関数内で loss を計算し、gradients を求めて、変数に適用する。\n", "\n", "train_tf() 関数では、lossとgradientsの計算を行う compute_loss_and_grads() 関数を @tf.function 宣言することで高速化を図っている。\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "L-s-ylxkD9O6" }, "outputs": [], "source": [ "save_path2 = '/content/drive/MyDrive/ColabRun/AE02/'" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "YpFibxw-CVzk" }, "outputs": [], "source": [ "from nw.AutoEncoder import AutoEncoder\n", "\n", "AE2 = AutoEncoder(\n", " input_dim = (28, 28, 1),\n", " encoder_conv_filters = [32, 64, 64, 64],\n", " encoder_conv_kernel_size = [3, 3, 3, 3],\n", " encoder_conv_strides = [1, 2, 2, 1],\n", " decoder_conv_t_filters = [64, 64, 32, 1],\n", " decoder_conv_t_kernel_size = [3, 3, 3, 3],\n", " decoder_conv_t_strides = [1, 2, 2, 1],\n", " z_dim = 2\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "xYyyVaOw_CeI" }, "outputs": [], "source": [ "optimizer2 = tf.keras.optimizers.Adam(learning_rate=learning_rate)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 117923, "status": "ok", "timestamp": 1637564297137, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "JmYIPWvfCd6E", "outputId": "2c1d1f30-afb3-4ee9-d75b-f0994c82a923" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1/3 1875 loss: 0.0406 val loss: 0.0481 0:00:39.580740\n", "2/3 1875 loss: 0.0391 val loss: 0.0448 0:01:18.183180\n", "3/3 1875 loss: 0.0529 val loss: 0.0432 0:01:56.549291\n" ] } ], "source": [ "# At first, train for a few epochs.\n", "# まず、少ない回数 training してみる\n", "\n", "loss2_1, vloss2_1 = AE2.train(\n", " x_train,\n", " x_train,\n", " batch_size=32,\n", " epochs = 3, \n", " shuffle=True,\n", " run_folder= save_path2,\n", " optimizer = optimizer2,\n", " save_epoch_interval=50,\n", " validation_data=(x_test, x_test)\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 5, "status": "ok", "timestamp": 1637564297137, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "ECMO7RjRDx9d", "outputId": "d4e7ad93-5757-4f1e-f1f4-bfdedd92dd52" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "# Load the parameters and the weights saved before.\n", "# 保存したパラメータと、重みを読み込む。\n", "\n", "AE2_work = AutoEncoder.load(save_path2)\n", "print(AE2_work.epoch)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 3066556, "status": "ok", "timestamp": 1637567363691, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "O6zeeIiBFEXv", "outputId": "0e2a95ce-c41d-4a3f-8291-41b32fff9f84" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4/200 1875 loss: 0.0441 val loss: 0.0430 0:00:16.042304\n", "5/200 1875 loss: 0.0425 val loss: 0.0423 0:00:31.745769\n", "6/200 1875 loss: 0.0419 val loss: 0.0420 0:00:47.550041\n", "7/200 1875 loss: 0.0415 val loss: 0.0414 0:01:03.278043\n", "8/200 1875 loss: 0.0412 val loss: 0.0411 0:01:18.886151\n", "9/200 1875 loss: 0.0409 val loss: 0.0408 0:01:34.403325\n", "10/200 1875 loss: 0.0406 val loss: 0.0404 0:01:49.879346\n", "11/200 1875 loss: 0.0404 val loss: 0.0406 0:02:05.370021\n", "12/200 1875 loss: 0.0403 val loss: 0.0406 0:02:21.087446\n", "13/200 1875 loss: 0.0401 val loss: 0.0401 0:02:36.769709\n", "14/200 1875 loss: 0.0399 val loss: 0.0401 0:02:52.391754\n", "15/200 1875 loss: 0.0398 val loss: 0.0401 0:03:07.901212\n", "16/200 1875 loss: 0.0397 val loss: 0.0400 0:03:23.392766\n", "17/200 1875 loss: 0.0396 val loss: 0.0397 0:03:38.888386\n", "18/200 1875 loss: 0.0394 val loss: 0.0396 0:03:54.470497\n", "19/200 1875 loss: 0.0393 val loss: 0.0397 0:04:10.006842\n", "20/200 1875 loss: 0.0392 val loss: 0.0396 0:04:25.572727\n", "21/200 1875 loss: 0.0391 val loss: 0.0395 0:04:41.166492\n", "22/200 1875 loss: 0.0391 val loss: 0.0395 0:04:56.777322\n", "23/200 1875 loss: 0.0390 val loss: 0.0393 0:05:12.350585\n", "24/200 1875 loss: 0.0389 val loss: 0.0394 0:05:28.061553\n", "25/200 1875 loss: 0.0388 val loss: 0.0400 0:05:43.522782\n", "26/200 1875 loss: 0.0387 val loss: 0.0391 0:05:59.371244\n", "27/200 1875 loss: 0.0387 val loss: 0.0394 0:06:15.072191\n", "28/200 1875 loss: 0.0386 val loss: 0.0394 0:06:30.590397\n", "29/200 1875 loss: 0.0385 val loss: 0.0389 0:06:46.193198\n", "30/200 1875 loss: 0.0385 val loss: 0.0393 0:07:01.744139\n", "31/200 1875 loss: 0.0385 val loss: 0.0392 0:07:17.398188\n", "32/200 1875 loss: 0.0384 val loss: 0.0391 0:07:33.097819\n", "33/200 1875 loss: 0.0383 val loss: 0.0388 0:07:48.744927\n", "34/200 1875 loss: 0.0382 val loss: 0.0388 0:08:04.346553\n", "35/200 1875 loss: 0.0382 val loss: 0.0389 0:08:19.798364\n", "36/200 1875 loss: 0.0381 val loss: 0.0390 0:08:35.371745\n", "37/200 1875 loss: 0.0381 val loss: 0.0386 0:08:51.082935\n", "38/200 1875 loss: 0.0380 val loss: 0.0388 0:09:06.822892\n", "39/200 1875 loss: 0.0380 val loss: 0.0385 0:09:22.394035\n", "40/200 1875 loss: 0.0379 val loss: 0.0389 0:09:37.953852\n", "41/200 1875 loss: 0.0379 val loss: 0.0387 0:09:53.514515\n", "42/200 1875 loss: 0.0378 val loss: 0.0387 0:10:09.035459\n", "43/200 1875 loss: 0.0378 val loss: 0.0386 0:10:24.666275\n", "44/200 1875 loss: 0.0378 val loss: 0.0388 0:10:40.257557\n", "45/200 1875 loss: 0.0377 val loss: 0.0385 0:10:55.745129\n", "46/200 1875 loss: 0.0377 val loss: 0.0388 0:11:11.432226\n", "47/200 1875 loss: 0.0376 val loss: 0.0386 0:11:27.144229\n", "48/200 1875 loss: 0.0376 val loss: 0.0390 0:11:42.676218\n", "49/200 1875 loss: 0.0375 val loss: 0.0388 0:11:58.487087\n", "50/200 1875 loss: 0.0375 val loss: 0.0383 0:12:14.850839\n", "51/200 1875 loss: 0.0375 val loss: 0.0390 0:12:30.468638\n", "52/200 1875 loss: 0.0375 val loss: 0.0388 0:12:46.049661\n", "53/200 1875 loss: 0.0374 val loss: 0.0384 0:13:01.636156\n", "54/200 1875 loss: 0.0374 val loss: 0.0383 0:13:17.325480\n", "55/200 1875 loss: 0.0374 val loss: 0.0385 0:13:32.836645\n", "56/200 1875 loss: 0.0374 val loss: 0.0388 0:13:48.441919\n", "57/200 1875 loss: 0.0373 val loss: 0.0384 0:14:03.917869\n", "58/200 1875 loss: 0.0373 val loss: 0.0388 0:14:19.634660\n", "59/200 1875 loss: 0.0372 val loss: 0.0389 0:14:35.261167\n", "60/200 1875 loss: 0.0372 val loss: 0.0384 0:14:50.896159\n", "61/200 1875 loss: 0.0372 val loss: 0.0390 0:15:06.445663\n", "62/200 1875 loss: 0.0372 val loss: 0.0381 0:15:22.134292\n", "63/200 1875 loss: 0.0372 val loss: 0.0382 0:15:37.757501\n", "64/200 1875 loss: 0.0371 val loss: 0.0384 0:15:53.316315\n", "65/200 1875 loss: 0.0371 val loss: 0.0382 0:16:08.820412\n", "66/200 1875 loss: 0.0371 val loss: 0.0385 0:16:24.565601\n", "67/200 1875 loss: 0.0370 val loss: 0.0384 0:16:40.101123\n", "68/200 1875 loss: 0.0370 val loss: 0.0383 0:16:55.609609\n", "69/200 1875 loss: 0.0370 val loss: 0.0382 0:17:11.264953\n", "70/200 1875 loss: 0.0370 val loss: 0.0383 0:17:26.949355\n", "71/200 1875 loss: 0.0370 val loss: 0.0381 0:17:42.623016\n", "72/200 1875 loss: 0.0369 val loss: 0.0381 0:17:58.321779\n", "73/200 1875 loss: 0.0369 val loss: 0.0382 0:18:13.832138\n", "74/200 1875 loss: 0.0369 val loss: 0.0381 0:18:29.598127\n", "75/200 1875 loss: 0.0369 val loss: 0.0383 0:18:45.208392\n", "76/200 1875 loss: 0.0368 val loss: 0.0385 0:19:00.743062\n", "77/200 1875 loss: 0.0368 val loss: 0.0381 0:19:16.186948\n", "78/200 1875 loss: 0.0368 val loss: 0.0381 0:19:31.760451\n", "79/200 1875 loss: 0.0368 val loss: 0.0385 0:19:47.388234\n", "80/200 1875 loss: 0.0367 val loss: 0.0383 0:20:02.935055\n", "81/200 1875 loss: 0.0367 val loss: 0.0385 0:20:18.402500\n", "82/200 1875 loss: 0.0367 val loss: 0.0381 0:20:33.940910\n", "83/200 1875 loss: 0.0367 val loss: 0.0384 0:20:49.569920\n", "84/200 1875 loss: 0.0367 val loss: 0.0385 0:21:05.242798\n", "85/200 1875 loss: 0.0366 val loss: 0.0382 0:21:20.880114\n", "86/200 1875 loss: 0.0367 val loss: 0.0381 0:21:36.641503\n", "87/200 1875 loss: 0.0366 val loss: 0.0381 0:21:52.095492\n", "88/200 1875 loss: 0.0366 val loss: 0.0379 0:22:07.601546\n", "89/200 1875 loss: 0.0366 val loss: 0.0381 0:22:23.401748\n", "90/200 1875 loss: 0.0366 val loss: 0.0387 0:22:39.066528\n", "91/200 1875 loss: 0.0366 val loss: 0.0387 0:22:54.610725\n", "92/200 1875 loss: 0.0365 val loss: 0.0385 0:23:10.169099\n", "93/200 1875 loss: 0.0365 val loss: 0.0385 0:23:25.674254\n", "94/200 1875 loss: 0.0365 val loss: 0.0381 0:23:41.366783\n", "95/200 1875 loss: 0.0365 val loss: 0.0382 0:23:56.902391\n", "96/200 1875 loss: 0.0365 val loss: 0.0382 0:24:12.496421\n", "97/200 1875 loss: 0.0365 val loss: 0.0383 0:24:28.063963\n", "98/200 1875 loss: 0.0364 val loss: 0.0384 0:24:43.599283\n", "99/200 1875 loss: 0.0365 val loss: 0.0381 0:24:59.157835\n", "100/200 1875 loss: 0.0364 val loss: 0.0379 0:25:15.526026\n", "101/200 1875 loss: 0.0364 val loss: 0.0387 0:25:31.212898\n", "102/200 1875 loss: 0.0364 val loss: 0.0383 0:25:46.802330\n", "103/200 1875 loss: 0.0364 val loss: 0.0382 0:26:02.178094\n", "104/200 1875 loss: 0.0364 val loss: 0.0382 0:26:17.746102\n", "105/200 1875 loss: 0.0363 val loss: 0.0382 0:26:33.309578\n", "106/200 1875 loss: 0.0363 val loss: 0.0384 0:26:49.121648\n", "107/200 1875 loss: 0.0363 val loss: 0.0381 0:27:04.702489\n", "108/200 1875 loss: 0.0363 val loss: 0.0382 0:27:20.170574\n", "109/200 1875 loss: 0.0363 val loss: 0.0379 0:27:35.856174\n", "110/200 1875 loss: 0.0363 val loss: 0.0381 0:27:51.299808\n", "111/200 1875 loss: 0.0362 val loss: 0.0384 0:28:06.870872\n", "112/200 1875 loss: 0.0362 val loss: 0.0381 0:28:22.438025\n", "113/200 1875 loss: 0.0362 val loss: 0.0383 0:28:37.875336\n", "114/200 1875 loss: 0.0362 val loss: 0.0385 0:28:53.328504\n", "115/200 1875 loss: 0.0362 val loss: 0.0382 0:29:08.972971\n", "116/200 1875 loss: 0.0362 val loss: 0.0379 0:29:24.502631\n", "117/200 1875 loss: 0.0362 val loss: 0.0382 0:29:39.941896\n", "118/200 1875 loss: 0.0362 val loss: 0.0381 0:29:55.477538\n", "119/200 1875 loss: 0.0362 val loss: 0.0384 0:30:11.112526\n", "120/200 1875 loss: 0.0361 val loss: 0.0381 0:30:26.374847\n", "121/200 1875 loss: 0.0361 val loss: 0.0380 0:30:41.861327\n", "122/200 1875 loss: 0.0361 val loss: 0.0383 0:30:57.370377\n", "123/200 1875 loss: 0.0361 val loss: 0.0381 0:31:12.900791\n", "124/200 1875 loss: 0.0361 val loss: 0.0380 0:31:28.312363\n", "125/200 1875 loss: 0.0361 val loss: 0.0380 0:31:43.843139\n", "126/200 1875 loss: 0.0361 val loss: 0.0385 0:31:59.553265\n", "127/200 1875 loss: 0.0361 val loss: 0.0385 0:32:14.916876\n", "128/200 1875 loss: 0.0361 val loss: 0.0381 0:32:30.487089\n", "129/200 1875 loss: 0.0360 val loss: 0.0380 0:32:45.878726\n", "130/200 1875 loss: 0.0360 val loss: 0.0382 0:33:01.336908\n", "131/200 1875 loss: 0.0360 val loss: 0.0377 0:33:16.793144\n", "132/200 1875 loss: 0.0360 val loss: 0.0383 0:33:32.367575\n", "133/200 1875 loss: 0.0360 val loss: 0.0383 0:33:47.764421\n", "134/200 1875 loss: 0.0360 val loss: 0.0381 0:34:03.307962\n", "135/200 1875 loss: 0.0360 val loss: 0.0383 0:34:18.773369\n", "136/200 1875 loss: 0.0360 val loss: 0.0380 0:34:34.307721\n", "137/200 1875 loss: 0.0360 val loss: 0.0382 0:34:49.981894\n", "138/200 1875 loss: 0.0360 val loss: 0.0384 0:35:05.470105\n", "139/200 1875 loss: 0.0359 val loss: 0.0383 0:35:20.803749\n", "140/200 1875 loss: 0.0359 val loss: 0.0379 0:35:36.185748\n", "141/200 1875 loss: 0.0359 val loss: 0.0382 0:35:51.533243\n", "142/200 1875 loss: 0.0359 val loss: 0.0380 0:36:06.931450\n", "143/200 1875 loss: 0.0359 val loss: 0.0381 0:36:22.431496\n", "144/200 1875 loss: 0.0359 val loss: 0.0381 0:36:37.869902\n", "145/200 1875 loss: 0.0359 val loss: 0.0384 0:36:53.547983\n", "146/200 1875 loss: 0.0359 val loss: 0.0383 0:37:09.217082\n", "147/200 1875 loss: 0.0359 val loss: 0.0382 0:37:24.778358\n", "148/200 1875 loss: 0.0358 val loss: 0.0379 0:37:40.239433\n", "149/200 1875 loss: 0.0359 val loss: 0.0381 0:37:55.704042\n", "150/200 1875 loss: 0.0358 val loss: 0.0381 0:38:12.101171\n", "151/200 1875 loss: 0.0358 val loss: 0.0380 0:38:27.662723\n", "152/200 1875 loss: 0.0358 val loss: 0.0379 0:38:43.202257\n", "153/200 1875 loss: 0.0358 val loss: 0.0385 0:38:58.810277\n", "154/200 1875 loss: 0.0358 val loss: 0.0380 0:39:14.231378\n", "155/200 1875 loss: 0.0358 val loss: 0.0381 0:39:29.652152\n", "156/200 1875 loss: 0.0358 val loss: 0.0379 0:39:45.085332\n", "157/200 1875 loss: 0.0358 val loss: 0.0380 0:40:00.572288\n", "158/200 1875 loss: 0.0358 val loss: 0.0381 0:40:16.141797\n", "159/200 1875 loss: 0.0357 val loss: 0.0381 0:40:31.634852\n", "160/200 1875 loss: 0.0357 val loss: 0.0381 0:40:47.056919\n", "161/200 1875 loss: 0.0357 val loss: 0.0383 0:41:02.554172\n", "162/200 1875 loss: 0.0358 val loss: 0.0380 0:41:18.121788\n", "163/200 1875 loss: 0.0357 val loss: 0.0379 0:41:33.599777\n", "164/200 1875 loss: 0.0357 val loss: 0.0385 0:41:49.118886\n", "165/200 1875 loss: 0.0357 val loss: 0.0378 0:42:04.560262\n", "166/200 1875 loss: 0.0357 val loss: 0.0381 0:42:20.288644\n", "167/200 1875 loss: 0.0357 val loss: 0.0381 0:42:35.660883\n", "168/200 1875 loss: 0.0357 val loss: 0.0383 0:42:51.115505\n", "169/200 1875 loss: 0.0357 val loss: 0.0380 0:43:06.762465\n", "170/200 1875 loss: 0.0356 val loss: 0.0383 0:43:22.257651\n", "171/200 1875 loss: 0.0356 val loss: 0.0383 0:43:37.670103\n", "172/200 1875 loss: 0.0357 val loss: 0.0380 0:43:53.056826\n", "173/200 1875 loss: 0.0357 val loss: 0.0381 0:44:08.524716\n", "174/200 1875 loss: 0.0356 val loss: 0.0381 0:44:24.027149\n", "175/200 1875 loss: 0.0356 val loss: 0.0379 0:44:39.346028\n", "176/200 1875 loss: 0.0356 val loss: 0.0381 0:44:54.734347\n", "177/200 1875 loss: 0.0356 val loss: 0.0384 0:45:10.213102\n", "178/200 1875 loss: 0.0356 val loss: 0.0379 0:45:25.773002\n", "179/200 1875 loss: 0.0356 val loss: 0.0382 0:45:41.326772\n", "180/200 1875 loss: 0.0356 val loss: 0.0380 0:45:56.666135\n", "181/200 1875 loss: 0.0356 val loss: 0.0382 0:46:11.978621\n", "182/200 1875 loss: 0.0356 val loss: 0.0384 0:46:27.301725\n", "183/200 1875 loss: 0.0356 val loss: 0.0381 0:46:42.745618\n", "184/200 1875 loss: 0.0356 val loss: 0.0380 0:46:58.128569\n", "185/200 1875 loss: 0.0355 val loss: 0.0380 0:47:13.711115\n", "186/200 1875 loss: 0.0355 val loss: 0.0379 0:47:29.307111\n", "187/200 1875 loss: 0.0356 val loss: 0.0382 0:47:44.756529\n", "188/200 1875 loss: 0.0355 val loss: 0.0381 0:48:00.214915\n", "189/200 1875 loss: 0.0355 val loss: 0.0383 0:48:15.668996\n", "190/200 1875 loss: 0.0355 val loss: 0.0381 0:48:31.229319\n", "191/200 1875 loss: 0.0355 val loss: 0.0382 0:48:46.675617\n", "192/200 1875 loss: 0.0355 val loss: 0.0380 0:49:02.254153\n", "193/200 1875 loss: 0.0355 val loss: 0.0382 0:49:17.595616\n", "194/200 1875 loss: 0.0355 val loss: 0.0380 0:49:32.985089\n", "195/200 1875 loss: 0.0355 val loss: 0.0381 0:49:48.470253\n", "196/200 1875 loss: 0.0354 val loss: 0.0382 0:50:03.960498\n", "197/200 1875 loss: 0.0355 val loss: 0.0383 0:50:19.343814\n", "198/200 1875 loss: 0.0355 val loss: 0.0382 0:50:34.860656\n", "199/200 1875 loss: 0.0355 val loss: 0.0381 0:50:50.302304\n", "200/200 1875 loss: 0.0355 val loss: 0.0380 0:51:06.366335\n" ] } ], "source": [ "# Additional Training.\n", "# 追加でtrainingする。\n", "\n", "# Compiles the part for loss and gradients fo train_tf() function into a graph of Tensorflow 2, so it is a little over twice as fast as train(). However, it is still nearly twice as slow as fit().\n", "# train_tf() は loss と gradients を求める部分を tf のgraphにコンパイルしているので、train()よりも2倍強高速になっている。しかし、それでもfit()よりは2倍近く遅い。\n", "\n", "loss2_2, vloss2_2 = AE2_work.train_tf(\n", " x_train,\n", " x_train,\n", " batch_size=32,\n", " epochs = MAX_EPOCHS, \n", " shuffle=True,\n", " run_folder= save_path2,\n", " optimizer = optimizer2,\n", " save_epoch_interval=50,\n", " validation_data=(x_test, x_test)\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 279 }, "executionInfo": { "elapsed": 12, "status": "ok", "timestamp": 1637567363692, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "ez2T78hkFQRG", "outputId": "1818b76a-2336-491f-da40-da1d8724bd05" }, "outputs": [ { "data": { "image/png": "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BRcREWkCBg0axGWXXbYmuDz++OO8+OKLXHLJJbRr14558+axzz77cMwxx5Bcdicrd9xxB2bGuHHj+OyzzzjssMP4/PPPueuuu7j00ks59dRTWbVqFeXl5Tz33HN069aNZ599FoDFixfXS90UXOpCwUVEROqoppaRhjJgwADmzp3LV199RWlpKR06dGCrrbbiJz/5CW+++SZ5eXnMnDmTOXPmsNVWW2W93bfeeouLL74YgJ122oltt92Wzz//nH333Zfrr7+ekpISTjjhBHr37k2/fv244ooruOqqqzjqqKPYf//966VuGuNSF7pWkYiINBEnnXQSTz75JCNGjGDQoEE8/PDDlJaWMmbMGMaOHUuXLl1YsWJFvTzXD37wA0aOHEnLli058sgjefXVV9lhhx344IMP6NevH7/85S+59tpr6+W51OJSF2pxERGRJmLQoEH8+Mc/Zt68ebzxxhs8/vjjbLnllhQWFvLaa68xbdq0Om9z//335+GHH+bggw/m888/Z/r06ey4445MmTKFXr16cckllzB9+nQ+/vhjdtppJzp27Mhpp51GUVER99xzT73US8GlLhRcRESkidhll134+uuv6d69O127duXUU0/l6KOPpl+/fgwcOJCddtqpztu84IILOP/88+nXrx8FBQXcf//9NG/enMcff5yHHnqIwsJCttpqK37xi18watQofvrTn5KXl0dhYSF33nlnvdTL3L1eNpRLAwcO9NGjRzf8E511Fvztb7D77jBmTMM/n4iINEmffvopO++8c66L0SRU91qZ2Rh3H1jd+hrjUhdqcREREckpdRXVhU5AJyIim6hx48Zx+umnV5rXvHlz3nvvvRyVqHoKLnWhFhcREcmSu9fpHCm51q9fP8bW95nyarE+w1XUVVQXCi4iIpKFFi1aMH/+/PXaMW8u3J358+fTokWLOj0uqxYXMzsc+COQD9zj7r+vsrw58CCwBzAfGOTuU82sGPgUmJis+q67n5c8Zg/gfqAl8Bxwqbu7mXUERgDFwFTgZHdfWKdaNRQFFxERyUKPHj0oKSmhtLQ010XZqLVo0YIePXrU6TG1BhczywfuAA4FSoBRZjbS3T/JWO1sYKG7b29mg4EbgdQFCb5w9/7VbPpO4MfAe0RwORx4HhgKvOLuvzezocn0VXWqVUPRGBcREclCYWEhPXv2zHUxNknZ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I2zffx+OPhqGD49Q8+Mfr7lUwe23x93rr48DljLtu2/8veEG2HHHuH/hhRFqrr8eZs+OA5wGDIihPh9+CMceCwceCGPHNl41RUREQMElOzvuCK1a5boUNdtzT3jkkTij3I9+BH//ewxaOfpo8h57hN5bfV3twy6+GK65JsJJSrt2Mf3003GkUqo15sEHY4jNnXfGuWQOPjgOr65ORUU0Bj3ySAPUdR1yde2l//1v4+pFFBHZlCm4ZOPqq+Hf/851KbLTqxfccUckil/8IppITj01Lk193nnwySeVVt9tN/jNb9ZuibnkEmjTJs7zMgtd8aMAACAASURBVGxYujWmsDA28/bbsbM+6aTKh1yvWgX33w+77gr/93/x1B980KA1BmIwcffucOKJsLTKeZqXLo1y1NclEzK9/DLstx/84x/1v20REVmbgks2unSJ44ibki23jMEq06fDf/8bhxbdf3+cse5b34I//Qnmzl3nwzt1iu6j446LYTNVbbcd/O1vMGoUnHkm3H13BJyePWM6Lw/uuQc6doRf/jIe4x7nkclspXnhhWgY+t//6lY998qB6Y9/jOo8/TR8+9uVnyPV8nPkkfDGG3V7npSKihjAvMsu0aCV8vDD8beu5RcRkfXk7k3+tscee7hkYe5c99//3n3XXd3BvbDQfdAg9+efd1+4cL02+bOfxaZSt0MOcX/hBfeKilh+000x/8033X/967i/++7uZWXuq1e777BDzGvZMopRnYUL3R96yH3p0piuqHD//vfde/RwLylxX7TIvX179xNOiOdu39594MD0408/3b1jR/c+fdxbt3Z/662a6zR5svuHH6anly5133PPKGfbtu55ee5ffum+fLl7u3Yxf9991+vlExGRagCjfR37/JyHjvq4Kbish/Hj3S+7zL1Dh3Tq6N3bfdgw91mz6rSp6dMjQFSXfb75xn2rrdy33DKeYq+94u8dd7j/5S9x/69/de/fP3LUqafG/Jdfdn/ttchZqSIecYT7qlXud90V03l5EVB+9auYHjMmnvP//b+YHjs2AlKnTu6nnRbV2n579+Ji92XLqq/LmDHuRUURUObOjXk335wu57Rp7vn57ldc4f6Pf8T8XXd1b97cfeXKOr1sm5wxY9yvusr97LPdzz23zh+jrDz9tPu227rPmVP/2xaRjYeCi6zbsmXuL77ofv31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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "loss2 = np.concatenate([loss2_1, loss2_2], axis=0)\n", "val_loss2 = np.concatenate([vloss2_1, vloss2_2], axis=0)\n", "\n", "AutoEncoder.plot_history([loss2, val_loss2], ['loss', 'val_loss'])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ohAgxB-G7cjT" }, "outputs": [], "source": [ "z_points2 = AE2_work.encoder.predict(selected_images)\n", "reconst_images2 = AE2_work.decoder.predict(z_points2)\n", "\n", "txts2 = [ f'{p[0]:.3f}, {p[1]:.3f}' for p in z_points2 ]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 201 }, "executionInfo": { "elapsed": 717, "status": "ok", "timestamp": 1637567364820, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "cmAIdIcvTrZG", "outputId": "5a8aebc0-b7e1-4c1e-8b72-185403303277" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "AutoEncoder.showImages(selected_images, reconst_images2, txts2, 1.4, 1.4)" ] }, { "cell_type": "markdown", "metadata": { "id": "lETlDfucaSlA" }, "source": [ "# (3) Trainig with tf.GradientTape() function and Learning rate decay\n", "\n", "Calculate the loss and gradients with the tf.GradientTape() function, and apply the gradients to the variables. \n", "In addition, perform Learning rate decay in the optimizer.\n", "\n", "[Caution] Note that if you call the save_image() function in the training, encoder.predict() and decoder.predict() will work and the execution will be slow.\n", "\n", "## (3) tf.GradientTape() 関数と学習率減衰を使った学習\n", "\n", "tf.GradientTape() 関数を使って loss と gradients を計算して、gradients を変数に適用する。\n", "さらに、optimizer において Learning rate decay を行う。\n", "\n", "(注意) trainingの途中で save_images()関数を呼び出すと、 encoder.predict()decoder.predict() が動作して、実行が非常に遅くなるので注意すること。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "TYuLK26XIUYl" }, "outputs": [], "source": [ "save_path3 = '/content/drive/MyDrive/ColabRun/AE03/'" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "5_oyibFQbiBj" }, "outputs": [], "source": [ "from nw.AutoEncoder import AutoEncoder\n", "\n", "AE3 = AutoEncoder(\n", " input_dim = (28, 28, 1),\n", " encoder_conv_filters = [32, 64, 64, 64],\n", " encoder_conv_kernel_size = [3, 3, 3, 3],\n", " encoder_conv_strides = [1, 2, 2, 1],\n", " decoder_conv_t_filters = [64, 64, 32, 1],\n", " decoder_conv_t_kernel_size = [3, 3, 3, 3],\n", " decoder_conv_t_strides = [1, 2, 2, 1],\n", " z_dim = 2\n", ")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "MMkuVG5TCDzr" }, "outputs": [], "source": [ "# initial_learning_rate * decay_rate ^ (step // decay_steps)\n", "\n", "lr_schedule = tf.keras.optimizers.schedules.ExponentialDecay(\n", " initial_learning_rate = learning_rate,\n", " decay_steps = 1000,\n", " decay_rate=0.96\n", ")\n", "\n", "optimizer3 = tf.keras.optimizers.Adam(learning_rate=lr_schedule)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 117330, "status": "ok", "timestamp": 1637567482503, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "YNKUQta0bm9E", "outputId": "29c08517-aed3-4a87-82e2-b435647313d4" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1/3 1875 loss: 0.0493 val loss: 0.0491 0:00:38.910057\n", "2/3 1875 loss: 0.0451 val loss: 0.0451 0:01:17.719193\n", "3/3 1875 loss: 0.0463 val loss: 0.0439 0:01:56.448946\n" ] } ], "source": [ "# At first, train for a few epochs.\n", "# まず、少ない回数 training してみる\n", "\n", "loss3_1, vloss3_1 = AE3.train(\n", " x_train,\n", " x_train,\n", " batch_size=32,\n", " epochs = 3, \n", " shuffle=True,\n", " run_folder=save_path3,\n", " optimizer = optimizer3,\n", " save_epoch_interval=50,\n", " validation_data=(x_test, x_test)\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 5, "status": "ok", "timestamp": 1637567482504, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "cUDPmvBqepKF", "outputId": "bb83cce5-bc96-4024-8a26-d6112eb0ff67" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "# Load the parameters and the weights saved before.\n", "# 保存したパラメータと、重みを読み込む。\n", "\n", "AE3_work = AutoEncoder.load(save_path3)\n", "print(AE3_work.epoch)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 3167903, "status": "ok", "timestamp": 1637570650405, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "UuZRByoze7hn", "outputId": "ff1a83ed-4193-42f6-d4f4-049b99a99d11" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4/200 1875 loss: 0.0441 val loss: 0.0432 0:00:16.470529\n", "5/200 1875 loss: 0.0425 val loss: 0.0424 0:00:32.578862\n", "6/200 1875 loss: 0.0418 val loss: 0.0416 0:00:48.702078\n", "7/200 1875 loss: 0.0413 val loss: 0.0411 0:01:04.721034\n", "8/200 1875 loss: 0.0410 val loss: 0.0408 0:01:20.828852\n", "9/200 1875 loss: 0.0406 val loss: 0.0408 0:01:36.866276\n", "10/200 1875 loss: 0.0403 val loss: 0.0405 0:01:52.938620\n", "11/200 1875 loss: 0.0401 val loss: 0.0403 0:02:08.915218\n", "12/200 1875 loss: 0.0398 val loss: 0.0403 0:02:24.993334\n", "13/200 1875 loss: 0.0397 val loss: 0.0402 0:02:40.943671\n", "14/200 1875 loss: 0.0395 val loss: 0.0400 0:02:57.026531\n", "15/200 1875 loss: 0.0393 val loss: 0.0396 0:03:13.174460\n", "16/200 1875 loss: 0.0392 val loss: 0.0397 0:03:29.264352\n", "17/200 1875 loss: 0.0391 val loss: 0.0397 0:03:45.378318\n", "18/200 1875 loss: 0.0389 val loss: 0.0395 0:04:01.329874\n", "19/200 1875 loss: 0.0388 val loss: 0.0393 0:04:17.245191\n", "20/200 1875 loss: 0.0387 val loss: 0.0394 0:04:33.400665\n", "21/200 1875 loss: 0.0386 val loss: 0.0392 0:04:49.561788\n", "22/200 1875 loss: 0.0385 val loss: 0.0391 0:05:05.574827\n", "23/200 1875 loss: 0.0384 val loss: 0.0392 0:05:21.680731\n", "24/200 1875 loss: 0.0384 val loss: 0.0390 0:05:37.694906\n", "25/200 1875 loss: 0.0383 val loss: 0.0391 0:05:53.796563\n", "26/200 1875 loss: 0.0382 val loss: 0.0390 0:06:09.769820\n", "27/200 1875 loss: 0.0382 val loss: 0.0388 0:06:25.773891\n", "28/200 1875 loss: 0.0381 val loss: 0.0389 0:06:41.814141\n", "29/200 1875 loss: 0.0380 val loss: 0.0389 0:06:57.785303\n", "30/200 1875 loss: 0.0380 val loss: 0.0389 0:07:13.735852\n", "31/200 1875 loss: 0.0379 val loss: 0.0388 0:07:29.669668\n", "32/200 1875 loss: 0.0379 val loss: 0.0388 0:07:45.531500\n", "33/200 1875 loss: 0.0379 val loss: 0.0388 0:08:01.576522\n", "34/200 1875 loss: 0.0378 val loss: 0.0387 0:08:17.534843\n", "35/200 1875 loss: 0.0378 val loss: 0.0387 0:08:33.530811\n", "36/200 1875 loss: 0.0378 val loss: 0.0387 0:08:49.452516\n", "37/200 1875 loss: 0.0377 val loss: 0.0386 0:09:05.483624\n", "38/200 1875 loss: 0.0377 val loss: 0.0387 0:09:21.607403\n", "39/200 1875 loss: 0.0377 val loss: 0.0386 0:09:37.595950\n", "40/200 1875 loss: 0.0376 val loss: 0.0386 0:09:53.711715\n", "41/200 1875 loss: 0.0376 val loss: 0.0386 0:10:09.573170\n", "42/200 1875 loss: 0.0376 val loss: 0.0386 0:10:25.672371\n", "43/200 1875 loss: 0.0376 val loss: 0.0386 0:10:41.658941\n", "44/200 1875 loss: 0.0376 val loss: 0.0386 0:10:57.703071\n", "45/200 1875 loss: 0.0375 val loss: 0.0386 0:11:13.708545\n", "46/200 1875 loss: 0.0375 val loss: 0.0386 0:11:29.633509\n", "47/200 1875 loss: 0.0375 val loss: 0.0386 0:11:45.618107\n", "48/200 1875 loss: 0.0375 val loss: 0.0386 0:12:01.542282\n", "49/200 1875 loss: 0.0375 val loss: 0.0386 0:12:17.577870\n", "50/200 1875 loss: 0.0375 val loss: 0.0386 0:12:34.355703\n", "51/200 1875 loss: 0.0375 val loss: 0.0386 0:12:50.369939\n", "52/200 1875 loss: 0.0374 val loss: 0.0385 0:13:06.322242\n", "53/200 1875 loss: 0.0374 val loss: 0.0385 0:13:22.294449\n", "54/200 1875 loss: 0.0374 val loss: 0.0386 0:13:38.360678\n", "55/200 1875 loss: 0.0374 val loss: 0.0385 0:13:54.381169\n", "56/200 1875 loss: 0.0374 val loss: 0.0385 0:14:10.436163\n", "57/200 1875 loss: 0.0374 val loss: 0.0385 0:14:26.374065\n", "58/200 1875 loss: 0.0374 val loss: 0.0385 0:14:42.461288\n", "59/200 1875 loss: 0.0374 val loss: 0.0385 0:14:58.804114\n", "60/200 1875 loss: 0.0374 val loss: 0.0385 0:15:14.948368\n", "61/200 1875 loss: 0.0374 val loss: 0.0385 0:15:31.003709\n", "62/200 1875 loss: 0.0374 val loss: 0.0385 0:15:47.036744\n", "63/200 1875 loss: 0.0374 val loss: 0.0385 0:16:02.927857\n", "64/200 1875 loss: 0.0374 val loss: 0.0385 0:16:19.033550\n", "65/200 1875 loss: 0.0374 val loss: 0.0385 0:16:35.146949\n", "66/200 1875 loss: 0.0374 val loss: 0.0385 0:16:51.198622\n", "67/200 1875 loss: 0.0374 val loss: 0.0385 0:17:07.332641\n", "68/200 1875 loss: 0.0374 val loss: 0.0385 0:17:23.460586\n", "69/200 1875 loss: 0.0373 val loss: 0.0385 0:17:39.446418\n", "70/200 1875 loss: 0.0373 val loss: 0.0385 0:17:55.528039\n", "71/200 1875 loss: 0.0373 val loss: 0.0385 0:18:11.502721\n", "72/200 1875 loss: 0.0373 val loss: 0.0385 0:18:27.473277\n", "73/200 1875 loss: 0.0373 val loss: 0.0385 0:18:43.449839\n", "74/200 1875 loss: 0.0373 val loss: 0.0385 0:18:59.486046\n", "75/200 1875 loss: 0.0373 val loss: 0.0385 0:19:15.552210\n", "76/200 1875 loss: 0.0373 val loss: 0.0385 0:19:31.626925\n", "77/200 1875 loss: 0.0373 val loss: 0.0385 0:19:47.513213\n", "78/200 1875 loss: 0.0373 val loss: 0.0385 0:20:03.722407\n", "79/200 1875 loss: 0.0373 val loss: 0.0385 0:20:19.804345\n", "80/200 1875 loss: 0.0373 val loss: 0.0385 0:20:35.791387\n", "81/200 1875 loss: 0.0373 val loss: 0.0385 0:20:51.787138\n", "82/200 1875 loss: 0.0373 val loss: 0.0385 0:21:07.730577\n", "83/200 1875 loss: 0.0373 val loss: 0.0385 0:21:23.787720\n", "84/200 1875 loss: 0.0373 val loss: 0.0385 0:21:39.687327\n", "85/200 1875 loss: 0.0373 val loss: 0.0385 0:21:55.584867\n", "86/200 1875 loss: 0.0373 val loss: 0.0385 0:22:11.523757\n", "87/200 1875 loss: 0.0373 val loss: 0.0385 0:22:27.390298\n", "88/200 1875 loss: 0.0373 val loss: 0.0385 0:22:43.472842\n", "89/200 1875 loss: 0.0373 val loss: 0.0385 0:22:59.672602\n", "90/200 1875 loss: 0.0373 val loss: 0.0385 0:23:15.707643\n", "91/200 1875 loss: 0.0373 val loss: 0.0385 0:23:31.828762\n", "92/200 1875 loss: 0.0373 val loss: 0.0385 0:23:47.825785\n", "93/200 1875 loss: 0.0373 val loss: 0.0385 0:24:03.841613\n", "94/200 1875 loss: 0.0373 val loss: 0.0385 0:24:19.741862\n", "95/200 1875 loss: 0.0373 val loss: 0.0385 0:24:35.758435\n", "96/200 1875 loss: 0.0373 val loss: 0.0385 0:24:51.756826\n", "97/200 1875 loss: 0.0373 val loss: 0.0385 0:25:07.796537\n", "98/200 1875 loss: 0.0373 val loss: 0.0385 0:25:24.006386\n", "99/200 1875 loss: 0.0373 val loss: 0.0385 0:25:39.953159\n", "100/200 1875 loss: 0.0373 val loss: 0.0385 0:25:56.680088\n", "101/200 1875 loss: 0.0373 val loss: 0.0385 0:26:12.840496\n", "102/200 1875 loss: 0.0373 val loss: 0.0385 0:26:28.849194\n", "103/200 1875 loss: 0.0373 val loss: 0.0385 0:26:44.841663\n", "104/200 1875 loss: 0.0373 val loss: 0.0385 0:27:00.859847\n", "105/200 1875 loss: 0.0373 val loss: 0.0385 0:27:17.004825\n", "106/200 1875 loss: 0.0373 val loss: 0.0385 0:27:33.131367\n", "107/200 1875 loss: 0.0373 val loss: 0.0385 0:27:49.215559\n", "108/200 1875 loss: 0.0373 val loss: 0.0385 0:28:05.210165\n", "109/200 1875 loss: 0.0373 val loss: 0.0385 0:28:21.219173\n", "110/200 1875 loss: 0.0373 val loss: 0.0385 0:28:37.222607\n", "111/200 1875 loss: 0.0373 val loss: 0.0385 0:28:53.464457\n", "112/200 1875 loss: 0.0373 val loss: 0.0385 0:29:09.544785\n", "113/200 1875 loss: 0.0373 val loss: 0.0385 0:29:25.686480\n", "114/200 1875 loss: 0.0373 val loss: 0.0385 0:29:41.597519\n", "115/200 1875 loss: 0.0373 val loss: 0.0385 0:29:57.662729\n", "116/200 1875 loss: 0.0373 val loss: 0.0385 0:30:13.863950\n", "117/200 1875 loss: 0.0373 val loss: 0.0385 0:30:30.316802\n", "118/200 1875 loss: 0.0373 val loss: 0.0385 0:30:46.468128\n", "119/200 1875 loss: 0.0373 val loss: 0.0385 0:31:02.499419\n", "120/200 1875 loss: 0.0373 val loss: 0.0385 0:31:18.614042\n", "121/200 1875 loss: 0.0373 val loss: 0.0385 0:31:35.006121\n", "122/200 1875 loss: 0.0373 val loss: 0.0385 0:31:51.303524\n", "123/200 1875 loss: 0.0373 val loss: 0.0385 0:32:07.364468\n", "124/200 1875 loss: 0.0373 val loss: 0.0385 0:32:23.438019\n", "125/200 1875 loss: 0.0373 val loss: 0.0385 0:32:39.503072\n", "126/200 1875 loss: 0.0373 val loss: 0.0385 0:32:55.600306\n", "127/200 1875 loss: 0.0373 val loss: 0.0385 0:33:11.714923\n", "128/200 1875 loss: 0.0373 val loss: 0.0385 0:33:27.757243\n", "129/200 1875 loss: 0.0373 val loss: 0.0385 0:33:43.846899\n", "130/200 1875 loss: 0.0373 val loss: 0.0385 0:33:59.986440\n", "131/200 1875 loss: 0.0373 val loss: 0.0385 0:34:16.036559\n", "132/200 1875 loss: 0.0373 val loss: 0.0385 0:34:32.108351\n", "133/200 1875 loss: 0.0373 val loss: 0.0385 0:34:48.126711\n", "134/200 1875 loss: 0.0373 val loss: 0.0385 0:35:04.243871\n", "135/200 1875 loss: 0.0373 val loss: 0.0385 0:35:20.342651\n", "136/200 1875 loss: 0.0373 val loss: 0.0385 0:35:36.834930\n", "137/200 1875 loss: 0.0373 val loss: 0.0385 0:35:53.240132\n", "138/200 1875 loss: 0.0373 val loss: 0.0385 0:36:09.494644\n", "139/200 1875 loss: 0.0373 val loss: 0.0385 0:36:25.711864\n", "140/200 1875 loss: 0.0373 val loss: 0.0385 0:36:41.715972\n", "141/200 1875 loss: 0.0373 val loss: 0.0385 0:36:57.798700\n", "142/200 1875 loss: 0.0373 val loss: 0.0385 0:37:14.012655\n", "143/200 1875 loss: 0.0373 val loss: 0.0385 0:37:29.964565\n", "144/200 1875 loss: 0.0373 val loss: 0.0385 0:37:45.947853\n", "145/200 1875 loss: 0.0373 val loss: 0.0385 0:38:01.922393\n", "146/200 1875 loss: 0.0373 val loss: 0.0385 0:38:18.113317\n", "147/200 1875 loss: 0.0373 val loss: 0.0385 0:38:34.302843\n", "148/200 1875 loss: 0.0373 val loss: 0.0385 0:38:50.460746\n", "149/200 1875 loss: 0.0373 val loss: 0.0385 0:39:06.514157\n", "150/200 1875 loss: 0.0373 val loss: 0.0385 0:39:23.229584\n", "151/200 1875 loss: 0.0373 val loss: 0.0385 0:39:39.470055\n", "152/200 1875 loss: 0.0373 val loss: 0.0385 0:39:55.751577\n", "153/200 1875 loss: 0.0373 val loss: 0.0385 0:40:12.016928\n", "154/200 1875 loss: 0.0373 val loss: 0.0385 0:40:28.212051\n", "155/200 1875 loss: 0.0373 val loss: 0.0385 0:40:44.578358\n", "156/200 1875 loss: 0.0373 val loss: 0.0385 0:41:00.970150\n", "157/200 1875 loss: 0.0373 val loss: 0.0385 0:41:17.138623\n", "158/200 1875 loss: 0.0373 val loss: 0.0385 0:41:33.213235\n", "159/200 1875 loss: 0.0373 val loss: 0.0385 0:41:49.222445\n", "160/200 1875 loss: 0.0373 val loss: 0.0385 0:42:05.256580\n", "161/200 1875 loss: 0.0373 val loss: 0.0385 0:42:21.305456\n", "162/200 1875 loss: 0.0373 val loss: 0.0385 0:42:37.293515\n", "163/200 1875 loss: 0.0373 val loss: 0.0385 0:42:53.218787\n", "164/200 1875 loss: 0.0373 val loss: 0.0385 0:43:09.221011\n", "165/200 1875 loss: 0.0373 val loss: 0.0385 0:43:25.241022\n", "166/200 1875 loss: 0.0373 val loss: 0.0385 0:43:41.364001\n", "167/200 1875 loss: 0.0373 val loss: 0.0385 0:43:57.468188\n", "168/200 1875 loss: 0.0373 val loss: 0.0385 0:44:13.478234\n", "169/200 1875 loss: 0.0373 val loss: 0.0385 0:44:29.480388\n", "170/200 1875 loss: 0.0373 val loss: 0.0385 0:44:45.507111\n", "171/200 1875 loss: 0.0373 val loss: 0.0385 0:45:01.481223\n", "172/200 1875 loss: 0.0373 val loss: 0.0385 0:45:17.528489\n", "173/200 1875 loss: 0.0373 val loss: 0.0385 0:45:33.518117\n", "174/200 1875 loss: 0.0373 val loss: 0.0385 0:45:49.637809\n", "175/200 1875 loss: 0.0373 val loss: 0.0385 0:46:05.890984\n", "176/200 1875 loss: 0.0373 val loss: 0.0385 0:46:21.956460\n", "177/200 1875 loss: 0.0373 val loss: 0.0385 0:46:38.062078\n", "178/200 1875 loss: 0.0373 val loss: 0.0385 0:46:54.053728\n", "179/200 1875 loss: 0.0373 val loss: 0.0385 0:47:09.917701\n", "180/200 1875 loss: 0.0373 val loss: 0.0385 0:47:25.930845\n", "181/200 1875 loss: 0.0373 val loss: 0.0385 0:47:41.949047\n", "182/200 1875 loss: 0.0373 val loss: 0.0385 0:47:57.975498\n", "183/200 1875 loss: 0.0373 val loss: 0.0385 0:48:13.821878\n", "184/200 1875 loss: 0.0373 val loss: 0.0385 0:48:29.675598\n", "185/200 1875 loss: 0.0373 val loss: 0.0385 0:48:45.563435\n", "186/200 1875 loss: 0.0373 val loss: 0.0385 0:49:01.501470\n", "187/200 1875 loss: 0.0373 val loss: 0.0385 0:49:17.551920\n", "188/200 1875 loss: 0.0373 val loss: 0.0385 0:49:33.465461\n", "189/200 1875 loss: 0.0373 val loss: 0.0385 0:49:49.437168\n", "190/200 1875 loss: 0.0373 val loss: 0.0385 0:50:05.438445\n", "191/200 1875 loss: 0.0373 val loss: 0.0385 0:50:21.633043\n", "192/200 1875 loss: 0.0373 val loss: 0.0385 0:50:37.783884\n", "193/200 1875 loss: 0.0373 val loss: 0.0385 0:50:53.888186\n", "194/200 1875 loss: 0.0373 val loss: 0.0385 0:51:10.185000\n", "195/200 1875 loss: 0.0373 val loss: 0.0385 0:51:26.449233\n", "196/200 1875 loss: 0.0373 val loss: 0.0385 0:51:42.700071\n", "197/200 1875 loss: 0.0373 val loss: 0.0385 0:51:58.913375\n", "198/200 1875 loss: 0.0373 val loss: 0.0385 0:52:15.079322\n", "199/200 1875 loss: 0.0373 val loss: 0.0385 0:52:30.994392\n", "200/200 1875 loss: 0.0373 val loss: 0.0385 0:52:47.570349\n" ] } ], "source": [ "# Additional Training.\n", "# 追加でtrainingする。\n", "\n", "# Compiles the part for loss and gradients fo train_tf() function into a graph of Tensorflow 2, so it is a little over twice as fast as train(). However, it is still nearly twice as slow as fit().\n", "# train_tf() は loss と gradients を求める部分を tf のgraphにコンパイルしているので、train()よりも2倍強高速になっている。しかし、それでもfit()よりは2倍近く遅い。\n", "\n", "loss3_2, vloss3_2 = AE3_work.train_tf(\n", " x_train,\n", " x_train,\n", " batch_size=32,\n", " epochs = MAX_EPOCHS, \n", " shuffle=True,\n", " run_folder= save_path3,\n", " optimizer = optimizer3,\n", " save_epoch_interval=50,\n", " validation_data=(x_test, x_test)\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 16, "status": "ok", "timestamp": 1637570650405, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "XLDhBSeefgX_", "outputId": "c7b046cc-9b3c-4098-e586-2295fd4bea23" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "loss3 = np.concatenate([loss3_1, loss3_2], axis=0)\n", "val_loss3 = np.concatenate([vloss3_1, vloss3_2], axis=0)\n", "\n", "AutoEncoder.plot_history([loss3, val_loss3], ['loss', 'val_loss'])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 455, "status": "ok", "timestamp": 1637570650853, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "4GDVW36nfz-s", "outputId": "772d5ddb-222f-4171-937d-c2add7992735" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:5 out of the last 5 calls to .predict_function at 0x7f7c0c6eae60> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.\n", "WARNING:tensorflow:6 out of the last 6 calls to .predict_function at 0x7f7c0c6afa70> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.\n" ] } ], "source": [ "z_points3 = AE3_work.encoder.predict(selected_images)\n", "reconst_images3 = AE3_work.decoder.predict(z_points3)\n", "\n", "txts3 = [ f'{p[0]:.3f}, {p[1]:.3f}' for p in z_points3 ]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 201 }, "executionInfo": { "elapsed": 832, "status": "ok", "timestamp": 1637570651684, "user": { "displayName": "Yoshihisa Nitta", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GgJLeg9AmjfexROvC3P0wzJdd5AOGY_VOu-nxnh=s64", "userId": "15888006800030996813" }, "user_tz": -540 }, "id": "ESA7t1gFZMBu", "outputId": "ec610d24-da80-4a52-fce3-41ea28128d90" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "AutoEncoder.showImages(selected_images, reconst_images3, txts3, 1.4, 1.4)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "IcENkni_Gvfr" }, "outputs": [], "source": [] } ], "metadata": { "accelerator": "GPU", "colab": { "authorship_tag": "ABX9TyNuJbzzhhJoI0fZx6MNMqiX", "collapsed_sections": [], "name": "AE_MNIST_Train.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3", "language": "python", "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.7.9" } }, "nbformat": 4, "nbformat_minor": 1 }