From 93120b8ec653935cdc43fb2d2c414f455598e776 Mon Sep 17 00:00:00 2001
From: Mirko Birbaumer <mirko.birbaumer@hslu.ch>
Date: Thu, 31 Mar 2022 09:43:26 +0000
Subject: [PATCH] adapted to tensorflow 2.7

---
 ...k Block 6 - RNN and Image Captioning.ipynb | 1140 ++++++++---------
 1 file changed, 552 insertions(+), 588 deletions(-)

diff --git a/notebooks/Block_6/Jupyter Notebook Block 6 - RNN and Image Captioning.ipynb b/notebooks/Block_6/Jupyter Notebook Block 6 - RNN and Image Captioning.ipynb
index 62602c8..46de905 100644
--- a/notebooks/Block_6/Jupyter Notebook Block 6 - RNN and Image Captioning.ipynb	
+++ b/notebooks/Block_6/Jupyter Notebook Block 6 - RNN and Image Captioning.ipynb	
@@ -20,7 +20,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [
     {
@@ -29,6 +29,7 @@
      "text": [
       "Downloading data from http://www.gutenberg.org/files/21000/21000-8.txt\n",
       "229376/227569 [==============================] - 0s 1us/step\n",
+      "237568/227569 [===============================] - 0s 1us/step\n",
       " mögt ihr walten,\n",
       "Wie ihr aus Dunst und Nebel um mich steigt;\n",
       "Mein Busen fühlt sich jugendlich erschüttert\n",
@@ -101,7 +102,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -130,7 +131,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [
     {
@@ -179,7 +180,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [
     {
@@ -229,7 +230,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -250,7 +251,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -303,7 +304,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -353,7 +354,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [
     {
@@ -375,7 +376,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
@@ -411,7 +412,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
@@ -456,7 +457,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
@@ -505,7 +506,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -527,7 +528,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
@@ -536,17 +537,18 @@
      "text": [
       "Model: \"sequential\"\n",
       "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
+      " Layer (type)                Output Shape              Param #   \n",
       "=================================================================\n",
-      "embedding (Embedding)        (None, 50, 50)            350300    \n",
-      "_________________________________________________________________\n",
-      "lstm (LSTM)                  (None, 50, 100)           60400     \n",
-      "_________________________________________________________________\n",
-      "lstm_1 (LSTM)                (None, 100)               80400     \n",
-      "_________________________________________________________________\n",
-      "dense (Dense)                (None, 100)               10100     \n",
-      "_________________________________________________________________\n",
-      "dense_1 (Dense)              (None, 7006)              707606    \n",
+      " embedding (Embedding)       (None, 50, 50)            350300    \n",
+      "                                                                 \n",
+      " lstm (LSTM)                 (None, 50, 100)           60400     \n",
+      "                                                                 \n",
+      " lstm_1 (LSTM)               (None, 100)               80400     \n",
+      "                                                                 \n",
+      " dense (Dense)               (None, 100)               10100     \n",
+      "                                                                 \n",
+      " dense_1 (Dense)             (None, 7006)              707606    \n",
+      "                                                                 \n",
       "=================================================================\n",
       "Total params: 1,208,806\n",
       "Trainable params: 1,208,806\n",
@@ -573,7 +575,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
@@ -581,760 +583,810 @@
      "output_type": "stream",
      "text": [
       "Epoch 1/200\n",
-      "132/132 [==============================] - 64s 440ms/step - loss: 7.9855 - accuracy: 0.0194\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 7.5963 - accuracy: 0.0229WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 134s 960ms/step - loss: 7.5963 - accuracy: 0.0229\n",
       "Epoch 2/200\n",
-      "132/132 [==============================] - 59s 446ms/step - loss: 7.1538 - accuracy: 0.0270\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 7.1394 - accuracy: 0.0273WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 124s 938ms/step - loss: 7.1394 - accuracy: 0.0273\n",
       "Epoch 3/200\n",
-      "132/132 [==============================] - 61s 461ms/step - loss: 7.0045 - accuracy: 0.0270\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.9948 - accuracy: 0.0273WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 910ms/step - loss: 6.9948 - accuracy: 0.0273\n",
       "Epoch 4/200\n",
-      "132/132 [==============================] - 60s 457ms/step - loss: 6.9123 - accuracy: 0.0285\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.8208 - accuracy: 0.0292WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 6.8208 - accuracy: 0.0292\n",
       "Epoch 5/200\n",
-      "132/132 [==============================] - 61s 460ms/step - loss: 6.8054 - accuracy: 0.0290\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.6828 - accuracy: 0.0327WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 118s 897ms/step - loss: 6.6828 - accuracy: 0.0327\n",
       "Epoch 6/200\n",
-      "132/132 [==============================] - 61s 458ms/step - loss: 6.6642 - accuracy: 0.0328\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.5265 - accuracy: 0.0388WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 913ms/step - loss: 6.5265 - accuracy: 0.0388\n",
       "Epoch 7/200\n",
-      "132/132 [==============================] - 59s 447ms/step - loss: 6.4980 - accuracy: 0.0401\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.4118 - accuracy: 0.0412WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 907ms/step - loss: 6.4118 - accuracy: 0.0412\n",
       "Epoch 8/200\n",
-      "132/132 [==============================] - 58s 436ms/step - loss: 6.3643 - accuracy: 0.0425\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.3082 - accuracy: 0.0427WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 916ms/step - loss: 6.3082 - accuracy: 0.0427\n",
       "Epoch 9/200\n",
-      "132/132 [==============================] - 59s 444ms/step - loss: 6.2553 - accuracy: 0.0441\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.2157 - accuracy: 0.0467WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 914ms/step - loss: 6.2157 - accuracy: 0.0467\n",
       "Epoch 10/200\n",
-      "132/132 [==============================] - 57s 436ms/step - loss: 6.1756 - accuracy: 0.0475\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.1307 - accuracy: 0.0478WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 914ms/step - loss: 6.1307 - accuracy: 0.0478\n",
       "Epoch 11/200\n",
-      "132/132 [==============================] - 59s 445ms/step - loss: 6.1012 - accuracy: 0.0507\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 6.0595 - accuracy: 0.0504WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 910ms/step - loss: 6.0595 - accuracy: 0.0504\n",
       "Epoch 12/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 6.0541 - accuracy: 0.0487\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.9948 - accuracy: 0.0510WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 923ms/step - loss: 5.9948 - accuracy: 0.0510\n",
       "Epoch 13/200\n",
-      "132/132 [==============================] - 60s 453ms/step - loss: 5.9791 - accuracy: 0.0520\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.9338 - accuracy: 0.0526WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 913ms/step - loss: 5.9338 - accuracy: 0.0526\n",
       "Epoch 14/200\n",
-      "132/132 [==============================] - 59s 445ms/step - loss: 5.8897 - accuracy: 0.0513\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.8761 - accuracy: 0.0544WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 920ms/step - loss: 5.8761 - accuracy: 0.0544\n",
+      "Epoch 15/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.8146 - accuracy: 0.0553WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 916ms/step - loss: 5.8146 - accuracy: 0.0553\n",
       "Epoch 16/200\n",
-      "132/132 [==============================] - 60s 452ms/step - loss: 5.8274 - accuracy: 0.0562\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.7559 - accuracy: 0.0567WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 124s 938ms/step - loss: 5.7559 - accuracy: 0.0567\n",
       "Epoch 17/200\n",
-      "132/132 [==============================] - 61s 462ms/step - loss: 5.7648 - accuracy: 0.0572\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.6962 - accuracy: 0.0588WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 124s 943ms/step - loss: 5.6962 - accuracy: 0.0588\n",
       "Epoch 18/200\n",
-      "132/132 [==============================] - 62s 468ms/step - loss: 5.7030 - accuracy: 0.0600\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.6348 - accuracy: 0.0598WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 916ms/step - loss: 5.6348 - accuracy: 0.0598\n",
       "Epoch 19/200\n",
-      "132/132 [==============================] - 60s 458ms/step - loss: 5.6397 - accuracy: 0.0601\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.5684 - accuracy: 0.0613WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 5.5684 - accuracy: 0.0613\n",
       "Epoch 20/200\n",
-      "132/132 [==============================] - 59s 447ms/step - loss: 5.5928 - accuracy: 0.0617\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.5001 - accuracy: 0.0637WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 908ms/step - loss: 5.5001 - accuracy: 0.0637\n",
       "Epoch 21/200\n",
-      "132/132 [==============================] - 59s 449ms/step - loss: 5.5524 - accuracy: 0.0609\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.4315 - accuracy: 0.0652WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 905ms/step - loss: 5.4315 - accuracy: 0.0652\n",
       "Epoch 22/200\n",
-      "132/132 [==============================] - 58s 437ms/step - loss: 5.4603 - accuracy: 0.0651\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.3645 - accuracy: 0.0691WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 914ms/step - loss: 5.3645 - accuracy: 0.0691\n",
       "Epoch 23/200\n",
-      "132/132 [==============================] - 59s 445ms/step - loss: 5.4244 - accuracy: 0.0655\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.2966 - accuracy: 0.0691WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 5.2966 - accuracy: 0.0691\n",
       "Epoch 24/200\n",
-      "132/132 [==============================] - 58s 437ms/step - loss: 5.3747 - accuracy: 0.0681\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.2289 - accuracy: 0.0713WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 119s 900ms/step - loss: 5.2289 - accuracy: 0.0713\n",
       "Epoch 25/200\n",
-      "132/132 [==============================] - 59s 443ms/step - loss: 5.3031 - accuracy: 0.0699\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.1647 - accuracy: 0.0738WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 906ms/step - loss: 5.1647 - accuracy: 0.0738\n",
       "Epoch 26/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 5.2824 - accuracy: 0.0723\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.0961 - accuracy: 0.0762WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 912ms/step - loss: 5.0961 - accuracy: 0.0762\n",
       "Epoch 27/200\n",
-      "132/132 [==============================] - 57s 435ms/step - loss: 5.2316 - accuracy: 0.0739\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 5.0123 - accuracy: 0.0774WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 5.0123 - accuracy: 0.0774\n",
       "Epoch 28/200\n",
-      "132/132 [==============================] - 57s 432ms/step - loss: 5.1599 - accuracy: 0.0763\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.9355 - accuracy: 0.0802WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 909ms/step - loss: 4.9355 - accuracy: 0.0802\n",
       "Epoch 29/200\n",
-      "132/132 [==============================] - 58s 443ms/step - loss: 5.1399 - accuracy: 0.0767\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.8601 - accuracy: 0.0848WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 923ms/step - loss: 4.8601 - accuracy: 0.0848\n",
       "Epoch 30/200\n",
-      "132/132 [==============================] - 56s 426ms/step - loss: 5.0655 - accuracy: 0.0792\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.7929 - accuracy: 0.0850WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 4.7929 - accuracy: 0.0850\n",
       "Epoch 31/200\n",
-      "132/132 [==============================] - 57s 433ms/step - loss: 5.0166 - accuracy: 0.0806\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.7228 - accuracy: 0.0902WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 913ms/step - loss: 4.7228 - accuracy: 0.0902\n",
       "Epoch 32/200\n",
-      "132/132 [==============================] - 57s 429ms/step - loss: 4.9646 - accuracy: 0.0823\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.6461 - accuracy: 0.0947WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 929ms/step - loss: 4.6461 - accuracy: 0.0947\n",
       "Epoch 33/200\n",
-      "132/132 [==============================] - 57s 432ms/step - loss: 4.9360 - accuracy: 0.0836\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.5782 - accuracy: 0.0988WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 126s 954ms/step - loss: 4.5782 - accuracy: 0.0988\n",
       "Epoch 34/200\n",
-      "132/132 [==============================] - 57s 429ms/step - loss: 4.8735 - accuracy: 0.0861\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.5028 - accuracy: 0.1060WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 124s 943ms/step - loss: 4.5028 - accuracy: 0.1060\n",
       "Epoch 35/200\n",
-      "132/132 [==============================] - 56s 426ms/step - loss: 4.7967 - accuracy: 0.0919\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.4276 - accuracy: 0.1113WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 127s 961ms/step - loss: 4.4276 - accuracy: 0.1113\n",
       "Epoch 36/200\n",
-      "132/132 [==============================] - 57s 430ms/step - loss: 4.7571 - accuracy: 0.0905\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.3567 - accuracy: 0.1194WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 128s 969ms/step - loss: 4.3567 - accuracy: 0.1194\n",
       "Epoch 37/200\n",
-      " 47/132 [=========>....................] - ETA: 36s - loss: 4.6476 - accuracy: 0.1033"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "IOPub message rate exceeded.\n",
-      "The notebook server will temporarily stop sending output\n",
-      "to the client in order to avoid crashing it.\n",
-      "To change this limit, set the config variable\n",
-      "`--NotebookApp.iopub_msg_rate_limit`.\n",
-      "\n",
-      "Current values:\n",
-      "NotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n",
-      "NotebookApp.rate_limit_window=3.0 (secs)\n",
-      "\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "132/132 [==============================] - 58s 442ms/step - loss: 4.2386 - accuracy: 0.1423\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.2866 - accuracy: 0.1258WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 126s 956ms/step - loss: 4.2866 - accuracy: 0.1258\n",
+      "Epoch 38/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.2204 - accuracy: 0.1340WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 128s 968ms/step - loss: 4.2204 - accuracy: 0.1340\n",
+      "Epoch 39/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.0843 - accuracy: 0.1521WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 4.0843 - accuracy: 0.1521\n",
+      "Epoch 41/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 4.0143 - accuracy: 0.1613WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 916ms/step - loss: 4.0143 - accuracy: 0.1613\n",
+      "Epoch 42/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.9427 - accuracy: 0.1723WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 907ms/step - loss: 3.9427 - accuracy: 0.1723\n",
+      "Epoch 43/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.8746 - accuracy: 0.1839WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 3.8746 - accuracy: 0.1839\n",
+      "Epoch 44/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.8204 - accuracy: 0.1917WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 3.8204 - accuracy: 0.1917\n",
+      "Epoch 45/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.7590 - accuracy: 0.2012WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 911ms/step - loss: 3.7590 - accuracy: 0.2012\n",
+      "Epoch 46/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.6964 - accuracy: 0.2121WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 3.6964 - accuracy: 0.2121\n",
+      "Epoch 47/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.6379 - accuracy: 0.2188WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 3.6379 - accuracy: 0.2188\n",
       "Epoch 48/200\n",
-      "132/132 [==============================] - 61s 459ms/step - loss: 4.1897 - accuracy: 0.1459\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.5847 - accuracy: 0.2277WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 3.5847 - accuracy: 0.2277\n",
       "Epoch 49/200\n",
-      "132/132 [==============================] - 59s 450ms/step - loss: 4.1521 - accuracy: 0.1502\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.5335 - accuracy: 0.2373WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 910ms/step - loss: 3.5335 - accuracy: 0.2373\n",
       "Epoch 50/200\n",
-      "132/132 [==============================] - 59s 448ms/step - loss: 4.1048 - accuracy: 0.1577\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.4822 - accuracy: 0.2469WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 3.4822 - accuracy: 0.2469\n",
       "Epoch 51/200\n",
-      "132/132 [==============================] - 58s 440ms/step - loss: 4.0382 - accuracy: 0.1673\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.4076 - accuracy: 0.2623WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 3.4076 - accuracy: 0.2623\n",
       "Epoch 52/200\n",
-      "132/132 [==============================] - 58s 437ms/step - loss: 4.0287 - accuracy: 0.1699\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.3569 - accuracy: 0.2688WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 909ms/step - loss: 3.3569 - accuracy: 0.2688\n",
       "Epoch 53/200\n",
-      "132/132 [==============================] - 57s 429ms/step - loss: 3.9748 - accuracy: 0.1792\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.3122 - accuracy: 0.2774WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 912ms/step - loss: 3.3122 - accuracy: 0.2774\n",
       "Epoch 54/200\n",
-      "132/132 [==============================] - 58s 438ms/step - loss: 3.9144 - accuracy: 0.1873\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.2762 - accuracy: 0.2839WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 914ms/step - loss: 3.2762 - accuracy: 0.2839\n",
       "Epoch 55/200\n",
-      "132/132 [==============================] - 58s 440ms/step - loss: 3.8847 - accuracy: 0.1897\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.2318 - accuracy: 0.2893WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 3.2318 - accuracy: 0.2893\n",
       "Epoch 56/200\n",
-      "132/132 [==============================] - 57s 428ms/step - loss: 3.8189 - accuracy: 0.2030\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.1706 - accuracy: 0.3014WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 3.1706 - accuracy: 0.3014\n",
       "Epoch 57/200\n",
-      "132/132 [==============================] - 58s 436ms/step - loss: 3.7989 - accuracy: 0.2032\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.1257 - accuracy: 0.3086WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 916ms/step - loss: 3.1257 - accuracy: 0.3086\n",
       "Epoch 58/200\n",
-      "132/132 [==============================] - 57s 428ms/step - loss: 3.7453 - accuracy: 0.2166\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.0807 - accuracy: 0.3161WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 3.0807 - accuracy: 0.3161\n",
       "Epoch 59/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 3.7133 - accuracy: 0.2185\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.0451 - accuracy: 0.3249WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 3.0451 - accuracy: 0.3249\n",
       "Epoch 60/200\n",
-      "132/132 [==============================] - 57s 430ms/step - loss: 3.6729 - accuracy: 0.2221\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 3.0061 - accuracy: 0.3337WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 905ms/step - loss: 3.0061 - accuracy: 0.3337\n",
       "Epoch 61/200\n",
-      "132/132 [==============================] - 57s 435ms/step - loss: 3.6343 - accuracy: 0.2336\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.9662 - accuracy: 0.3390WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 914ms/step - loss: 2.9662 - accuracy: 0.3390\n",
       "Epoch 62/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 3.5992 - accuracy: 0.2358\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.9281 - accuracy: 0.3466WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 913ms/step - loss: 2.9281 - accuracy: 0.3466\n",
       "Epoch 63/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 3.5368 - accuracy: 0.2526\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.8802 - accuracy: 0.3552WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 2.8802 - accuracy: 0.3552\n",
       "Epoch 64/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 3.5339 - accuracy: 0.2474\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.8571 - accuracy: 0.3597WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 2.8571 - accuracy: 0.3597\n",
       "Epoch 65/200\n",
-      "132/132 [==============================] - 56s 424ms/step - loss: 3.4862 - accuracy: 0.2583\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.8164 - accuracy: 0.3671WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 927ms/step - loss: 2.8164 - accuracy: 0.3671\n",
       "Epoch 66/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 3.4550 - accuracy: 0.2640\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.7861 - accuracy: 0.3718WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 928ms/step - loss: 2.7861 - accuracy: 0.3718\n",
       "Epoch 67/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 3.4344 - accuracy: 0.2657\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.7521 - accuracy: 0.3786WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 2.7521 - accuracy: 0.3786\n",
       "Epoch 68/200\n",
-      "132/132 [==============================] - 56s 426ms/step - loss: 3.3755 - accuracy: 0.2787\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.7170 - accuracy: 0.3845WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 2.7170 - accuracy: 0.3845\n",
       "Epoch 69/200\n",
-      " 50/132 [==========>...................] - ETA: 36s - loss: 3.3131 - accuracy: 0.2888"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "IOPub message rate exceeded.\n",
-      "The notebook server will temporarily stop sending output\n",
-      "to the client in order to avoid crashing it.\n",
-      "To change this limit, set the config variable\n",
-      "`--NotebookApp.iopub_msg_rate_limit`.\n",
-      "\n",
-      "Current values:\n",
-      "NotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n",
-      "NotebookApp.rate_limit_window=3.0 (secs)\n",
-      "\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "132/132 [==============================] - 59s 450ms/step - loss: 3.2895 - accuracy: 0.2973\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.6837 - accuracy: 0.3900WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 2.6837 - accuracy: 0.3900\n",
+      "Epoch 70/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.6523 - accuracy: 0.3981WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 2.6523 - accuracy: 0.3981\n",
+      "Epoch 71/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.6347 - accuracy: 0.4003WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 2.6347 - accuracy: 0.4003\n",
       "Epoch 72/200\n",
-      "132/132 [==============================] - 58s 438ms/step - loss: 3.2864 - accuracy: 0.2902\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.5950 - accuracy: 0.4090WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 2.5950 - accuracy: 0.4090\n",
       "Epoch 73/200\n",
-      "132/132 [==============================] - 58s 441ms/step - loss: 3.2354 - accuracy: 0.2987\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.5919 - accuracy: 0.4102WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 928ms/step - loss: 2.5919 - accuracy: 0.4102\n",
       "Epoch 74/200\n",
-      "132/132 [==============================] - 57s 428ms/step - loss: 3.2250 - accuracy: 0.3055\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.5405 - accuracy: 0.4188WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 923ms/step - loss: 2.5405 - accuracy: 0.4188\n",
       "Epoch 75/200\n",
-      "132/132 [==============================] - 57s 435ms/step - loss: 3.1862 - accuracy: 0.3107\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.5081 - accuracy: 0.4272WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 2.5081 - accuracy: 0.4272\n",
       "Epoch 76/200\n",
-      "132/132 [==============================] - 59s 446ms/step - loss: 3.1453 - accuracy: 0.3172\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.4883 - accuracy: 0.4286WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 2.4883 - accuracy: 0.4286\n",
       "Epoch 77/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 3.1511 - accuracy: 0.3115\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.4692 - accuracy: 0.4346WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 934ms/step - loss: 2.4692 - accuracy: 0.4346\n",
       "Epoch 78/200\n",
-      "132/132 [==============================] - 56s 427ms/step - loss: 3.1045 - accuracy: 0.3246\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.4341 - accuracy: 0.4413WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 934ms/step - loss: 2.4341 - accuracy: 0.4413\n",
       "Epoch 79/200\n",
-      "132/132 [==============================] - 62s 469ms/step - loss: 3.0800 - accuracy: 0.3291\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.4142 - accuracy: 0.4435WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 2.4142 - accuracy: 0.4435\n",
       "Epoch 80/200\n",
-      "132/132 [==============================] - 60s 453ms/step - loss: 3.0535 - accuracy: 0.3289\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.3865 - accuracy: 0.4472WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 913ms/step - loss: 2.3865 - accuracy: 0.4472\n",
       "Epoch 81/200\n",
-      "132/132 [==============================] - 59s 449ms/step - loss: 3.0297 - accuracy: 0.3402\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.3642 - accuracy: 0.4540WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 929ms/step - loss: 2.3642 - accuracy: 0.4540\n",
       "Epoch 82/200\n",
-      "132/132 [==============================] - 58s 438ms/step - loss: 3.0165 - accuracy: 0.3408\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.3377 - accuracy: 0.4607WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 2.3377 - accuracy: 0.4607\n",
       "Epoch 83/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 2.9586 - accuracy: 0.3578\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.3286 - accuracy: 0.4610WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 911ms/step - loss: 2.3286 - accuracy: 0.4610\n",
       "Epoch 84/200\n",
-      "132/132 [==============================] - 56s 426ms/step - loss: 2.9457 - accuracy: 0.3546\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.3119 - accuracy: 0.4641WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 2.3119 - accuracy: 0.4641\n",
       "Epoch 85/200\n",
-      "132/132 [==============================] - 57s 430ms/step - loss: 2.9160 - accuracy: 0.3564\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.2702 - accuracy: 0.4731WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 2.2702 - accuracy: 0.4731\n",
       "Epoch 86/200\n",
-      "132/132 [==============================] - 58s 436ms/step - loss: 2.8669 - accuracy: 0.3670\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.2507 - accuracy: 0.4791WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 2.2507 - accuracy: 0.4791\n",
+      "Epoch 87/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.2208 - accuracy: 0.4844WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 2.2208 - accuracy: 0.4844\n",
+      "Epoch 88/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.2107 - accuracy: 0.4843WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 923ms/step - loss: 2.2107 - accuracy: 0.4843\n",
       "Epoch 89/200\n",
-      "132/132 [==============================] - 57s 431ms/step - loss: 2.8534 - accuracy: 0.3723\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.1800 - accuracy: 0.4913WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 928ms/step - loss: 2.1800 - accuracy: 0.4913\n",
       "Epoch 90/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 2.7904 - accuracy: 0.3844\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.1649 - accuracy: 0.4952WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 2.1649 - accuracy: 0.4952\n",
       "Epoch 91/200\n",
-      "132/132 [==============================] - 57s 430ms/step - loss: 2.7902 - accuracy: 0.3800\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.1481 - accuracy: 0.4985WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 2.1481 - accuracy: 0.4985\n",
       "Epoch 92/200\n",
-      "132/132 [==============================] - 56s 428ms/step - loss: 2.7937 - accuracy: 0.3856\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.1769 - accuracy: 0.4900WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 927ms/step - loss: 2.1769 - accuracy: 0.4900\n",
       "Epoch 93/200\n",
-      "132/132 [==============================] - 57s 432ms/step - loss: 2.7800 - accuracy: 0.3872\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.1111 - accuracy: 0.5069WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 2.1111 - accuracy: 0.5069\n",
       "Epoch 94/200\n",
-      "132/132 [==============================] - 56s 426ms/step - loss: 2.7438 - accuracy: 0.3915\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.0866 - accuracy: 0.5110WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 908ms/step - loss: 2.0866 - accuracy: 0.5110\n",
       "Epoch 95/200\n",
-      "132/132 [==============================] - 57s 432ms/step - loss: 2.6921 - accuracy: 0.4015\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.0648 - accuracy: 0.5168WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 910ms/step - loss: 2.0648 - accuracy: 0.5168\n",
       "Epoch 96/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 2.6720 - accuracy: 0.4024\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.0444 - accuracy: 0.5205WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 2.0444 - accuracy: 0.5205\n",
       "Epoch 97/200\n",
-      "132/132 [==============================] - 56s 428ms/step - loss: 2.6635 - accuracy: 0.4064\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.0437 - accuracy: 0.5210WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 2.0437 - accuracy: 0.5210\n",
       "Epoch 98/200\n",
-      "132/132 [==============================] - 56s 427ms/step - loss: 2.6391 - accuracy: 0.4114\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.0493 - accuracy: 0.5171WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 2.0493 - accuracy: 0.5171\n",
       "Epoch 99/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 2.6089 - accuracy: 0.4195\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 2.0057 - accuracy: 0.5266WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 928ms/step - loss: 2.0057 - accuracy: 0.5266\n",
       "Epoch 100/200\n",
-      "132/132 [==============================] - 56s 427ms/step - loss: 2.5940 - accuracy: 0.4214\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.9707 - accuracy: 0.5336WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 1.9707 - accuracy: 0.5336\n",
       "Epoch 101/200\n",
-      "132/132 [==============================] - 55s 420ms/step - loss: 2.6007 - accuracy: 0.4165\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.9575 - accuracy: 0.5381WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 910ms/step - loss: 1.9575 - accuracy: 0.5381\n",
       "Epoch 102/200\n",
-      "132/132 [==============================] - 57s 430ms/step - loss: 2.5773 - accuracy: 0.4251\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.9518 - accuracy: 0.5384WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.9518 - accuracy: 0.5384\n",
       "Epoch 103/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 2.5022 - accuracy: 0.4404\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.9629 - accuracy: 0.5360WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 909ms/step - loss: 1.9629 - accuracy: 0.5360\n",
+      "Epoch 104/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.9185 - accuracy: 0.5451WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 1.9185 - accuracy: 0.5451\n",
+      "Epoch 105/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.8955 - accuracy: 0.5511WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 1.8955 - accuracy: 0.5511\n",
       "Epoch 106/200\n",
-      "132/132 [==============================] - 56s 428ms/step - loss: 2.5159 - accuracy: 0.4303\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.8629 - accuracy: 0.5592WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 1.8629 - accuracy: 0.5592\n",
       "Epoch 107/200\n",
-      "132/132 [==============================] - 56s 420ms/step - loss: 2.4863 - accuracy: 0.4394\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.8572 - accuracy: 0.5590WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 916ms/step - loss: 1.8572 - accuracy: 0.5590\n",
       "Epoch 108/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 2.4559 - accuracy: 0.4437\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.8576 - accuracy: 0.5559WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 1.8576 - accuracy: 0.5559\n",
       "Epoch 109/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 2.4468 - accuracy: 0.4514\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.8490 - accuracy: 0.5596WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 907ms/step - loss: 1.8490 - accuracy: 0.5596\n",
       "Epoch 110/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 2.4177 - accuracy: 0.4559\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.8442 - accuracy: 0.5601WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 1.8442 - accuracy: 0.5601\n",
       "Epoch 111/200\n",
-      "132/132 [==============================] - 59s 447ms/step - loss: 2.3912 - accuracy: 0.4600\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.8104 - accuracy: 0.5675WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 920ms/step - loss: 1.8104 - accuracy: 0.5675\n",
       "Epoch 112/200\n",
-      "132/132 [==============================] - 56s 427ms/step - loss: 2.4065 - accuracy: 0.4563\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.7773 - accuracy: 0.5756WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 911ms/step - loss: 1.7773 - accuracy: 0.5756\n",
       "Epoch 113/200\n",
-      "132/132 [==============================] - 56s 426ms/step - loss: 2.3897 - accuracy: 0.4565\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.7624 - accuracy: 0.5808WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 912ms/step - loss: 1.7624 - accuracy: 0.5808\n",
       "Epoch 114/200\n",
-      "132/132 [==============================] - 56s 426ms/step - loss: 2.3525 - accuracy: 0.4678\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.7501 - accuracy: 0.5817WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 1.7501 - accuracy: 0.5817\n",
       "Epoch 115/200\n",
-      "132/132 [==============================] - 56s 422ms/step - loss: 2.3348 - accuracy: 0.4693\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.7379 - accuracy: 0.5857WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 1.7379 - accuracy: 0.5857\n",
       "Epoch 116/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 2.3347 - accuracy: 0.4687\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.7223 - accuracy: 0.5876WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 1.7223 - accuracy: 0.5876\n",
       "Epoch 117/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 2.3207 - accuracy: 0.4726\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.7206 - accuracy: 0.5889WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 1.7206 - accuracy: 0.5889\n",
       "Epoch 118/200\n",
-      "132/132 [==============================] - 56s 423ms/step - loss: 2.3181 - accuracy: 0.4755\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.7309 - accuracy: 0.5866WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 926ms/step - loss: 1.7309 - accuracy: 0.5866\n",
       "Epoch 119/200\n",
-      "132/132 [==============================] - 56s 428ms/step - loss: 2.2980 - accuracy: 0.4753\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6939 - accuracy: 0.5924WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 1.6939 - accuracy: 0.5924\n",
       "Epoch 120/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 2.2157 - accuracy: 0.4948\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6718 - accuracy: 0.5976WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 1.6718 - accuracy: 0.5976\n",
+      "Epoch 121/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6507 - accuracy: 0.6038WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 923ms/step - loss: 1.6507 - accuracy: 0.6038\n",
+      "Epoch 122/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6311 - accuracy: 0.6088WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 920ms/step - loss: 1.6311 - accuracy: 0.6088\n",
       "Epoch 123/200\n",
-      "132/132 [==============================] - 56s 420ms/step - loss: 2.2115 - accuracy: 0.4941\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6274 - accuracy: 0.6090WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.6274 - accuracy: 0.6090\n",
       "Epoch 124/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 2.1935 - accuracy: 0.4993\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6146 - accuracy: 0.6126WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 909ms/step - loss: 1.6146 - accuracy: 0.6126\n",
       "Epoch 125/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 2.1781 - accuracy: 0.5025\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.5984 - accuracy: 0.6158WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.5984 - accuracy: 0.6158\n",
       "Epoch 126/200\n",
-      "132/132 [==============================] - 56s 422ms/step - loss: 2.1532 - accuracy: 0.5066\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6000 - accuracy: 0.6146WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 908ms/step - loss: 1.6000 - accuracy: 0.6146\n",
       "Epoch 127/200\n",
-      "132/132 [==============================] - 57s 430ms/step - loss: 2.1849 - accuracy: 0.5043\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6080 - accuracy: 0.6113WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.6080 - accuracy: 0.6113\n",
       "Epoch 128/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 2.1639 - accuracy: 0.5044\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.6038 - accuracy: 0.6111WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 908ms/step - loss: 1.6038 - accuracy: 0.6111\n",
       "Epoch 129/200\n",
-      "132/132 [==============================] - 56s 422ms/step - loss: 2.1438 - accuracy: 0.5094\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.5598 - accuracy: 0.6220WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.5598 - accuracy: 0.6220\n",
       "Epoch 130/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 2.1359 - accuracy: 0.5084\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.5401 - accuracy: 0.6295WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 912ms/step - loss: 1.5401 - accuracy: 0.6295\n",
       "Epoch 131/200\n",
-      "132/132 [==============================] - 55s 415ms/step - loss: 2.1100 - accuracy: 0.5163\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.5231 - accuracy: 0.6307WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 913ms/step - loss: 1.5231 - accuracy: 0.6307\n",
       "Epoch 132/200\n",
-      "132/132 [==============================] - 55s 415ms/step - loss: 2.1135 - accuracy: 0.5133\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.5017 - accuracy: 0.6384WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 920ms/step - loss: 1.5017 - accuracy: 0.6384\n",
       "Epoch 133/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 2.0770 - accuracy: 0.5220\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.4917 - accuracy: 0.6413WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 912ms/step - loss: 1.4917 - accuracy: 0.6413\n",
       "Epoch 134/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 2.0623 - accuracy: 0.5288\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.4843 - accuracy: 0.6427WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 1.4843 - accuracy: 0.6427\n",
       "Epoch 135/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 2.0499 - accuracy: 0.5310\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.5333 - accuracy: 0.6296WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.5333 - accuracy: 0.6296\n",
       "Epoch 136/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 2.0152 - accuracy: 0.5345\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.4675 - accuracy: 0.6451WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 913ms/step - loss: 1.4675 - accuracy: 0.6451\n",
       "Epoch 137/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 1.9802 - accuracy: 0.5395\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.4501 - accuracy: 0.6491WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 920ms/step - loss: 1.4501 - accuracy: 0.6491\n",
+      "Epoch 138/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.4740 - accuracy: 0.6419WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 1.4740 - accuracy: 0.6419\n",
+      "Epoch 139/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.4371 - accuracy: 0.6526WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.4371 - accuracy: 0.6526\n",
       "Epoch 140/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.9752 - accuracy: 0.5427\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.4065 - accuracy: 0.6592WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 1.4065 - accuracy: 0.6592\n",
       "Epoch 141/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 1.9391 - accuracy: 0.5509\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3907 - accuracy: 0.6623WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 927ms/step - loss: 1.3907 - accuracy: 0.6623\n",
       "Epoch 142/200\n",
-      "132/132 [==============================] - 55s 413ms/step - loss: 1.9337 - accuracy: 0.5527\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3804 - accuracy: 0.6657WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 913ms/step - loss: 1.3804 - accuracy: 0.6657\n",
       "Epoch 143/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.9276 - accuracy: 0.5578\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3745 - accuracy: 0.6673WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 1.3745 - accuracy: 0.6673\n",
       "Epoch 144/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.9234 - accuracy: 0.5535\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3586 - accuracy: 0.6693WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 1.3586 - accuracy: 0.6693\n",
       "Epoch 145/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 1.9193 - accuracy: 0.5537\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3665 - accuracy: 0.6680WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 916ms/step - loss: 1.3665 - accuracy: 0.6680\n",
       "Epoch 146/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.9060 - accuracy: 0.5576\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3495 - accuracy: 0.6725WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 930ms/step - loss: 1.3495 - accuracy: 0.6725\n",
       "Epoch 147/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.8979 - accuracy: 0.5598\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3402 - accuracy: 0.6741WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 1.3402 - accuracy: 0.6741\n",
       "Epoch 148/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.8885 - accuracy: 0.5614\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3291 - accuracy: 0.6754WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 920ms/step - loss: 1.3291 - accuracy: 0.6754\n",
       "Epoch 149/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 1.8624 - accuracy: 0.5694\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3358 - accuracy: 0.6722WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 927ms/step - loss: 1.3358 - accuracy: 0.6722\n",
       "Epoch 150/200\n",
-      "132/132 [==============================] - 56s 422ms/step - loss: 1.8423 - accuracy: 0.5706\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3236 - accuracy: 0.6780WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 1.3236 - accuracy: 0.6780\n",
       "Epoch 151/200\n",
-      "132/132 [==============================] - 55s 420ms/step - loss: 1.8343 - accuracy: 0.5763\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3026 - accuracy: 0.6829WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.3026 - accuracy: 0.6829\n",
       "Epoch 152/200\n",
-      "132/132 [==============================] - 56s 422ms/step - loss: 1.8462 - accuracy: 0.5681\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.2691 - accuracy: 0.6917WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 1.2691 - accuracy: 0.6917\n",
       "Epoch 153/200\n",
-      "132/132 [==============================] - 55s 420ms/step - loss: 1.7947 - accuracy: 0.5865\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.3315 - accuracy: 0.6740WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 909ms/step - loss: 1.3315 - accuracy: 0.6740\n",
       "Epoch 154/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 1.7829 - accuracy: 0.5840\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.2587 - accuracy: 0.6932WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 1.2587 - accuracy: 0.6932\n",
+      "Epoch 155/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.2386 - accuracy: 0.6988WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 1.2386 - accuracy: 0.6988\n",
+      "Epoch 156/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.2589 - accuracy: 0.6905WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 914ms/step - loss: 1.2589 - accuracy: 0.6905\n",
       "Epoch 157/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 1.7587 - accuracy: 0.5913\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.2530 - accuracy: 0.6923WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 926ms/step - loss: 1.2530 - accuracy: 0.6923\n",
       "Epoch 158/200\n",
-      "132/132 [==============================] - 56s 423ms/step - loss: 1.7555 - accuracy: 0.5912\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.2028 - accuracy: 0.7079WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 1.2028 - accuracy: 0.7079\n",
       "Epoch 159/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 1.7260 - accuracy: 0.6018\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1991 - accuracy: 0.7048WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 928ms/step - loss: 1.1991 - accuracy: 0.7048\n",
       "Epoch 160/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 1.7104 - accuracy: 0.6042\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1881 - accuracy: 0.7082WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 1.1881 - accuracy: 0.7082\n",
       "Epoch 161/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 1.7247 - accuracy: 0.5957\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1786 - accuracy: 0.7128WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 912ms/step - loss: 1.1786 - accuracy: 0.7128\n",
       "Epoch 162/200\n",
-      "132/132 [==============================] - 56s 427ms/step - loss: 1.7259 - accuracy: 0.5947\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.2009 - accuracy: 0.7027WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 1.2009 - accuracy: 0.7027\n",
       "Epoch 163/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.7131 - accuracy: 0.5977\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1917 - accuracy: 0.7070WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 1.1917 - accuracy: 0.7070\n",
       "Epoch 164/200\n",
-      "132/132 [==============================] - 55s 415ms/step - loss: 1.6682 - accuracy: 0.6078\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1645 - accuracy: 0.7134WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 931ms/step - loss: 1.1645 - accuracy: 0.7134\n",
       "Epoch 165/200\n",
-      "132/132 [==============================] - 56s 423ms/step - loss: 1.6635 - accuracy: 0.6108\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1472 - accuracy: 0.7171WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 921ms/step - loss: 1.1472 - accuracy: 0.7171\n",
       "Epoch 166/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 1.6613 - accuracy: 0.6115\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1266 - accuracy: 0.7248WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 1.1266 - accuracy: 0.7248\n",
       "Epoch 167/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.6536 - accuracy: 0.6116\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1151 - accuracy: 0.7281WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 1.1151 - accuracy: 0.7281\n",
       "Epoch 168/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 1.6128 - accuracy: 0.6205\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.1041 - accuracy: 0.7302WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 1.1041 - accuracy: 0.7302\n",
       "Epoch 169/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.6097 - accuracy: 0.6237\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0935 - accuracy: 0.7329WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 1.0935 - accuracy: 0.7329\n",
       "Epoch 170/200\n",
-      "132/132 [==============================] - 56s 424ms/step - loss: 1.6222 - accuracy: 0.6189\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0821 - accuracy: 0.7363WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 919ms/step - loss: 1.0821 - accuracy: 0.7363\n",
       "Epoch 171/200\n",
-      "132/132 [==============================] - 55s 420ms/step - loss: 1.6095 - accuracy: 0.6254\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0855 - accuracy: 0.7337WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 925ms/step - loss: 1.0855 - accuracy: 0.7337\n",
       "Epoch 172/200\n",
-      "132/132 [==============================] - 55s 414ms/step - loss: 1.6274 - accuracy: 0.6163\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0720 - accuracy: 0.7372WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 915ms/step - loss: 1.0720 - accuracy: 0.7372\n",
       "Epoch 173/200\n",
-      "132/132 [==============================] - 55s 413ms/step - loss: 1.5866 - accuracy: 0.6268\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0814 - accuracy: 0.7325WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 1.0814 - accuracy: 0.7325\n",
       "Epoch 174/200\n",
-      "132/132 [==============================] - 56s 422ms/step - loss: 1.5600 - accuracy: 0.6357\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0678 - accuracy: 0.7380WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 905ms/step - loss: 1.0678 - accuracy: 0.7380\n",
       "Epoch 175/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 1.5425 - accuracy: 0.6405\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0581 - accuracy: 0.7394WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.0581 - accuracy: 0.7394\n",
       "Epoch 176/200\n",
-      "132/132 [==============================] - 57s 434ms/step - loss: 1.5464 - accuracy: 0.6387\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0727 - accuracy: 0.7342WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 917ms/step - loss: 1.0727 - accuracy: 0.7342\n",
       "Epoch 177/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 1.5179 - accuracy: 0.6446\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0506 - accuracy: 0.7395WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 920ms/step - loss: 1.0506 - accuracy: 0.7395\n",
       "Epoch 178/200\n",
-      "132/132 [==============================] - 55s 420ms/step - loss: 1.5122 - accuracy: 0.6463\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0110 - accuracy: 0.7523WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 1.0110 - accuracy: 0.7523\n",
       "Epoch 179/200\n",
-      "132/132 [==============================] - 56s 421ms/step - loss: 1.5001 - accuracy: 0.6506\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9934 - accuracy: 0.7575WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 0.9934 - accuracy: 0.7575\n",
       "Epoch 180/200\n",
-      "132/132 [==============================] - 55s 420ms/step - loss: 1.5218 - accuracy: 0.6420\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9820 - accuracy: 0.7614WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 932ms/step - loss: 0.9820 - accuracy: 0.7614\n",
       "Epoch 181/200\n",
-      "132/132 [==============================] - 56s 423ms/step - loss: 1.5194 - accuracy: 0.6402\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9830 - accuracy: 0.7614WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 926ms/step - loss: 0.9830 - accuracy: 0.7614\n",
       "Epoch 182/200\n",
-      "132/132 [==============================] - 56s 420ms/step - loss: 1.4864 - accuracy: 0.6476\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9898 - accuracy: 0.7581WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 0.9898 - accuracy: 0.7581\n",
       "Epoch 183/200\n",
-      "132/132 [==============================] - 56s 424ms/step - loss: 1.4901 - accuracy: 0.6476\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9805 - accuracy: 0.7590WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 119s 902ms/step - loss: 0.9805 - accuracy: 0.7590\n",
       "Epoch 184/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 1.4642 - accuracy: 0.6517\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9657 - accuracy: 0.7647WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 920ms/step - loss: 0.9657 - accuracy: 0.7647\n",
       "Epoch 185/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 1.4762 - accuracy: 0.6502\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9475 - accuracy: 0.7687WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 0.9475 - accuracy: 0.7687\n",
       "Epoch 186/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 1.4711 - accuracy: 0.6515\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9584 - accuracy: 0.7643WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 120s 913ms/step - loss: 0.9584 - accuracy: 0.7643\n",
       "Epoch 187/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 1.4420 - accuracy: 0.6588\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9250 - accuracy: 0.7746WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 0.9250 - accuracy: 0.7746\n",
       "Epoch 188/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 1.4111 - accuracy: 0.6648\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9345 - accuracy: 0.7706WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 0.9345 - accuracy: 0.7706\n",
       "Epoch 189/200\n",
-      "132/132 [==============================] - 56s 425ms/step - loss: 1.3902 - accuracy: 0.6764\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9406 - accuracy: 0.7686WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 920ms/step - loss: 0.9406 - accuracy: 0.7686\n",
       "Epoch 190/200\n",
-      "132/132 [==============================] - 55s 420ms/step - loss: 1.4237 - accuracy: 0.6661\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9525 - accuracy: 0.7630WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 0.9525 - accuracy: 0.7630\n",
       "Epoch 191/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 1.4434 - accuracy: 0.6619\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9367 - accuracy: 0.7675WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 927ms/step - loss: 0.9367 - accuracy: 0.7675\n",
       "Epoch 192/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 1.4235 - accuracy: 0.6669\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 1.0326 - accuracy: 0.7366WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 932ms/step - loss: 1.0326 - accuracy: 0.7366\n",
       "Epoch 193/200\n",
-      "132/132 [==============================] - 55s 414ms/step - loss: 1.3799 - accuracy: 0.6731\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.9349 - accuracy: 0.7667WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 921ms/step - loss: 0.9349 - accuracy: 0.7667\n",
       "Epoch 194/200\n",
-      "132/132 [==============================] - 55s 419ms/step - loss: 1.3654 - accuracy: 0.6793\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.8892 - accuracy: 0.7825WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 123s 930ms/step - loss: 0.8892 - accuracy: 0.7825\n",
       "Epoch 195/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 1.3519 - accuracy: 0.6821\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.8446 - accuracy: 0.7967WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 0.8446 - accuracy: 0.7967\n",
       "Epoch 196/200\n",
-      "132/132 [==============================] - 55s 417ms/step - loss: 1.3331 - accuracy: 0.6854\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.8557 - accuracy: 0.7916WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 918ms/step - loss: 0.8557 - accuracy: 0.7916\n",
+      "Epoch 197/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.8384 - accuracy: 0.7974WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 912ms/step - loss: 0.8384 - accuracy: 0.7974\n",
+      "Epoch 198/200\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.8241 - accuracy: 0.7988WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 121s 912ms/step - loss: 0.8241 - accuracy: 0.7988\n",
       "Epoch 199/200\n",
-      "132/132 [==============================] - 55s 418ms/step - loss: 1.3044 - accuracy: 0.6926\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "132/132 [==============================] - ETA: 0s - loss: 0.8136 - accuracy: 0.8025WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
       "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 924ms/step - loss: 0.8136 - accuracy: 0.8025\n",
       "Epoch 200/200\n",
-      "132/132 [==============================] - 55s 416ms/step - loss: 1.3154 - accuracy: 0.6904\n",
-      "WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
-      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n"
+      "132/132 [==============================] - ETA: 0s - loss: 0.8161 - accuracy: 0.8014WARNING:tensorflow:Early stopping conditioned on metric `val_loss` which is not available. Available metrics are: loss,accuracy\n",
+      "WARNING:tensorflow:Can save best model only with val_loss available, skipping.\n",
+      "132/132 [==============================] - 122s 922ms/step - loss: 0.8161 - accuracy: 0.8014\n"
      ]
     },
     {
      "data": {
       "text/plain": [
-       "<tensorflow.python.keras.callbacks.History at 0x7f169c488fd0>"
+       "<keras.callbacks.History at 0x7fe508e52a10>"
       ]
      },
-     "execution_count": 16,
+     "execution_count": 14,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1362,7 +1414,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1395,7 +1447,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1428,7 +1480,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
@@ -1457,7 +1509,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1474,7 +1526,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1495,14 +1547,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "von starrer seide die hahnenfeder auf dem hut mit einem langen spitzen degen und rathe nun dir kurz und gut dergleichen gleichfalls anzulegen damit du losgebunden frey erfahrest was das leben sey faust in jedem kleide werd ich wohl die pein des engen erdelebens fühlen ich bin zu alt um nur\n",
+      "munde verkündiget ihr dumpfen glocken schon des osterfestes erste feyerstunde ihr chöre singt ihr schon den tröstlichen gesang der einst um grabes nacht von engelslippen klang gewißheit einem neuen bunde chor der weiber mit spezereyen hatten wir ihn gepflegt wir seine treuen hatten ihn hingelegt tücher und binden reinlich umwanden wir\n",
       "\n"
      ]
     }
@@ -1526,7 +1578,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [
     {
@@ -1534,10 +1586,10 @@
      "output_type": "stream",
      "text": [
       "(1, 50)\n",
-      "[[  30 4037 2094    3 2095   26   27 2096   17   96  902 4038 2097    1\n",
-      "  4039   47   45  459    1  102 4040 4041 4042  288   11 4043  240 4044\n",
-      "    23    7  115  145   18    9  273 1091  451    2   61    3  690   49\n",
-      "   678 4045  752    2   65    8  616   69]]\n"
+      "[[1325 3339   21 1353 3340   53   49 3341  325 3342   21 1027  254   21\n",
+      "    53   16 3343  534    4  944   69 3344  131   30 3345  716 1890   96\n",
+      "   343 3346  259    4  717   17 3347 1891   38   58 3348   38  216 3349\n",
+      "  1891   58 3350 3351    1 1892 1893 1889]]\n"
      ]
     }
    ],
@@ -1558,14 +1610,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 33,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "[22]\n"
+      "[38]\n"
      ]
     }
    ],
@@ -1584,14 +1636,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "mich\n"
+      "wir\n"
      ]
     }
    ],
@@ -1615,7 +1667,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 35,
+   "execution_count": 24,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1632,7 +1684,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 36,
+   "execution_count": 51,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1647,7 +1699,7 @@
     "        # truncate sequences to a fixed length\n",
     "        encoded = pad_sequences([encoded], maxlen=seq_length, truncating='pre')\n",
     "        # predict probabilities for each word\n",
-    "        yhat = model.predict_classes(encoded, verbose=0)\n",
+    "        yhat = model.predict(encoded, verbose=0).argmax(axis=1)\n",
     "        # map predicted word index to word\n",
     "        out_word = ''\n",
     "        for word, index in tokenizer.word_index.items():\n",
@@ -1669,14 +1721,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": 52,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "retten ich sags euch nicht gewesen zwar ist er steht so wunderlich als spazier so realist nach hoher liegt faust das faust im schüler so ists ein anfang war doch das grab der sterbend seine buhle bist denn daß du gemeinschaft mephistopheles ich nur jemand teufel schaffen sie steht er\n"
+      "ach und wir finden christ kann so um eine weg kein medicin o will sich oft gern anzuhaben titania glieder und dreht am fenster ziehen ist einige jahr wo glänzt ist hin wir hinter die hohe raum kann es doch selbst ein flinker was zuweilen bewegen zu haben mephistopheles ihr\n"
      ]
     }
    ],
@@ -1725,7 +1777,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 38,
+   "execution_count": 53,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1741,22 +1793,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 39,
+   "execution_count": 54,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "<matplotlib.axes._subplots.AxesSubplot at 0x1506b9be0>"
+       "<AxesSubplot:>"
       ]
      },
-     "execution_count": 39,
+     "execution_count": 54,
      "metadata": {},
      "output_type": "execute_result"
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 108x324 with 2 Axes>"
       ]
@@ -1787,7 +1839,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 40,
+   "execution_count": 55,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1796,22 +1848,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 41,
+   "execution_count": 56,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "<matplotlib.axes._subplots.AxesSubplot at 0x1507bdf98>"
+       "<AxesSubplot:>"
       ]
      },
-     "execution_count": 41,
+     "execution_count": 56,
      "metadata": {},
      "output_type": "execute_result"
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 108x324 with 2 Axes>"
       ]
@@ -1838,7 +1890,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 42,
+   "execution_count": 57,
    "metadata": {},
    "outputs": [
     {
@@ -1847,7 +1899,7 @@
        "927"
       ]
      },
-     "execution_count": 42,
+     "execution_count": 57,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1870,7 +1922,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 43,
+   "execution_count": 58,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -1886,12 +1938,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 44,
+   "execution_count": 59,
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 432x288 with 2 Axes>"
       ]
@@ -1929,7 +1981,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 45,
+   "execution_count": 60,
    "metadata": {},
    "outputs": [
     {
@@ -1938,7 +1990,7 @@
        "array([927., 397., 148., 929.])"
       ]
      },
-     "execution_count": 45,
+     "execution_count": 60,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1967,7 +2019,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 46,
+   "execution_count": 61,
    "metadata": {},
    "outputs": [
     {
@@ -1977,7 +2029,7 @@
        "      dtype=float128)"
       ]
      },
-     "execution_count": 46,
+     "execution_count": 61,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2006,7 +2058,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 47,
+   "execution_count": 62,
    "metadata": {},
    "outputs": [
     {
@@ -2020,7 +2072,7 @@
        "        3.99001076e+001]], dtype=float128)"
       ]
      },
-     "execution_count": 47,
+     "execution_count": 62,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2043,12 +2095,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 48,
+   "execution_count": 63,
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 432x288 with 2 Axes>"
       ]
@@ -2076,7 +2128,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 49,
+   "execution_count": 64,
    "metadata": {},
    "outputs": [
     {
@@ -2085,7 +2137,7 @@
        "array([ 3.88079708,  4.0728263 , 45.26423912], dtype=float128)"
       ]
      },
-     "execution_count": 49,
+     "execution_count": 64,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2100,22 +2152,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 50,
+   "execution_count": 65,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "<matplotlib.axes._subplots.AxesSubplot at 0x150a69c88>"
+       "<AxesSubplot:>"
       ]
      },
-     "execution_count": 50,
+     "execution_count": 65,
      "metadata": {},
      "output_type": "execute_result"
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 108x324 with 2 Axes>"
       ]
@@ -2164,14 +2216,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 66,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "2.4.0\n"
+      "2.7.0\n"
      ]
     }
    ],
@@ -2206,7 +2258,7 @@
     "- __Flickr8k_Dataset__: Contains 8092 photographs in JPEG format.\n",
     "- __Flickr8k_text__: Contains a number of files containing different sources of descriptions for the photographs.\n",
     "\n",
-    "The dataset has a pre-defined training dataset (6,000 images), validation dataset (1,000 images), and test dataset (1,000 images).\n",
+    "The dataset has a pre-defined training dataset (6'000 images), validation dataset (1'000 images), and test dataset (1'000 images).\n",
     "\n",
     "One measure that can be used to evaluate the skill of the model are BLEU scores. For reference, below are some ball-park BLEU scores for skillful models when evaluated on the test dataset (taken from the 2017 paper [“Where to put the Image in an Image Caption Generator“](https://arxiv.org/abs/1703.09137)):\n",
     "\n",
@@ -2260,83 +2312,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/vgg16/vgg16_weights_tf_dim_ordering_tf_kernels.h5\n",
-      "553467904/553467096 [==============================] - 5s 0us/step\n",
-      "Model: \"model\"\n",
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "input_1 (InputLayer)         [(None, 224, 224, 3)]     0         \n",
-      "_________________________________________________________________\n",
-      "block1_conv1 (Conv2D)        (None, 224, 224, 64)      1792      \n",
-      "_________________________________________________________________\n",
-      "block1_conv2 (Conv2D)        (None, 224, 224, 64)      36928     \n",
-      "_________________________________________________________________\n",
-      "block1_pool (MaxPooling2D)   (None, 112, 112, 64)      0         \n",
-      "_________________________________________________________________\n",
-      "block2_conv1 (Conv2D)        (None, 112, 112, 128)     73856     \n",
-      "_________________________________________________________________\n",
-      "block2_conv2 (Conv2D)        (None, 112, 112, 128)     147584    \n",
-      "_________________________________________________________________\n",
-      "block2_pool (MaxPooling2D)   (None, 56, 56, 128)       0         \n",
-      "_________________________________________________________________\n",
-      "block3_conv1 (Conv2D)        (None, 56, 56, 256)       295168    \n",
-      "_________________________________________________________________\n",
-      "block3_conv2 (Conv2D)        (None, 56, 56, 256)       590080    \n",
-      "_________________________________________________________________\n",
-      "block3_conv3 (Conv2D)        (None, 56, 56, 256)       590080    \n",
-      "_________________________________________________________________\n",
-      "block3_pool (MaxPooling2D)   (None, 28, 28, 256)       0         \n",
-      "_________________________________________________________________\n",
-      "block4_conv1 (Conv2D)        (None, 28, 28, 512)       1180160   \n",
-      "_________________________________________________________________\n",
-      "block4_conv2 (Conv2D)        (None, 28, 28, 512)       2359808   \n",
-      "_________________________________________________________________\n",
-      "block4_conv3 (Conv2D)        (None, 28, 28, 512)       2359808   \n",
-      "_________________________________________________________________\n",
-      "block4_pool (MaxPooling2D)   (None, 14, 14, 512)       0         \n",
-      "_________________________________________________________________\n",
-      "block5_conv1 (Conv2D)        (None, 14, 14, 512)       2359808   \n",
-      "_________________________________________________________________\n",
-      "block5_conv2 (Conv2D)        (None, 14, 14, 512)       2359808   \n",
-      "_________________________________________________________________\n",
-      "block5_conv3 (Conv2D)        (None, 14, 14, 512)       2359808   \n",
-      "_________________________________________________________________\n",
-      "block5_pool (MaxPooling2D)   (None, 7, 7, 512)         0         \n",
-      "_________________________________________________________________\n",
-      "flatten (Flatten)            (None, 25088)             0         \n",
-      "_________________________________________________________________\n",
-      "fc1 (Dense)                  (None, 4096)              102764544 \n",
-      "_________________________________________________________________\n",
-      "fc2 (Dense)                  (None, 4096)              16781312  \n",
-      "=================================================================\n",
-      "Total params: 134,260,544\n",
-      "Trainable params: 134,260,544\n",
-      "Non-trainable params: 0\n",
-      "_________________________________________________________________\n",
-      "None\n"
-     ]
-    },
-    {
-     "ename": "FileNotFoundError",
-     "evalue": "[Errno 2] No such file or directory: 'Flicker8k_Dataset/'",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
-      "\u001b[0;32m<ipython-input-2-9545493bef71>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     39\u001b[0m \u001b[0;31m# extract features from all images\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     40\u001b[0m \u001b[0mdirectory\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'Flicker8k_Dataset/'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0mfeatures\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_features\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdirectory\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     42\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Extracted Features: %d'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfeatures\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     43\u001b[0m \u001b[0;31m# save to file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m<ipython-input-2-9545493bef71>\u001b[0m in \u001b[0;36mextract_features\u001b[0;34m(directory)\u001b[0m\n\u001b[1;32m     18\u001b[0m     \u001b[0;31m# extract features from each photo\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     19\u001b[0m     \u001b[0mfeatures\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m     \u001b[0;32mfor\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlistdir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdirectory\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     21\u001b[0m         \u001b[0;31m# load an image from file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     22\u001b[0m         \u001b[0mfilename\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdirectory\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m'/'\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'Flicker8k_Dataset/'"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "from os import listdir\n",
     "from pickle import dump\n",
@@ -2406,7 +2384,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 53,
+   "execution_count": 71,
    "metadata": {},
    "outputs": [
     {
@@ -2432,7 +2410,7 @@
     "    file.close()\n",
     "    return text\n",
     "\n",
-    "filename = './Flickr8k_text/Flickr8k.token.txt'\n",
+    "filename = './Flickr8k.token.txt'\n",
     "# load descriptions\n",
     "doc = load_doc(filename)\n",
     "print(doc[:410])"
@@ -2449,7 +2427,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 54,
+   "execution_count": 72,
    "metadata": {},
    "outputs": [
     {
@@ -2508,7 +2486,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 55,
+   "execution_count": 73,
    "metadata": {},
    "outputs": [
     {
@@ -2558,7 +2536,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 56,
+   "execution_count": 74,
    "metadata": {},
    "outputs": [
     {
@@ -2595,7 +2573,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 57,
+   "execution_count": 75,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -2676,7 +2654,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 58,
+   "execution_count": 87,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -2720,7 +2698,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 59,
+   "execution_count": 88,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -2759,7 +2737,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 60,
+   "execution_count": 89,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -2781,7 +2759,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 61,
+   "execution_count": 98,
    "metadata": {},
    "outputs": [
     {
@@ -2797,7 +2775,7 @@
    "source": [
     "from pickle import load\n",
     "# load training dataset (6K)\n",
-    "filename = 'Flickr8k_text/Flickr_8k.trainImages.txt'\n",
+    "filename = './Flickr8k_text/Flickr_8k.trainImages.txt'\n",
     "train = load_set(filename)\n",
     "print('Dataset: %d' % len(train))\n",
     "# descriptions\n",
@@ -2830,7 +2808,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 62,
+   "execution_count": 92,
    "metadata": {},
    "outputs": [
     {
@@ -2902,7 +2880,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 63,
+   "execution_count": 93,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -2940,7 +2918,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 64,
+   "execution_count": 94,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -2959,7 +2937,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 65,
+   "execution_count": 99,
    "metadata": {},
    "outputs": [
     {
@@ -2976,12 +2954,12 @@
    ],
    "source": [
     "from keras.preprocessing.sequence import pad_sequences\n",
-    "from keras.utils import to_categorical\n",
+    "from tensorflow.keras.utils import to_categorical\n",
     "\n",
     "# train dataset\n",
     "\n",
     "# load training dataset (6K)\n",
-    "filename = 'Flickr8k_text/Flickr_8k.trainImages.txt'\n",
+    "filename = './Flickr8k_text/Flickr_8k.trainImages.txt'\n",
     "train = load_set(filename)\n",
     "print('Dataset: %d' % len(train))\n",
     "# descriptions\n",
@@ -3001,7 +2979,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 66,
+   "execution_count": null,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -3496,27 +3474,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 75,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Description Length: 34\n",
-      "Dataset: 1000\n",
-      "Descriptions: test=1000\n",
-      "Photos: test=1000\n",
-      "BLEU-1: 0.537660\n",
-      "BLEU-2: 0.284404\n",
-      "BLEU-3: 0.190370\n",
-      "BLEU-4: 0.087817\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "from numpy import argmax\n",
     "from pickle import load\n",
+    "import nltk\n",
     "from tensorflow.keras.preprocessing.text import Tokenizer\n",
     "from tensorflow.keras.preprocessing.sequence import pad_sequences\n",
     "from tensorflow.keras.models import load_model\n",
@@ -3664,7 +3628,7 @@
     "# prepare test set\n",
     "\n",
     "# load test set\n",
-    "filename = 'Flickr8k_text/Flickr_8k.testImages.txt'\n",
+    "filename = 'Flickr_8k.testImages.txt'\n",
     "test = load_set(filename)\n",
     "print('Dataset: %d' % len(test))\n",
     "# descriptions\n",
-- 
GitLab