{ "cells": [ { "cell_type": "code", "execution_count": 24, "id": "4b3f3015", "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "code", "execution_count": 25, "id": "e4863a95", "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf\n", "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 26, "id": "c5df6c2f", "metadata": {}, "outputs": [], "source": [ "train_path='../Data/train'\n", "test_path='../Data/test'" ] }, { "cell_type": "code", "execution_count": 27, "id": "651f869f", "metadata": {}, "outputs": [], "source": [ "train_datagen=ImageDataGenerator(\n", " rescale=1./255,\n", " rotation_range=20,\n", " zoom_range=0.2,\n", " horizontal_flip=True\n", ")" ] }, { "cell_type": "code", "execution_count": 28, "id": "37b1c666", "metadata": {}, "outputs": [], "source": [ "test_datagen=ImageDataGenerator(rescale=1./255)" ] }, { "cell_type": "code", "execution_count": 29, "id": "cfe34b85", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 840 images belonging to 2 classes.\n" ] } ], "source": [ "training_set=train_datagen.flow_from_directory(\n", " '../Data/train',\n", " target_size=(224,224),\n", " batch_size=32,\n", " class_mode='categorical'\n", ")" ] }, { "cell_type": "code", "execution_count": 30, "id": "2cc5df3b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 188 images belonging to 2 classes.\n" ] } ], "source": [ "test_set=test_datagen.flow_from_directory(\n", " '../Data/test',\n", " target_size=(224,224),\n", " batch_size=32,\n", " class_mode='categorical'\n", ")" ] }, { "cell_type": "code", "execution_count": 31, "id": "bc5b004b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Class Indices : {'African': 0, 'Asian': 1}\n" ] } ], "source": [ "print(\"Class Indices : \",training_set.class_indices)" ] }, { "cell_type": "markdown", "id": "343c0a40", "metadata": {}, "source": [ "## Model Building" ] }, { "cell_type": "code", "execution_count": 32, "id": "d30d272b", "metadata": {}, "outputs": [], "source": [ "model=tf.keras.models.Sequential()\n", "\n", "model.add(tf.keras.layers.Conv2D(32,(3,3),activation='relu',input_shape=(224,224,3)))\n", "model.add(tf.keras.layers.BatchNormalization())\n", "model.add(tf.keras.layers.MaxPooling2D((2,2)))\n", "\n", "model.add(tf.keras.layers.Conv2D(64,(3,3),activation='relu'))\n", "model.add(tf.keras.layers.BatchNormalization())\n", "model.add(tf.keras.layers.MaxPooling2D(2,2))\n", "\n", "model.add(tf.keras.layers.Conv2D(128,(3,3),activation='relu'))\n", "model.add(tf.keras.layers.BatchNormalization())\n", "model.add(tf.keras.layers.MaxPooling2D(2,2))\n", "\n", "model.add(tf.keras.layers.Conv2D(256,(3,3),activation='relu'))\n", "model.add(tf.keras.layers.BatchNormalization())\n", "model.add(tf.keras.layers.MaxPooling2D(2,2))\n", "\n", "model.add(tf.keras.layers.Flatten())\n", "\n", "model.add(tf.keras.layers.Dense(256,activation='relu'))\n", "model.add(tf.keras.layers.Dropout(0.5))\n", "model.add(tf.keras.layers.Dense(128,activation='relu'))\n", "\n", "model.add(tf.keras.layers.Dense(2,activation='softmax'))\n" ] }, { "cell_type": "code", "execution_count": 33, "id": "837c62fe", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Model: \"sequential_1\"\n",
"\n"
],
"text/plain": [
"\u001b[1mModel: \"sequential_1\"\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
"┃ Layer (type) ┃ Output Shape ┃ Param # ┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
"│ conv2d_4 (Conv2D) │ (None, 222, 222, 32) │ 896 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_4 │ (None, 222, 222, 32) │ 128 │\n",
"│ (BatchNormalization) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_4 (MaxPooling2D) │ (None, 111, 111, 32) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_5 (Conv2D) │ (None, 109, 109, 64) │ 18,496 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_5 │ (None, 109, 109, 64) │ 256 │\n",
"│ (BatchNormalization) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_5 (MaxPooling2D) │ (None, 54, 54, 64) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_6 (Conv2D) │ (None, 52, 52, 128) │ 73,856 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_6 │ (None, 52, 52, 128) │ 512 │\n",
"│ (BatchNormalization) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_6 (MaxPooling2D) │ (None, 26, 26, 128) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_7 (Conv2D) │ (None, 24, 24, 256) │ 295,168 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_7 │ (None, 24, 24, 256) │ 1,024 │\n",
"│ (BatchNormalization) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_7 (MaxPooling2D) │ (None, 12, 12, 256) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ flatten_1 (Flatten) │ (None, 36864) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_5 (Dense) │ (None, 256) │ 9,437,440 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_2 (Dropout) │ (None, 256) │ 0 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_6 (Dense) │ (None, 128) │ 32,896 │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_7 (Dense) │ (None, 2) │ 258 │\n",
"└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
"\n"
],
"text/plain": [
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
"│ conv2d_4 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m222\u001b[0m, \u001b[38;5;34m222\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m896\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_4 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m222\u001b[0m, \u001b[38;5;34m222\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m128\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalization\u001b[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_4 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m111\u001b[0m, \u001b[38;5;34m111\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_5 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m109\u001b[0m, \u001b[38;5;34m109\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m18,496\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_5 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m109\u001b[0m, \u001b[38;5;34m109\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m256\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalization\u001b[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_5 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m54\u001b[0m, \u001b[38;5;34m54\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_6 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m52\u001b[0m, \u001b[38;5;34m52\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m73,856\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_6 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m52\u001b[0m, \u001b[38;5;34m52\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m512\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalization\u001b[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_6 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m26\u001b[0m, \u001b[38;5;34m26\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ conv2d_7 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m24\u001b[0m, \u001b[38;5;34m24\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m295,168\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ batch_normalization_7 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m24\u001b[0m, \u001b[38;5;34m24\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m1,024\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalization\u001b[0m) │ │ │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ max_pooling2d_7 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m12\u001b[0m, \u001b[38;5;34m12\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ flatten_1 (\u001b[38;5;33mFlatten\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m36864\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_5 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m9,437,440\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dropout_2 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_6 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m32,896\u001b[0m │\n",
"├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
"│ dense_7 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2\u001b[0m) │ \u001b[38;5;34m258\u001b[0m │\n",
"└─────────────────────────────────┴────────────────────────┴───────────────┘\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"Total params: 9,860,930 (37.62 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m9,860,930\u001b[0m (37.62 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Trainable params: 9,859,970 (37.61 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m9,859,970\u001b[0m (37.61 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Non-trainable params: 960 (3.75 KB)\n", "\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m960\u001b[0m (3.75 KB)\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model.summary()" ] }, { "cell_type": "code", "execution_count": 34, "id": "5b390d30", "metadata": {}, "outputs": [], "source": [ "model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])" ] }, { "cell_type": "code", "execution_count": 35, "id": "171f5289", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m39s\u001b[0m 1s/step - accuracy: 0.5119 - loss: 4.7620 - val_accuracy: 0.5160 - val_loss: 4.2555\n", "Epoch 2/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5179 - loss: 4.8246 - val_accuracy: 0.4840 - val_loss: 9.3489\n", "Epoch 3/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.4976 - loss: 4.4525 - val_accuracy: 0.5160 - val_loss: 4.7892\n", "Epoch 4/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5238 - loss: 3.5669 - val_accuracy: 0.5532 - val_loss: 1.3650\n", "Epoch 5/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5131 - loss: 2.6736 - val_accuracy: 0.5213 - val_loss: 1.9271\n", "Epoch 6/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5321 - loss: 2.2229 - val_accuracy: 0.6064 - val_loss: 0.9964\n", "Epoch 7/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5048 - loss: 2.0965 - val_accuracy: 0.5213 - val_loss: 3.8162\n", "Epoch 8/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5452 - loss: 1.5728 - val_accuracy: 0.6330 - val_loss: 1.0235\n", "Epoch 9/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5560 - loss: 1.4260 - val_accuracy: 0.5000 - val_loss: 2.5531\n", "Epoch 10/10\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5333 - loss: 1.3629 - val_accuracy: 0.5213 - val_loss: 1.0807\n" ] } ], "source": [ "history=model.fit(\n", " training_set,\n", " validation_data=test_set,\n", " epochs=10\n", ")" ] }, { "cell_type": "code", "execution_count": 36, "id": "492268aa", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model(model)`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')` or `keras.saving.save_model(model, 'my_model.keras')`. \n" ] } ], "source": [ "model.save('../Models/base1.h5')" ] }, { "cell_type": "code", "execution_count": 37, "id": "4dbb9775", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m31s\u001b[0m 1s/step - accuracy: 0.5369 - loss: 1.1742 - val_accuracy: 0.6064 - val_loss: 0.8373\n", "Epoch 2/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m31s\u001b[0m 1s/step - accuracy: 0.5548 - loss: 0.9726 - val_accuracy: 0.6489 - val_loss: 0.9056\n", "Epoch 3/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5274 - loss: 0.9327 - val_accuracy: 0.5691 - val_loss: 0.8091\n", "Epoch 4/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5369 - loss: 0.8900 - val_accuracy: 0.6277 - val_loss: 0.7191\n", "Epoch 5/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m31s\u001b[0m 1s/step - accuracy: 0.5202 - loss: 0.8681 - val_accuracy: 0.5851 - val_loss: 0.7360\n", "Epoch 6/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5548 - loss: 0.7775 - val_accuracy: 0.6489 - val_loss: 0.6532\n", "Epoch 7/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5643 - loss: 0.7389 - val_accuracy: 0.5319 - val_loss: 0.6811\n", "Epoch 8/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5393 - loss: 0.7063 - val_accuracy: 0.6170 - val_loss: 0.6608\n", "Epoch 9/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m30s\u001b[0m 1s/step - accuracy: 0.5512 - loss: 0.7172 - val_accuracy: 0.6277 - val_loss: 0.6696\n", "Epoch 10/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5417 - loss: 0.7183 - val_accuracy: 0.5638 - val_loss: 0.6854\n", "Epoch 11/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5643 - loss: 0.6935 - val_accuracy: 0.5957 - val_loss: 0.6764\n", "Epoch 12/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5631 - loss: 0.6974 - val_accuracy: 0.6436 - val_loss: 0.6384\n", "Epoch 13/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5786 - loss: 0.7023 - val_accuracy: 0.6543 - val_loss: 0.6457\n", "Epoch 14/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.5548 - loss: 0.7375 - val_accuracy: 0.5745 - val_loss: 0.6696\n", "Epoch 15/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5845 - loss: 0.6946 - val_accuracy: 0.6862 - val_loss: 0.6647\n", "Epoch 16/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5714 - loss: 0.6891 - val_accuracy: 0.6064 - val_loss: 0.6514\n", "Epoch 17/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.5798 - loss: 0.6914 - val_accuracy: 0.6543 - val_loss: 0.6366\n", "Epoch 18/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5548 - loss: 0.7050 - val_accuracy: 0.5957 - val_loss: 0.6579\n", "Epoch 19/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.5690 - loss: 0.6910 - val_accuracy: 0.6330 - val_loss: 0.6527\n", "Epoch 20/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.5905 - loss: 0.6701 - val_accuracy: 0.6170 - val_loss: 0.6625\n", "Epoch 21/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6048 - loss: 0.7065 - val_accuracy: 0.6968 - val_loss: 0.6012\n", "Epoch 22/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5750 - loss: 0.6813 - val_accuracy: 0.6915 - val_loss: 0.6274\n", "Epoch 23/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6071 - loss: 0.6733 - val_accuracy: 0.6755 - val_loss: 0.6364\n", "Epoch 24/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6071 - loss: 0.6666 - val_accuracy: 0.6649 - val_loss: 0.6323\n", "Epoch 25/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6095 - loss: 0.6774 - val_accuracy: 0.6064 - val_loss: 0.6475\n", "Epoch 26/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5988 - loss: 0.6651 - val_accuracy: 0.6436 - val_loss: 0.6887\n", "Epoch 27/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6036 - loss: 0.6679 - val_accuracy: 0.6649 - val_loss: 0.6458\n", "Epoch 28/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5929 - loss: 0.6762 - val_accuracy: 0.5851 - val_loss: 0.6651\n", "Epoch 29/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.5857 - loss: 0.6922 - val_accuracy: 0.6011 - val_loss: 0.6656\n", "Epoch 30/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5893 - loss: 0.6742 - val_accuracy: 0.6330 - val_loss: 0.6494\n", "Epoch 31/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6000 - loss: 0.6782 - val_accuracy: 0.7447 - val_loss: 0.6281\n", "Epoch 32/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6024 - loss: 0.6616 - val_accuracy: 0.6489 - val_loss: 0.6338\n", "Epoch 33/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6179 - loss: 0.6397 - val_accuracy: 0.6862 - val_loss: 0.6303\n", "Epoch 34/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6238 - loss: 0.6547 - val_accuracy: 0.6862 - val_loss: 0.6085\n", "Epoch 35/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6167 - loss: 0.6510 - val_accuracy: 0.6170 - val_loss: 0.6622\n", "Epoch 36/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6071 - loss: 0.6398 - val_accuracy: 0.6809 - val_loss: 0.5858\n", "Epoch 37/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.5917 - loss: 0.6768 - val_accuracy: 0.6064 - val_loss: 0.6660\n", "Epoch 38/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6060 - loss: 0.6479 - val_accuracy: 0.6702 - val_loss: 0.5821\n", "Epoch 39/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6036 - loss: 0.6308 - val_accuracy: 0.7287 - val_loss: 0.5963\n", "Epoch 40/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6345 - loss: 0.6438 - val_accuracy: 0.6915 - val_loss: 0.5844\n", "Epoch 41/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6274 - loss: 0.6509 - val_accuracy: 0.7074 - val_loss: 0.6235\n", "Epoch 42/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.5857 - loss: 0.6454 - val_accuracy: 0.6862 - val_loss: 0.6216\n", "Epoch 43/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6083 - loss: 0.6523 - val_accuracy: 0.6862 - val_loss: 0.6033\n", "Epoch 44/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6238 - loss: 0.6345 - val_accuracy: 0.7234 - val_loss: 0.6017\n", "Epoch 45/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6274 - loss: 0.6544 - val_accuracy: 0.6968 - val_loss: 0.6291\n", "Epoch 46/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6095 - loss: 0.6435 - val_accuracy: 0.7287 - val_loss: 0.5690\n", "Epoch 47/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6190 - loss: 0.6482 - val_accuracy: 0.6755 - val_loss: 0.6380\n", "Epoch 48/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6333 - loss: 0.6108 - val_accuracy: 0.6862 - val_loss: 0.6662\n", "Epoch 49/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6119 - loss: 0.6468 - val_accuracy: 0.6702 - val_loss: 0.6681\n", "Epoch 50/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6167 - loss: 0.6475 - val_accuracy: 0.6223 - val_loss: 0.6837\n", "Epoch 51/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6226 - loss: 0.6247 - val_accuracy: 0.6862 - val_loss: 0.6330\n", "Epoch 52/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6381 - loss: 0.6239 - val_accuracy: 0.6809 - val_loss: 0.6342\n", "Epoch 53/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6190 - loss: 0.6199 - val_accuracy: 0.6702 - val_loss: 0.6709\n", "Epoch 54/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6238 - loss: 0.6135 - val_accuracy: 0.6436 - val_loss: 0.6328\n", "Epoch 55/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6464 - loss: 0.5993 - val_accuracy: 0.7287 - val_loss: 0.6363\n", "Epoch 56/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6429 - loss: 0.6027 - val_accuracy: 0.7074 - val_loss: 0.5894\n", "Epoch 57/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m31s\u001b[0m 1s/step - accuracy: 0.6548 - loss: 0.6120 - val_accuracy: 0.7181 - val_loss: 0.6317\n", "Epoch 58/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6405 - loss: 0.6284 - val_accuracy: 0.6968 - val_loss: 0.5926\n", "Epoch 59/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6679 - loss: 0.5856 - val_accuracy: 0.6862 - val_loss: 0.6262\n", "Epoch 60/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6560 - loss: 0.5948 - val_accuracy: 0.6702 - val_loss: 0.6097\n", "Epoch 61/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6393 - loss: 0.6173 - val_accuracy: 0.6383 - val_loss: 0.6229\n", "Epoch 62/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6476 - loss: 0.6089 - val_accuracy: 0.6755 - val_loss: 0.6023\n", "Epoch 63/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6726 - loss: 0.6037 - val_accuracy: 0.6755 - val_loss: 0.6639\n", "Epoch 64/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6464 - loss: 0.5775 - val_accuracy: 0.6383 - val_loss: 0.6884\n", "Epoch 65/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6524 - loss: 0.5756 - val_accuracy: 0.6649 - val_loss: 0.6095\n", "Epoch 66/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6536 - loss: 0.5950 - val_accuracy: 0.7128 - val_loss: 0.5700\n", "Epoch 67/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6440 - loss: 0.6048 - val_accuracy: 0.6862 - val_loss: 0.6374\n", "Epoch 68/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6357 - loss: 0.6214 - val_accuracy: 0.7074 - val_loss: 0.6137\n", "Epoch 69/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6560 - loss: 0.5908 - val_accuracy: 0.6702 - val_loss: 0.6571\n", "Epoch 70/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6512 - loss: 0.6054 - val_accuracy: 0.6968 - val_loss: 0.6631\n", "Epoch 71/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6333 - loss: 0.6229 - val_accuracy: 0.6543 - val_loss: 0.6650\n", "Epoch 72/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6512 - loss: 0.6380 - val_accuracy: 0.6489 - val_loss: 0.6660\n", "Epoch 73/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6357 - loss: 0.6209 - val_accuracy: 0.6702 - val_loss: 0.5909\n", "Epoch 74/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6560 - loss: 0.6170 - val_accuracy: 0.6862 - val_loss: 0.6224\n", "Epoch 75/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6607 - loss: 0.6028 - val_accuracy: 0.6436 - val_loss: 0.6071\n", "Epoch 76/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6821 - loss: 0.5596 - val_accuracy: 0.6755 - val_loss: 0.6232\n", "Epoch 77/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6548 - loss: 0.5867 - val_accuracy: 0.6809 - val_loss: 0.6329\n", "Epoch 78/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6738 - loss: 0.5704 - val_accuracy: 0.6543 - val_loss: 0.6433\n", "Epoch 79/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6619 - loss: 0.5960 - val_accuracy: 0.6596 - val_loss: 0.6210\n", "Epoch 80/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6619 - loss: 0.6191 - val_accuracy: 0.7181 - val_loss: 0.5745\n", "Epoch 81/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6595 - loss: 0.6065 - val_accuracy: 0.7128 - val_loss: 0.5884\n", "Epoch 82/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6524 - loss: 0.5932 - val_accuracy: 0.6915 - val_loss: 0.5974\n", "Epoch 83/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6583 - loss: 0.6098 - val_accuracy: 0.7181 - val_loss: 0.6132\n", "Epoch 84/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6726 - loss: 0.5707 - val_accuracy: 0.7606 - val_loss: 0.5898\n", "Epoch 85/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6726 - loss: 0.5837 - val_accuracy: 0.7074 - val_loss: 0.6669\n", "Epoch 86/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6524 - loss: 0.5737 - val_accuracy: 0.7394 - val_loss: 0.5837\n", "Epoch 87/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6762 - loss: 0.5636 - val_accuracy: 0.7234 - val_loss: 0.6056\n", "Epoch 88/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m32s\u001b[0m 1s/step - accuracy: 0.6631 - loss: 0.5946 - val_accuracy: 0.6968 - val_loss: 0.6459\n", "Epoch 89/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6429 - loss: 0.6167 - val_accuracy: 0.6862 - val_loss: 0.5977\n", "Epoch 90/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6548 - loss: 0.5919 - val_accuracy: 0.7021 - val_loss: 0.5745\n", "Epoch 91/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6786 - loss: 0.5590 - val_accuracy: 0.6968 - val_loss: 0.5868\n", "Epoch 92/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6857 - loss: 0.5756 - val_accuracy: 0.7021 - val_loss: 0.5933\n", "Epoch 93/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6762 - loss: 0.5603 - val_accuracy: 0.6862 - val_loss: 0.6130\n", "Epoch 94/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m33s\u001b[0m 1s/step - accuracy: 0.6679 - loss: 0.5786 - val_accuracy: 0.7287 - val_loss: 0.5541\n", "Epoch 95/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6583 - loss: 0.5584 - val_accuracy: 0.6968 - val_loss: 0.5849\n", "Epoch 96/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6702 - loss: 0.5529 - val_accuracy: 0.7074 - val_loss: 0.5735\n", "Epoch 97/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6702 - loss: 0.5584 - val_accuracy: 0.7340 - val_loss: 0.6119\n", "Epoch 98/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m34s\u001b[0m 1s/step - accuracy: 0.6726 - loss: 0.5507 - val_accuracy: 0.6011 - val_loss: 0.7393\n", "Epoch 99/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6571 - loss: 0.5671 - val_accuracy: 0.6755 - val_loss: 0.5988\n", "Epoch 100/100\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m35s\u001b[0m 1s/step - accuracy: 0.6976 - loss: 0.5684 - val_accuracy: 0.6649 - val_loss: 0.6447\n" ] } ], "source": [ "history_2=model.fit(\n", " training_set,\n", " validation_data=test_set,\n", " epochs=100\n", ")" ] }, { "cell_type": "code", "execution_count": 38, "id": "5cdd3a92", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model(model)`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')` or `keras.saving.save_model(model, 'my_model.keras')`. \n" ] } ], "source": [ "model.save('../Models/base2.h5')" ] }, { "cell_type": "markdown", "id": "dc0fb547", "metadata": {}, "source": [ "## Transfer Learning" ] }, { "cell_type": "code", "execution_count": 39, "id": "ef3350aa", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Model: \"functional_35\"\n",
"\n"
],
"text/plain": [
"\u001b[1mModel: \"functional_35\"\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
"┃ Layer (type) ┃ Output Shape ┃ Param # ┃ Connected to ┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
"│ input_layer_4 │ (None, 224, 224, │ 0 │ - │\n",
"│ (InputLayer) │ 3) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv1 (Conv2D) │ (None, 112, 112, │ 864 │ input_layer_4[0]… │\n",
"│ │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ bn_Conv1 │ (None, 112, 112, │ 128 │ Conv1[0][0] │\n",
"│ (BatchNormalizatio… │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv1_relu (ReLU) │ (None, 112, 112, │ 0 │ bn_Conv1[0][0] │\n",
"│ │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_dept… │ (None, 112, 112, │ 288 │ Conv1_relu[0][0] │\n",
"│ (DepthwiseConv2D) │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_dept… │ (None, 112, 112, │ 128 │ expanded_conv_de… │\n",
"│ (BatchNormalizatio… │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_dept… │ (None, 112, 112, │ 0 │ expanded_conv_de… │\n",
"│ (ReLU) │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_proj… │ (None, 112, 112, │ 512 │ expanded_conv_de… │\n",
"│ (Conv2D) │ 16) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_proj… │ (None, 112, 112, │ 64 │ expanded_conv_pr… │\n",
"│ (BatchNormalizatio… │ 16) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_expand │ (None, 112, 112, │ 1,536 │ expanded_conv_pr… │\n",
"│ (Conv2D) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_expand_BN │ (None, 112, 112, │ 384 │ block_1_expand[0… │\n",
"│ (BatchNormalizatio… │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_expand_relu │ (None, 112, 112, │ 0 │ block_1_expand_B… │\n",
"│ (ReLU) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_pad │ (None, 113, 113, │ 0 │ block_1_expand_r… │\n",
"│ (ZeroPadding2D) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_depthwise │ (None, 56, 56, │ 864 │ block_1_pad[0][0] │\n",
"│ (DepthwiseConv2D) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_depthwise_… │ (None, 56, 56, │ 384 │ block_1_depthwis… │\n",
"│ (BatchNormalizatio… │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_depthwise_… │ (None, 56, 56, │ 0 │ block_1_depthwis… │\n",
"│ (ReLU) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_project │ (None, 56, 56, │ 2,304 │ block_1_depthwis… │\n",
"│ (Conv2D) │ 24) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_project_BN │ (None, 56, 56, │ 96 │ block_1_project[… │\n",
"│ (BatchNormalizatio… │ 24) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_expand │ (None, 56, 56, │ 3,456 │ block_1_project_… │\n",
"│ (Conv2D) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_expand_BN │ (None, 56, 56, │ 576 │ block_2_expand[0… │\n",
"│ (BatchNormalizatio… │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_expand_relu │ (None, 56, 56, │ 0 │ block_2_expand_B… │\n",
"│ (ReLU) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_depthwise │ (None, 56, 56, │ 1,296 │ block_2_expand_r… │\n",
"│ (DepthwiseConv2D) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_depthwise_… │ (None, 56, 56, │ 576 │ block_2_depthwis… │\n",
"│ (BatchNormalizatio… │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_depthwise_… │ (None, 56, 56, │ 0 │ block_2_depthwis… │\n",
"│ (ReLU) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_project │ (None, 56, 56, │ 3,456 │ block_2_depthwis… │\n",
"│ (Conv2D) │ 24) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_project_BN │ (None, 56, 56, │ 96 │ block_2_project[… │\n",
"│ (BatchNormalizatio… │ 24) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_add (Add) │ (None, 56, 56, │ 0 │ block_1_project_… │\n",
"│ │ 24) │ │ block_2_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_expand │ (None, 56, 56, │ 3,456 │ block_2_add[0][0] │\n",
"│ (Conv2D) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_expand_BN │ (None, 56, 56, │ 576 │ block_3_expand[0… │\n",
"│ (BatchNormalizatio… │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_expand_relu │ (None, 56, 56, │ 0 │ block_3_expand_B… │\n",
"│ (ReLU) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_pad │ (None, 57, 57, │ 0 │ block_3_expand_r… │\n",
"│ (ZeroPadding2D) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_depthwise │ (None, 28, 28, │ 1,296 │ block_3_pad[0][0] │\n",
"│ (DepthwiseConv2D) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_depthwise_… │ (None, 28, 28, │ 576 │ block_3_depthwis… │\n",
"│ (BatchNormalizatio… │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_depthwise_… │ (None, 28, 28, │ 0 │ block_3_depthwis… │\n",
"│ (ReLU) │ 144) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_project │ (None, 28, 28, │ 4,608 │ block_3_depthwis… │\n",
"│ (Conv2D) │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_project_BN │ (None, 28, 28, │ 128 │ block_3_project[… │\n",
"│ (BatchNormalizatio… │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_expand │ (None, 28, 28, │ 6,144 │ block_3_project_… │\n",
"│ (Conv2D) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_expand_BN │ (None, 28, 28, │ 768 │ block_4_expand[0… │\n",
"│ (BatchNormalizatio… │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_expand_relu │ (None, 28, 28, │ 0 │ block_4_expand_B… │\n",
"│ (ReLU) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_depthwise │ (None, 28, 28, │ 1,728 │ block_4_expand_r… │\n",
"│ (DepthwiseConv2D) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_depthwise_… │ (None, 28, 28, │ 768 │ block_4_depthwis… │\n",
"│ (BatchNormalizatio… │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_depthwise_… │ (None, 28, 28, │ 0 │ block_4_depthwis… │\n",
"│ (ReLU) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_project │ (None, 28, 28, │ 6,144 │ block_4_depthwis… │\n",
"│ (Conv2D) │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_project_BN │ (None, 28, 28, │ 128 │ block_4_project[… │\n",
"│ (BatchNormalizatio… │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_add (Add) │ (None, 28, 28, │ 0 │ block_3_project_… │\n",
"│ │ 32) │ │ block_4_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_expand │ (None, 28, 28, │ 6,144 │ block_4_add[0][0] │\n",
"│ (Conv2D) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_expand_BN │ (None, 28, 28, │ 768 │ block_5_expand[0… │\n",
"│ (BatchNormalizatio… │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_expand_relu │ (None, 28, 28, │ 0 │ block_5_expand_B… │\n",
"│ (ReLU) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_depthwise │ (None, 28, 28, │ 1,728 │ block_5_expand_r… │\n",
"│ (DepthwiseConv2D) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_depthwise_… │ (None, 28, 28, │ 768 │ block_5_depthwis… │\n",
"│ (BatchNormalizatio… │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_depthwise_… │ (None, 28, 28, │ 0 │ block_5_depthwis… │\n",
"│ (ReLU) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_project │ (None, 28, 28, │ 6,144 │ block_5_depthwis… │\n",
"│ (Conv2D) │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_project_BN │ (None, 28, 28, │ 128 │ block_5_project[… │\n",
"│ (BatchNormalizatio… │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_add (Add) │ (None, 28, 28, │ 0 │ block_4_add[0][0… │\n",
"│ │ 32) │ │ block_5_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_expand │ (None, 28, 28, │ 6,144 │ block_5_add[0][0] │\n",
"│ (Conv2D) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_expand_BN │ (None, 28, 28, │ 768 │ block_6_expand[0… │\n",
"│ (BatchNormalizatio… │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_expand_relu │ (None, 28, 28, │ 0 │ block_6_expand_B… │\n",
"│ (ReLU) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_pad │ (None, 29, 29, │ 0 │ block_6_expand_r… │\n",
"│ (ZeroPadding2D) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_depthwise │ (None, 14, 14, │ 1,728 │ block_6_pad[0][0] │\n",
"│ (DepthwiseConv2D) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_depthwise_… │ (None, 14, 14, │ 768 │ block_6_depthwis… │\n",
"│ (BatchNormalizatio… │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_depthwise_… │ (None, 14, 14, │ 0 │ block_6_depthwis… │\n",
"│ (ReLU) │ 192) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_project │ (None, 14, 14, │ 12,288 │ block_6_depthwis… │\n",
"│ (Conv2D) │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_project_BN │ (None, 14, 14, │ 256 │ block_6_project[… │\n",
"│ (BatchNormalizatio… │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_expand │ (None, 14, 14, │ 24,576 │ block_6_project_… │\n",
"│ (Conv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_expand_BN │ (None, 14, 14, │ 1,536 │ block_7_expand[0… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_expand_relu │ (None, 14, 14, │ 0 │ block_7_expand_B… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_depthwise │ (None, 14, 14, │ 3,456 │ block_7_expand_r… │\n",
"│ (DepthwiseConv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_depthwise_… │ (None, 14, 14, │ 1,536 │ block_7_depthwis… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_depthwise_… │ (None, 14, 14, │ 0 │ block_7_depthwis… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_project │ (None, 14, 14, │ 24,576 │ block_7_depthwis… │\n",
"│ (Conv2D) │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_project_BN │ (None, 14, 14, │ 256 │ block_7_project[… │\n",
"│ (BatchNormalizatio… │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_add (Add) │ (None, 14, 14, │ 0 │ block_6_project_… │\n",
"│ │ 64) │ │ block_7_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_expand │ (None, 14, 14, │ 24,576 │ block_7_add[0][0] │\n",
"│ (Conv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_expand_BN │ (None, 14, 14, │ 1,536 │ block_8_expand[0… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_expand_relu │ (None, 14, 14, │ 0 │ block_8_expand_B… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_depthwise │ (None, 14, 14, │ 3,456 │ block_8_expand_r… │\n",
"│ (DepthwiseConv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_depthwise_… │ (None, 14, 14, │ 1,536 │ block_8_depthwis… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_depthwise_… │ (None, 14, 14, │ 0 │ block_8_depthwis… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_project │ (None, 14, 14, │ 24,576 │ block_8_depthwis… │\n",
"│ (Conv2D) │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_project_BN │ (None, 14, 14, │ 256 │ block_8_project[… │\n",
"│ (BatchNormalizatio… │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_add (Add) │ (None, 14, 14, │ 0 │ block_7_add[0][0… │\n",
"│ │ 64) │ │ block_8_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_expand │ (None, 14, 14, │ 24,576 │ block_8_add[0][0] │\n",
"│ (Conv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_expand_BN │ (None, 14, 14, │ 1,536 │ block_9_expand[0… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_expand_relu │ (None, 14, 14, │ 0 │ block_9_expand_B… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_depthwise │ (None, 14, 14, │ 3,456 │ block_9_expand_r… │\n",
"│ (DepthwiseConv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_depthwise_… │ (None, 14, 14, │ 1,536 │ block_9_depthwis… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_depthwise_… │ (None, 14, 14, │ 0 │ block_9_depthwis… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_project │ (None, 14, 14, │ 24,576 │ block_9_depthwis… │\n",
"│ (Conv2D) │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_project_BN │ (None, 14, 14, │ 256 │ block_9_project[… │\n",
"│ (BatchNormalizatio… │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_add (Add) │ (None, 14, 14, │ 0 │ block_8_add[0][0… │\n",
"│ │ 64) │ │ block_9_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_expand │ (None, 14, 14, │ 24,576 │ block_9_add[0][0] │\n",
"│ (Conv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_expand_BN │ (None, 14, 14, │ 1,536 │ block_10_expand[… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_expand_re… │ (None, 14, 14, │ 0 │ block_10_expand_… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_depthwise │ (None, 14, 14, │ 3,456 │ block_10_expand_… │\n",
"│ (DepthwiseConv2D) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_depthwise… │ (None, 14, 14, │ 1,536 │ block_10_depthwi… │\n",
"│ (BatchNormalizatio… │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_depthwise… │ (None, 14, 14, │ 0 │ block_10_depthwi… │\n",
"│ (ReLU) │ 384) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_project │ (None, 14, 14, │ 36,864 │ block_10_depthwi… │\n",
"│ (Conv2D) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_project_BN │ (None, 14, 14, │ 384 │ block_10_project… │\n",
"│ (BatchNormalizatio… │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_expand │ (None, 14, 14, │ 55,296 │ block_10_project… │\n",
"│ (Conv2D) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_expand_BN │ (None, 14, 14, │ 2,304 │ block_11_expand[… │\n",
"│ (BatchNormalizatio… │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_expand_re… │ (None, 14, 14, │ 0 │ block_11_expand_… │\n",
"│ (ReLU) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_depthwise │ (None, 14, 14, │ 5,184 │ block_11_expand_… │\n",
"│ (DepthwiseConv2D) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_depthwise… │ (None, 14, 14, │ 2,304 │ block_11_depthwi… │\n",
"│ (BatchNormalizatio… │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_depthwise… │ (None, 14, 14, │ 0 │ block_11_depthwi… │\n",
"│ (ReLU) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_project │ (None, 14, 14, │ 55,296 │ block_11_depthwi… │\n",
"│ (Conv2D) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_project_BN │ (None, 14, 14, │ 384 │ block_11_project… │\n",
"│ (BatchNormalizatio… │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_add (Add) │ (None, 14, 14, │ 0 │ block_10_project… │\n",
"│ │ 96) │ │ block_11_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_expand │ (None, 14, 14, │ 55,296 │ block_11_add[0][… │\n",
"│ (Conv2D) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_expand_BN │ (None, 14, 14, │ 2,304 │ block_12_expand[… │\n",
"│ (BatchNormalizatio… │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_expand_re… │ (None, 14, 14, │ 0 │ block_12_expand_… │\n",
"│ (ReLU) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_depthwise │ (None, 14, 14, │ 5,184 │ block_12_expand_… │\n",
"│ (DepthwiseConv2D) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_depthwise… │ (None, 14, 14, │ 2,304 │ block_12_depthwi… │\n",
"│ (BatchNormalizatio… │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_depthwise… │ (None, 14, 14, │ 0 │ block_12_depthwi… │\n",
"│ (ReLU) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_project │ (None, 14, 14, │ 55,296 │ block_12_depthwi… │\n",
"│ (Conv2D) │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_project_BN │ (None, 14, 14, │ 384 │ block_12_project… │\n",
"│ (BatchNormalizatio… │ 96) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_add (Add) │ (None, 14, 14, │ 0 │ block_11_add[0][… │\n",
"│ │ 96) │ │ block_12_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_expand │ (None, 14, 14, │ 55,296 │ block_12_add[0][… │\n",
"│ (Conv2D) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_expand_BN │ (None, 14, 14, │ 2,304 │ block_13_expand[… │\n",
"│ (BatchNormalizatio… │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_expand_re… │ (None, 14, 14, │ 0 │ block_13_expand_… │\n",
"│ (ReLU) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_pad │ (None, 15, 15, │ 0 │ block_13_expand_… │\n",
"│ (ZeroPadding2D) │ 576) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_depthwise │ (None, 7, 7, 576) │ 5,184 │ block_13_pad[0][… │\n",
"│ (DepthwiseConv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_depthwise… │ (None, 7, 7, 576) │ 2,304 │ block_13_depthwi… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_depthwise… │ (None, 7, 7, 576) │ 0 │ block_13_depthwi… │\n",
"│ (ReLU) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_project │ (None, 7, 7, 160) │ 92,160 │ block_13_depthwi… │\n",
"│ (Conv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_project_BN │ (None, 7, 7, 160) │ 640 │ block_13_project… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_expand │ (None, 7, 7, 960) │ 153,600 │ block_13_project… │\n",
"│ (Conv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_expand_BN │ (None, 7, 7, 960) │ 3,840 │ block_14_expand[… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_expand_re… │ (None, 7, 7, 960) │ 0 │ block_14_expand_… │\n",
"│ (ReLU) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_depthwise │ (None, 7, 7, 960) │ 8,640 │ block_14_expand_… │\n",
"│ (DepthwiseConv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_depthwise… │ (None, 7, 7, 960) │ 3,840 │ block_14_depthwi… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_depthwise… │ (None, 7, 7, 960) │ 0 │ block_14_depthwi… │\n",
"│ (ReLU) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_project │ (None, 7, 7, 160) │ 153,600 │ block_14_depthwi… │\n",
"│ (Conv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_project_BN │ (None, 7, 7, 160) │ 640 │ block_14_project… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_add (Add) │ (None, 7, 7, 160) │ 0 │ block_13_project… │\n",
"│ │ │ │ block_14_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_expand │ (None, 7, 7, 960) │ 153,600 │ block_14_add[0][… │\n",
"│ (Conv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_expand_BN │ (None, 7, 7, 960) │ 3,840 │ block_15_expand[… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_expand_re… │ (None, 7, 7, 960) │ 0 │ block_15_expand_… │\n",
"│ (ReLU) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_depthwise │ (None, 7, 7, 960) │ 8,640 │ block_15_expand_… │\n",
"│ (DepthwiseConv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_depthwise… │ (None, 7, 7, 960) │ 3,840 │ block_15_depthwi… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_depthwise… │ (None, 7, 7, 960) │ 0 │ block_15_depthwi… │\n",
"│ (ReLU) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_project │ (None, 7, 7, 160) │ 153,600 │ block_15_depthwi… │\n",
"│ (Conv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_project_BN │ (None, 7, 7, 160) │ 640 │ block_15_project… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_add (Add) │ (None, 7, 7, 160) │ 0 │ block_14_add[0][… │\n",
"│ │ │ │ block_15_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_expand │ (None, 7, 7, 960) │ 153,600 │ block_15_add[0][… │\n",
"│ (Conv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_expand_BN │ (None, 7, 7, 960) │ 3,840 │ block_16_expand[… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_expand_re… │ (None, 7, 7, 960) │ 0 │ block_16_expand_… │\n",
"│ (ReLU) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_depthwise │ (None, 7, 7, 960) │ 8,640 │ block_16_expand_… │\n",
"│ (DepthwiseConv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_depthwise… │ (None, 7, 7, 960) │ 3,840 │ block_16_depthwi… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_depthwise… │ (None, 7, 7, 960) │ 0 │ block_16_depthwi… │\n",
"│ (ReLU) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_project │ (None, 7, 7, 320) │ 307,200 │ block_16_depthwi… │\n",
"│ (Conv2D) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_project_BN │ (None, 7, 7, 320) │ 1,280 │ block_16_project… │\n",
"│ (BatchNormalizatio… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv_1 (Conv2D) │ (None, 7, 7, │ 409,600 │ block_16_project… │\n",
"│ │ 1280) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv_1_bn │ (None, 7, 7, │ 5,120 │ Conv_1[0][0] │\n",
"│ (BatchNormalizatio… │ 1280) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ out_relu (ReLU) │ (None, 7, 7, │ 0 │ Conv_1_bn[0][0] │\n",
"│ │ 1280) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ global_average_poo… │ (None, 1280) │ 0 │ out_relu[0][0] │\n",
"│ (GlobalAveragePool… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_8 (Dense) │ (None, 256) │ 327,936 │ global_average_p… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dropout_3 (Dropout) │ (None, 256) │ 0 │ dense_8[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_9 (Dense) │ (None, 2) │ 514 │ dropout_3[0][0] │\n",
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n",
"\n"
],
"text/plain": [
"┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mConnected to \u001b[0m\u001b[1m \u001b[0m┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
"│ input_layer_4 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m224\u001b[0m, \u001b[38;5;34m224\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ - │\n",
"│ (\u001b[38;5;33mInputLayer\u001b[0m) │ \u001b[38;5;34m3\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv1 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m864\u001b[0m │ input_layer_4[\u001b[38;5;34m0\u001b[0m]… │\n",
"│ │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ bn_Conv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m128\u001b[0m │ Conv1[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv1_relu (\u001b[38;5;33mReLU\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ bn_Conv1[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_dept… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m288\u001b[0m │ Conv1_relu[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_dept… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m128\u001b[0m │ expanded_conv_de… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_dept… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ expanded_conv_de… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_proj… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m512\u001b[0m │ expanded_conv_de… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m16\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ expanded_conv_proj… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m64\u001b[0m │ expanded_conv_pr… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m16\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ expanded_conv_pr… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m384\u001b[0m │ block_1_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m112\u001b[0m, \u001b[38;5;34m112\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_1_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_pad │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m113\u001b[0m, \u001b[38;5;34m113\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_1_expand_r… │\n",
"│ (\u001b[38;5;33mZeroPadding2D\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m864\u001b[0m │ block_1_pad[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m384\u001b[0m │ block_1_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_1_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m2,304\u001b[0m │ block_1_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m24\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_1_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m96\u001b[0m │ block_1_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m24\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m3,456\u001b[0m │ block_1_project_… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m576\u001b[0m │ block_2_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_2_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m1,296\u001b[0m │ block_2_expand_r… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m576\u001b[0m │ block_2_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_2_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m3,456\u001b[0m │ block_2_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m24\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m96\u001b[0m │ block_2_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m24\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_2_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_1_project_… │\n",
"│ │ \u001b[38;5;34m24\u001b[0m) │ │ block_2_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m3,456\u001b[0m │ block_2_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m576\u001b[0m │ block_3_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m56\u001b[0m, \u001b[38;5;34m56\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_3_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_pad │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m57\u001b[0m, \u001b[38;5;34m57\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_3_expand_r… │\n",
"│ (\u001b[38;5;33mZeroPadding2D\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m1,296\u001b[0m │ block_3_pad[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m576\u001b[0m │ block_3_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_3_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m144\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m4,608\u001b[0m │ block_3_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_3_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m128\u001b[0m │ block_3_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m6,144\u001b[0m │ block_3_project_… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m768\u001b[0m │ block_4_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_4_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m1,728\u001b[0m │ block_4_expand_r… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m768\u001b[0m │ block_4_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_4_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m6,144\u001b[0m │ block_4_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m128\u001b[0m │ block_4_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_4_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_3_project_… │\n",
"│ │ \u001b[38;5;34m32\u001b[0m) │ │ block_4_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m6,144\u001b[0m │ block_4_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m768\u001b[0m │ block_5_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_5_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m1,728\u001b[0m │ block_5_expand_r… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m768\u001b[0m │ block_5_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_5_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m6,144\u001b[0m │ block_5_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m128\u001b[0m │ block_5_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_5_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_4_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m… │\n",
"│ │ \u001b[38;5;34m32\u001b[0m) │ │ block_5_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m6,144\u001b[0m │ block_5_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m768\u001b[0m │ block_6_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m28\u001b[0m, \u001b[38;5;34m28\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_6_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_pad │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m29\u001b[0m, \u001b[38;5;34m29\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_6_expand_r… │\n",
"│ (\u001b[38;5;33mZeroPadding2D\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,728\u001b[0m │ block_6_pad[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m768\u001b[0m │ block_6_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_6_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m192\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m12,288\u001b[0m │ block_6_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_6_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m256\u001b[0m │ block_6_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m24,576\u001b[0m │ block_6_project_… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_7_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_7_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m3,456\u001b[0m │ block_7_expand_r… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_7_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_7_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m24,576\u001b[0m │ block_7_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m256\u001b[0m │ block_7_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_7_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_6_project_… │\n",
"│ │ \u001b[38;5;34m64\u001b[0m) │ │ block_7_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m24,576\u001b[0m │ block_7_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_8_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_8_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m3,456\u001b[0m │ block_8_expand_r… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_8_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_8_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m24,576\u001b[0m │ block_8_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m256\u001b[0m │ block_8_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_8_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_7_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m… │\n",
"│ │ \u001b[38;5;34m64\u001b[0m) │ │ block_8_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m24,576\u001b[0m │ block_8_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_9_expand[\u001b[38;5;34m0\u001b[0m… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_expand_relu │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_9_expand_B… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m3,456\u001b[0m │ block_9_expand_r… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_9_depthwis… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_depthwise_… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_9_depthwis… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m24,576\u001b[0m │ block_9_depthwis… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m256\u001b[0m │ block_9_project[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_9_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_8_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m… │\n",
"│ │ \u001b[38;5;34m64\u001b[0m) │ │ block_9_project_… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m24,576\u001b[0m │ block_9_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_10_expand[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_expand_re… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_10_expand_… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m3,456\u001b[0m │ block_10_expand_… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m1,536\u001b[0m │ block_10_depthwi… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_10_depthwi… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m384\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m36,864\u001b[0m │ block_10_depthwi… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_10_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m384\u001b[0m │ block_10_project… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m55,296\u001b[0m │ block_10_project… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m2,304\u001b[0m │ block_11_expand[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_expand_re… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_11_expand_… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m5,184\u001b[0m │ block_11_expand_… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m2,304\u001b[0m │ block_11_depthwi… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_11_depthwi… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m55,296\u001b[0m │ block_11_depthwi… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m384\u001b[0m │ block_11_project… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_11_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_10_project… │\n",
"│ │ \u001b[38;5;34m96\u001b[0m) │ │ block_11_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m55,296\u001b[0m │ block_11_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m2,304\u001b[0m │ block_12_expand[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_expand_re… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_12_expand_… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m5,184\u001b[0m │ block_12_expand_… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m2,304\u001b[0m │ block_12_depthwi… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_12_depthwi… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m55,296\u001b[0m │ block_12_depthwi… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m384\u001b[0m │ block_12_project… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m96\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_12_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_11_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ │ \u001b[38;5;34m96\u001b[0m) │ │ block_12_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m55,296\u001b[0m │ block_12_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m2,304\u001b[0m │ block_13_expand[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_expand_re… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m14\u001b[0m, \u001b[38;5;34m14\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_13_expand_… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_pad │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m15\u001b[0m, \u001b[38;5;34m15\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block_13_expand_… │\n",
"│ (\u001b[38;5;33mZeroPadding2D\u001b[0m) │ \u001b[38;5;34m576\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m576\u001b[0m) │ \u001b[38;5;34m5,184\u001b[0m │ block_13_pad[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m576\u001b[0m) │ \u001b[38;5;34m2,304\u001b[0m │ block_13_depthwi… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m576\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_13_depthwi… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m92,160\u001b[0m │ block_13_depthwi… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_13_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m640\u001b[0m │ block_13_project… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m153,600\u001b[0m │ block_13_project… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m3,840\u001b[0m │ block_14_expand[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_expand_re… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_14_expand_… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m8,640\u001b[0m │ block_14_expand_… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m3,840\u001b[0m │ block_14_depthwi… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_14_depthwi… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m153,600\u001b[0m │ block_14_depthwi… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m640\u001b[0m │ block_14_project… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_14_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_13_project… │\n",
"│ │ │ │ block_14_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m153,600\u001b[0m │ block_14_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m3,840\u001b[0m │ block_15_expand[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_expand_re… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_15_expand_… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m8,640\u001b[0m │ block_15_expand_… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m3,840\u001b[0m │ block_15_depthwi… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_15_depthwi… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m153,600\u001b[0m │ block_15_depthwi… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m640\u001b[0m │ block_15_project… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_15_add (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m160\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_14_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ │ │ │ block_15_project… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_expand │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m153,600\u001b[0m │ block_15_add[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_expand_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m3,840\u001b[0m │ block_16_expand[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_expand_re… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_16_expand_… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_depthwise │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m8,640\u001b[0m │ block_16_expand_… │\n",
"│ (\u001b[38;5;33mDepthwiseConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m3,840\u001b[0m │ block_16_depthwi… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_depthwise… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m960\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block_16_depthwi… │\n",
"│ (\u001b[38;5;33mReLU\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_project │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m320\u001b[0m) │ \u001b[38;5;34m307,200\u001b[0m │ block_16_depthwi… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block_16_project_BN │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m320\u001b[0m) │ \u001b[38;5;34m1,280\u001b[0m │ block_16_project… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv_1 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, │ \u001b[38;5;34m409,600\u001b[0m │ block_16_project… │\n",
"│ │ \u001b[38;5;34m1280\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ Conv_1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, │ \u001b[38;5;34m5,120\u001b[0m │ Conv_1[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m1280\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ out_relu (\u001b[38;5;33mReLU\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m7\u001b[0m, \u001b[38;5;34m7\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ Conv_1_bn[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ │ \u001b[38;5;34m1280\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ global_average_poo… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1280\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ out_relu[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mGlobalAveragePool…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_8 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m327,936\u001b[0m │ global_average_p… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dropout_3 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ dense_8[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_9 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2\u001b[0m) │ \u001b[38;5;34m514\u001b[0m │ dropout_3[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"Total params: 2,586,434 (9.87 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m2,586,434\u001b[0m (9.87 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Trainable params: 328,450 (1.25 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m328,450\u001b[0m (1.25 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Non-trainable params: 2,257,984 (8.61 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m2,257,984\u001b[0m (8.61 MB)\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "base=tf.keras.applications.MobileNetV2(\n", " input_shape=(224,224,3),\n", " include_top=False,\n", " weights='imagenet'\n", ")\n", "base.trainable=False\n", "\n", "x=base.output\n", "x=tf.keras.layers.GlobalAveragePooling2D()(x)\n", "x=tf.keras.layers.Dense(256,activation='relu')(x)\n", "x=tf.keras.layers.Dropout(0.4)(x)\n", "outputs=tf.keras.layers.Dense(training_set.num_classes,activation='softmax')(x)\n", "\n", "model_tf=tf.keras.models.Model(inputs=base.input,outputs=outputs)\n", "\n", "model_tf.compile(\n", " optimizer='Adam',\n", " loss='categorical_crossentropy',\n", " metrics=['accuracy']\n", ")\n", "model_tf.summary()" ] }, { "cell_type": "code", "execution_count": 40, "id": "cedf6e98", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 820ms/step - accuracy: 0.6262 - loss: 0.7541 - val_accuracy: 0.8085 - val_loss: 0.4269\n", "Epoch 2/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 686ms/step - accuracy: 0.7190 - loss: 0.5763 - val_accuracy: 0.8617 - val_loss: 0.4284\n", "Epoch 3/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 714ms/step - accuracy: 0.7476 - loss: 0.5511 - val_accuracy: 0.8457 - val_loss: 0.4122\n", "Epoch 4/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 726ms/step - accuracy: 0.7560 - loss: 0.4985 - val_accuracy: 0.8404 - val_loss: 0.4044\n", "Epoch 5/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 710ms/step - accuracy: 0.7583 - loss: 0.5093 - val_accuracy: 0.8670 - val_loss: 0.3998\n", "Epoch 6/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 691ms/step - accuracy: 0.7774 - loss: 0.4878 - val_accuracy: 0.8564 - val_loss: 0.3859\n", "Epoch 7/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 716ms/step - accuracy: 0.7750 - loss: 0.4683 - val_accuracy: 0.7979 - val_loss: 0.4352\n", "Epoch 8/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 704ms/step - accuracy: 0.7310 - loss: 0.5135 - val_accuracy: 0.8564 - val_loss: 0.4063\n", "Epoch 9/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 725ms/step - accuracy: 0.8012 - loss: 0.4376 - val_accuracy: 0.8617 - val_loss: 0.3896\n", "Epoch 10/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 710ms/step - accuracy: 0.8083 - loss: 0.4358 - val_accuracy: 0.7819 - val_loss: 0.4385\n", "Epoch 11/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m20s\u001b[0m 723ms/step - accuracy: 0.7810 - loss: 0.4505 - val_accuracy: 0.8191 - val_loss: 0.3866\n", "Epoch 12/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 709ms/step - accuracy: 0.7857 - loss: 0.4518 - val_accuracy: 0.8564 - val_loss: 0.3817\n", "Epoch 13/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 700ms/step - accuracy: 0.8095 - loss: 0.4287 - val_accuracy: 0.8564 - val_loss: 0.3537\n", "Epoch 14/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 703ms/step - accuracy: 0.8012 - loss: 0.4182 - val_accuracy: 0.8777 - val_loss: 0.3614\n", "Epoch 15/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 721ms/step - accuracy: 0.8155 - loss: 0.4063 - val_accuracy: 0.8564 - val_loss: 0.3416\n", "Epoch 16/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 705ms/step - accuracy: 0.8131 - loss: 0.3959 - val_accuracy: 0.7713 - val_loss: 0.4231\n", "Epoch 17/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 699ms/step - accuracy: 0.8071 - loss: 0.4134 - val_accuracy: 0.8032 - val_loss: 0.4276\n", "Epoch 18/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 705ms/step - accuracy: 0.8202 - loss: 0.3994 - val_accuracy: 0.7606 - val_loss: 0.4485\n", "Epoch 19/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 702ms/step - accuracy: 0.8071 - loss: 0.4119 - val_accuracy: 0.8085 - val_loss: 0.3924\n", "Epoch 20/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 717ms/step - accuracy: 0.8405 - loss: 0.3648 - val_accuracy: 0.7819 - val_loss: 0.4198\n" ] } ], "source": [ "history_3=model_tf.fit(\n", " training_set,\n", " validation_data=test_set,\n", " epochs=20\n", ")" ] }, { "cell_type": "markdown", "id": "2b086691", "metadata": {}, "source": [ "## Hyper Parameter Optimization on MobileNetV2" ] }, { "cell_type": "code", "execution_count": 47, "id": "419a14fd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Trial 20 Complete [00h 06m 18s]\n", "val_accuracy: 0.8191489577293396\n", "\n", "Best val_accuracy So Far: 0.9042553305625916\n", "Total elapsed time: 01h 44m 18s\n", "Best Hyperparameters:\n", "{'dense_units': 448, 'dropout_rate': 0.30000000000000004, 'learning_rate': 0.0008600386904862594}\n", "best Validation Accuracy From Scratch: 0.9042553305625916\n" ] } ], "source": [ "num_classes=training_set.num_classes\n", "\n", "def build_model(hp):\n", " base=tf.keras.applications.MobileNetV2(\n", " input_shape = (224, 224, 3),\n", " include_top=False,\n", " weights='imagenet'\n", " )\n", "\n", " base.trainable=False\n", "\n", " x=base.output\n", " x=tf.keras.layers.GlobalAveragePooling2D()(x)\n", "\n", " dense_units=hp.Int('dense_units',min_value=128,max_value=512,step=64)\n", " x=tf.keras.layers.Dense(dense_units,activation='relu')(x)\n", "\n", " dropout_rate=hp.Float('dropout_rate',min_value=0.2,max_value=0.6,step=0.1)\n", " x=tf.keras.layers.Dropout(dropout_rate)(x)\n", "\n", " outputs=tf.keras.layers.Dense(num_classes,activation='softmax')(x)\n", "\n", " model=tf.keras.models.Model(inputs=base.input,outputs=outputs)\n", "\n", " learning_rate=hp.Float('learning_rate',min_value=1e-5,max_value=1e-3,sampling='log')\n", "\n", " model.compile(\n", " optimizer=tf.keras.optimizers.Adam(learning_rate=learning_rate),\n", " loss='categorical_crossentropy',\n", " metrics=['accuracy']\n", " )\n", "\n", " return model\n", "\n", "\n", "tuner=keras_tuner.RandomSearch(\n", "\n", " build_model,\n", " objective='val_accuracy',\n", " max_trials=20,\n", " executions_per_trial=1,\n", " directory='tunner_dir',\n", " project_name='mobilenetv2_tune'\n", "\n", ")\n", "\n", "early_stop=tf.keras.callbacks.EarlyStopping(monitor='val_accuracy',patience=5,restore_best_weights=True)\n", "\n", "\n", "tuner.search(\n", " training_set,\n", " validation_data=test_set,\n", " epochs=30,\n", " callbacks=[early_stop]\n", ")\n", "\n", "best_model=tuner.get_best_models(num_models=1)[0]\n", "best_hyperparameters=tuner.get_best_hyperparameters(num_trials=1)[0]\n", "\n", "print(\"Best Hyperparameters:\")\n", "print(best_hyperparameters.values)\n", "\n", "print(\"best Validation Accuracy From Scratch:\",tuner.oracle.get_best_trials(1)[0].score) " ] }, { "cell_type": "code", "execution_count": 48, "id": "34ff25f3", "metadata": {}, "outputs": [], "source": [ "best_model.save_weights('../Models/best_Mobilenetv2.weights.h5')" ] }, { "cell_type": "markdown", "id": "fd9be892", "metadata": {}, "source": [ "## Xception" ] }, { "cell_type": "code", "execution_count": 54, "id": "5fdb82c0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Model: \"functional_4\"\n",
"\n"
],
"text/plain": [
"\u001b[1mModel: \"functional_4\"\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
"┃ Layer (type) ┃ Output Shape ┃ Param # ┃ Connected to ┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
"│ input_layer_4 │ (None, 299, 299, │ 0 │ - │\n",
"│ (InputLayer) │ 3) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv1 │ (None, 149, 149, │ 864 │ input_layer_4[0]… │\n",
"│ (Conv2D) │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv1_bn │ (None, 149, 149, │ 128 │ block1_conv1[0][… │\n",
"│ (BatchNormalizatio… │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv1_act │ (None, 149, 149, │ 0 │ block1_conv1_bn[… │\n",
"│ (Activation) │ 32) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv2 │ (None, 147, 147, │ 18,432 │ block1_conv1_act… │\n",
"│ (Conv2D) │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv2_bn │ (None, 147, 147, │ 256 │ block1_conv2[0][… │\n",
"│ (BatchNormalizatio… │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv2_act │ (None, 147, 147, │ 0 │ block1_conv2_bn[… │\n",
"│ (Activation) │ 64) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv1 │ (None, 147, 147, │ 8,768 │ block1_conv2_act… │\n",
"│ (SeparableConv2D) │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv1_bn │ (None, 147, 147, │ 512 │ block2_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv2_act │ (None, 147, 147, │ 0 │ block2_sepconv1_… │\n",
"│ (Activation) │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv2 │ (None, 147, 147, │ 17,536 │ block2_sepconv2_… │\n",
"│ (SeparableConv2D) │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv2_bn │ (None, 147, 147, │ 512 │ block2_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_12 (Conv2D) │ (None, 74, 74, │ 8,192 │ block1_conv2_act… │\n",
"│ │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_pool │ (None, 74, 74, │ 0 │ block2_sepconv2_… │\n",
"│ (MaxPooling2D) │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (None, 74, 74, │ 512 │ conv2d_12[0][0] │\n",
"│ (BatchNormalizatio… │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_36 (Add) │ (None, 74, 74, │ 0 │ block2_pool[0][0… │\n",
"│ │ 128) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv1_act │ (None, 74, 74, │ 0 │ add_36[0][0] │\n",
"│ (Activation) │ 128) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv1 │ (None, 74, 74, │ 33,920 │ block3_sepconv1_… │\n",
"│ (SeparableConv2D) │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv1_bn │ (None, 74, 74, │ 1,024 │ block3_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv2_act │ (None, 74, 74, │ 0 │ block3_sepconv1_… │\n",
"│ (Activation) │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv2 │ (None, 74, 74, │ 67,840 │ block3_sepconv2_… │\n",
"│ (SeparableConv2D) │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv2_bn │ (None, 74, 74, │ 1,024 │ block3_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_13 (Conv2D) │ (None, 37, 37, │ 32,768 │ add_36[0][0] │\n",
"│ │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_pool │ (None, 37, 37, │ 0 │ block3_sepconv2_… │\n",
"│ (MaxPooling2D) │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (None, 37, 37, │ 1,024 │ conv2d_13[0][0] │\n",
"│ (BatchNormalizatio… │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_37 (Add) │ (None, 37, 37, │ 0 │ block3_pool[0][0… │\n",
"│ │ 256) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv1_act │ (None, 37, 37, │ 0 │ add_37[0][0] │\n",
"│ (Activation) │ 256) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv1 │ (None, 37, 37, │ 188,672 │ block4_sepconv1_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv1_bn │ (None, 37, 37, │ 2,912 │ block4_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv2_act │ (None, 37, 37, │ 0 │ block4_sepconv1_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv2 │ (None, 37, 37, │ 536,536 │ block4_sepconv2_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv2_bn │ (None, 37, 37, │ 2,912 │ block4_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_14 (Conv2D) │ (None, 19, 19, │ 186,368 │ add_37[0][0] │\n",
"│ │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_pool │ (None, 19, 19, │ 0 │ block4_sepconv2_… │\n",
"│ (MaxPooling2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (None, 19, 19, │ 2,912 │ conv2d_14[0][0] │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_38 (Add) │ (None, 19, 19, │ 0 │ block4_pool[0][0… │\n",
"│ │ 728) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv1_act │ (None, 19, 19, │ 0 │ add_38[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv1 │ (None, 19, 19, │ 536,536 │ block5_sepconv1_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block5_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv2_act │ (None, 19, 19, │ 0 │ block5_sepconv1_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv2 │ (None, 19, 19, │ 536,536 │ block5_sepconv2_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block5_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv3_act │ (None, 19, 19, │ 0 │ block5_sepconv2_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv3 │ (None, 19, 19, │ 536,536 │ block5_sepconv3_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block5_sepconv3[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_39 (Add) │ (None, 19, 19, │ 0 │ block5_sepconv3_… │\n",
"│ │ 728) │ │ add_38[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv1_act │ (None, 19, 19, │ 0 │ add_39[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv1 │ (None, 19, 19, │ 536,536 │ block6_sepconv1_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block6_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv2_act │ (None, 19, 19, │ 0 │ block6_sepconv1_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv2 │ (None, 19, 19, │ 536,536 │ block6_sepconv2_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block6_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv3_act │ (None, 19, 19, │ 0 │ block6_sepconv2_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv3 │ (None, 19, 19, │ 536,536 │ block6_sepconv3_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block6_sepconv3[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_40 (Add) │ (None, 19, 19, │ 0 │ block6_sepconv3_… │\n",
"│ │ 728) │ │ add_39[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv1_act │ (None, 19, 19, │ 0 │ add_40[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv1 │ (None, 19, 19, │ 536,536 │ block7_sepconv1_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block7_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv2_act │ (None, 19, 19, │ 0 │ block7_sepconv1_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv2 │ (None, 19, 19, │ 536,536 │ block7_sepconv2_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block7_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv3_act │ (None, 19, 19, │ 0 │ block7_sepconv2_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv3 │ (None, 19, 19, │ 536,536 │ block7_sepconv3_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block7_sepconv3[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_41 (Add) │ (None, 19, 19, │ 0 │ block7_sepconv3_… │\n",
"│ │ 728) │ │ add_40[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv1_act │ (None, 19, 19, │ 0 │ add_41[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv1 │ (None, 19, 19, │ 536,536 │ block8_sepconv1_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block8_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv2_act │ (None, 19, 19, │ 0 │ block8_sepconv1_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv2 │ (None, 19, 19, │ 536,536 │ block8_sepconv2_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block8_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv3_act │ (None, 19, 19, │ 0 │ block8_sepconv2_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv3 │ (None, 19, 19, │ 536,536 │ block8_sepconv3_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block8_sepconv3[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_42 (Add) │ (None, 19, 19, │ 0 │ block8_sepconv3_… │\n",
"│ │ 728) │ │ add_41[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv1_act │ (None, 19, 19, │ 0 │ add_42[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv1 │ (None, 19, 19, │ 536,536 │ block9_sepconv1_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block9_sepconv1[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv2_act │ (None, 19, 19, │ 0 │ block9_sepconv1_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv2 │ (None, 19, 19, │ 536,536 │ block9_sepconv2_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block9_sepconv2[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv3_act │ (None, 19, 19, │ 0 │ block9_sepconv2_… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv3 │ (None, 19, 19, │ 536,536 │ block9_sepconv3_… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block9_sepconv3[… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_43 (Add) │ (None, 19, 19, │ 0 │ block9_sepconv3_… │\n",
"│ │ 728) │ │ add_42[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv1_a… │ (None, 19, 19, │ 0 │ add_43[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv1 │ (None, 19, 19, │ 536,536 │ block10_sepconv1… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block10_sepconv1… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv2_a… │ (None, 19, 19, │ 0 │ block10_sepconv1… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv2 │ (None, 19, 19, │ 536,536 │ block10_sepconv2… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block10_sepconv2… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv3_a… │ (None, 19, 19, │ 0 │ block10_sepconv2… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv3 │ (None, 19, 19, │ 536,536 │ block10_sepconv3… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block10_sepconv3… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_44 (Add) │ (None, 19, 19, │ 0 │ block10_sepconv3… │\n",
"│ │ 728) │ │ add_43[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv1_a… │ (None, 19, 19, │ 0 │ add_44[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv1 │ (None, 19, 19, │ 536,536 │ block11_sepconv1… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block11_sepconv1… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv2_a… │ (None, 19, 19, │ 0 │ block11_sepconv1… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv2 │ (None, 19, 19, │ 536,536 │ block11_sepconv2… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block11_sepconv2… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv3_a… │ (None, 19, 19, │ 0 │ block11_sepconv2… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv3 │ (None, 19, 19, │ 536,536 │ block11_sepconv3… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block11_sepconv3… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_45 (Add) │ (None, 19, 19, │ 0 │ block11_sepconv3… │\n",
"│ │ 728) │ │ add_44[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv1_a… │ (None, 19, 19, │ 0 │ add_45[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv1 │ (None, 19, 19, │ 536,536 │ block12_sepconv1… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block12_sepconv1… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv2_a… │ (None, 19, 19, │ 0 │ block12_sepconv1… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv2 │ (None, 19, 19, │ 536,536 │ block12_sepconv2… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv2_bn │ (None, 19, 19, │ 2,912 │ block12_sepconv2… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv3_a… │ (None, 19, 19, │ 0 │ block12_sepconv2… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv3 │ (None, 19, 19, │ 536,536 │ block12_sepconv3… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv3_bn │ (None, 19, 19, │ 2,912 │ block12_sepconv3… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_46 (Add) │ (None, 19, 19, │ 0 │ block12_sepconv3… │\n",
"│ │ 728) │ │ add_45[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv1_a… │ (None, 19, 19, │ 0 │ add_46[0][0] │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv1 │ (None, 19, 19, │ 536,536 │ block13_sepconv1… │\n",
"│ (SeparableConv2D) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv1_bn │ (None, 19, 19, │ 2,912 │ block13_sepconv1… │\n",
"│ (BatchNormalizatio… │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv2_a… │ (None, 19, 19, │ 0 │ block13_sepconv1… │\n",
"│ (Activation) │ 728) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv2 │ (None, 19, 19, │ 752,024 │ block13_sepconv2… │\n",
"│ (SeparableConv2D) │ 1024) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv2_bn │ (None, 19, 19, │ 4,096 │ block13_sepconv2… │\n",
"│ (BatchNormalizatio… │ 1024) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_15 (Conv2D) │ (None, 10, 10, │ 745,472 │ add_46[0][0] │\n",
"│ │ 1024) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_pool │ (None, 10, 10, │ 0 │ block13_sepconv2… │\n",
"│ (MaxPooling2D) │ 1024) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (None, 10, 10, │ 4,096 │ conv2d_15[0][0] │\n",
"│ (BatchNormalizatio… │ 1024) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_47 (Add) │ (None, 10, 10, │ 0 │ block13_pool[0][… │\n",
"│ │ 1024) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv1 │ (None, 10, 10, │ 1,582,080 │ add_47[0][0] │\n",
"│ (SeparableConv2D) │ 1536) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv1_bn │ (None, 10, 10, │ 6,144 │ block14_sepconv1… │\n",
"│ (BatchNormalizatio… │ 1536) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv1_a… │ (None, 10, 10, │ 0 │ block14_sepconv1… │\n",
"│ (Activation) │ 1536) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv2 │ (None, 10, 10, │ 3,159,552 │ block14_sepconv1… │\n",
"│ (SeparableConv2D) │ 2048) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv2_bn │ (None, 10, 10, │ 8,192 │ block14_sepconv2… │\n",
"│ (BatchNormalizatio… │ 2048) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv2_a… │ (None, 10, 10, │ 0 │ block14_sepconv2… │\n",
"│ (Activation) │ 2048) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ global_max_pooling… │ (None, 2048) │ 0 │ block14_sepconv2… │\n",
"│ (GlobalMaxPooling2… │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_6 (Dense) │ (None, 256) │ 524,544 │ global_max_pooli… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dropout_4 (Dropout) │ (None, 256) │ 0 │ dense_6[0][0] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_7 (Dense) │ (None, 2) │ 514 │ dropout_4[0][0] │\n",
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n",
"\n"
],
"text/plain": [
"┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mConnected to \u001b[0m\u001b[1m \u001b[0m┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
"│ input_layer_4 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m299\u001b[0m, \u001b[38;5;34m299\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ - │\n",
"│ (\u001b[38;5;33mInputLayer\u001b[0m) │ \u001b[38;5;34m3\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m149\u001b[0m, \u001b[38;5;34m149\u001b[0m, │ \u001b[38;5;34m864\u001b[0m │ input_layer_4[\u001b[38;5;34m0\u001b[0m]… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m149\u001b[0m, \u001b[38;5;34m149\u001b[0m, │ \u001b[38;5;34m128\u001b[0m │ block1_conv1[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m149\u001b[0m, \u001b[38;5;34m149\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block1_conv1_bn[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m32\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m18,432\u001b[0m │ block1_conv1_act… │\n",
"│ (\u001b[38;5;33mConv2D\u001b[0m) │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m256\u001b[0m │ block1_conv2[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block1_conv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block1_conv2_bn[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m64\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m8,768\u001b[0m │ block1_conv2_act… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m512\u001b[0m │ block2_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block2_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m17,536\u001b[0m │ block2_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m147\u001b[0m, \u001b[38;5;34m147\u001b[0m, │ \u001b[38;5;34m512\u001b[0m │ block2_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_12 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m8,192\u001b[0m │ block1_conv2_act… │\n",
"│ │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block2_pool │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block2_sepconv2_… │\n",
"│ (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m512\u001b[0m │ conv2d_12[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_36 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block2_pool[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m… │\n",
"│ │ \u001b[38;5;34m128\u001b[0m) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_36[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m128\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m33,920\u001b[0m │ block3_sepconv1_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m1,024\u001b[0m │ block3_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block3_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m67,840\u001b[0m │ block3_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m74\u001b[0m, \u001b[38;5;34m74\u001b[0m, │ \u001b[38;5;34m1,024\u001b[0m │ block3_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_13 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m32,768\u001b[0m │ add_36[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block3_pool │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block3_sepconv2_… │\n",
"│ (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m1,024\u001b[0m │ conv2d_13[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_37 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block3_pool[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m… │\n",
"│ │ \u001b[38;5;34m256\u001b[0m) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_37[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m256\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m188,672\u001b[0m │ block4_sepconv1_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block4_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block4_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block4_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m37\u001b[0m, \u001b[38;5;34m37\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block4_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_14 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m186,368\u001b[0m │ add_37[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block4_pool │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block4_sepconv2_… │\n",
"│ (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ conv2d_14[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_38 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block4_pool[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_38[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block5_sepconv1_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block5_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block5_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block5_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block5_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv3_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block5_sepconv2_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block5_sepconv3_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block5_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block5_sepconv3[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_39 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block5_sepconv3_… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_38[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_39[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block6_sepconv1_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block6_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block6_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block6_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block6_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv3_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block6_sepconv2_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block6_sepconv3_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block6_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block6_sepconv3[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_40 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block6_sepconv3_… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_39[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_40[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block7_sepconv1_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block7_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block7_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block7_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block7_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv3_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block7_sepconv2_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block7_sepconv3_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block7_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block7_sepconv3[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_41 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block7_sepconv3_… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_40[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_41[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block8_sepconv1_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block8_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block8_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block8_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block8_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv3_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block8_sepconv2_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block8_sepconv3_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block8_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block8_sepconv3[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_42 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block8_sepconv3_… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_41[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv1_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_42[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block9_sepconv1_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block9_sepconv1[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv2_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block9_sepconv1_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block9_sepconv2_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block9_sepconv2[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv3_act │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block9_sepconv2_… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block9_sepconv3_… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block9_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block9_sepconv3[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_43 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block9_sepconv3_… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_42[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv1_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_43[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block10_sepconv1… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block10_sepconv1… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv2_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block10_sepconv1… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block10_sepconv2… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block10_sepconv2… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv3_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block10_sepconv2… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block10_sepconv3… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block10_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block10_sepconv3… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_44 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block10_sepconv3… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_43[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv1_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_44[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block11_sepconv1… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block11_sepconv1… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv2_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block11_sepconv1… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block11_sepconv2… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block11_sepconv2… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv3_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block11_sepconv2… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block11_sepconv3… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block11_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block11_sepconv3… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_45 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block11_sepconv3… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_44[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv1_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_45[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block12_sepconv1… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block12_sepconv1… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv2_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block12_sepconv1… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block12_sepconv2… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block12_sepconv2… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv3_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block12_sepconv2… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv3 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block12_sepconv3… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block12_sepconv3_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block12_sepconv3… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_46 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block12_sepconv3… │\n",
"│ │ \u001b[38;5;34m728\u001b[0m) │ │ add_45[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv1_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ add_46[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m536,536\u001b[0m │ block13_sepconv1… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m2,912\u001b[0m │ block13_sepconv1… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv2_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block13_sepconv1… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m728\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m752,024\u001b[0m │ block13_sepconv2… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m1024\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m19\u001b[0m, \u001b[38;5;34m19\u001b[0m, │ \u001b[38;5;34m4,096\u001b[0m │ block13_sepconv2… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m1024\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv2d_15 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m745,472\u001b[0m │ add_46[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ │ \u001b[38;5;34m1024\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block13_pool │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block13_sepconv2… │\n",
"│ (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ \u001b[38;5;34m1024\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ batch_normalizatio… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m4,096\u001b[0m │ conv2d_15[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m1024\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ add_47 (\u001b[38;5;33mAdd\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block13_pool[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m…\u001b[0m │\n",
"│ │ \u001b[38;5;34m1024\u001b[0m) │ │ batch_normalizat… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv1 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m1,582,080\u001b[0m │ add_47[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m1536\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv1_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m6,144\u001b[0m │ block14_sepconv1… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m1536\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv1_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block14_sepconv1… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m1536\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv2 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m3,159,552\u001b[0m │ block14_sepconv1… │\n",
"│ (\u001b[38;5;33mSeparableConv2D\u001b[0m) │ \u001b[38;5;34m2048\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv2_bn │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m8,192\u001b[0m │ block14_sepconv2… │\n",
"│ (\u001b[38;5;33mBatchNormalizatio…\u001b[0m │ \u001b[38;5;34m2048\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ block14_sepconv2_a… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m, \u001b[38;5;34m10\u001b[0m, │ \u001b[38;5;34m0\u001b[0m │ block14_sepconv2… │\n",
"│ (\u001b[38;5;33mActivation\u001b[0m) │ \u001b[38;5;34m2048\u001b[0m) │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ global_max_pooling… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2048\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ block14_sepconv2… │\n",
"│ (\u001b[38;5;33mGlobalMaxPooling2…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_6 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m524,544\u001b[0m │ global_max_pooli… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dropout_4 (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m256\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ dense_6[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_7 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m2\u001b[0m) │ \u001b[38;5;34m514\u001b[0m │ dropout_4[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"Total params: 21,386,538 (81.58 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m21,386,538\u001b[0m (81.58 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Trainable params: 525,058 (2.00 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m525,058\u001b[0m (2.00 MB)\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Non-trainable params: 20,861,480 (79.58 MB)\n", "\n" ], "text/plain": [ "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m20,861,480\u001b[0m (79.58 MB)\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "base=tf.keras.applications.Xception(\n", " input_shape=(299,299,3),\n", " include_top=False,\n", " weights='imagenet'\n", ")\n", "\n", "base.trainable=False\n", "\n", "x=base.output\n", "x=tf.keras.layers.GlobalMaxPooling2D()(x)\n", "x=tf.keras.layers.Dense(256,activation='relu')(x)\n", "x=tf.keras.layers.Dropout(0.4)(x)\n", "outputs=tf.keras.layers.Dense(training_set.num_classes,activation='softmax')(x)\n", "\n", "model_xc=tf.keras.models.Model(inputs=base.input,outputs=outputs)\n", "\n", "model_xc.compile(\n", " optimizer='Adam',\n", " loss='categorical_crossentropy',\n", " metrics=['accuracy']\n", ")\n", "\n", "model_xc.summary()\n" ] }, { "cell_type": "code", "execution_count": 55, "id": "118ef7f7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 840 images belonging to 2 classes.\n", "Found 188 images belonging to 2 classes.\n", "Epoch 1/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m74s\u001b[0m 3s/step - accuracy: 0.6226 - loss: 1.2449 - val_accuracy: 0.8457 - val_loss: 0.4007\n", "Epoch 2/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7167 - loss: 0.5777 - val_accuracy: 0.8936 - val_loss: 0.3561\n", "Epoch 3/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m65s\u001b[0m 2s/step - accuracy: 0.7310 - loss: 0.5590 - val_accuracy: 0.8511 - val_loss: 0.3647\n", "Epoch 4/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7405 - loss: 0.5524 - val_accuracy: 0.9043 - val_loss: 0.3607\n", "Epoch 5/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m67s\u001b[0m 2s/step - accuracy: 0.7536 - loss: 0.5333 - val_accuracy: 0.8777 - val_loss: 0.3775\n", "Epoch 6/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m67s\u001b[0m 2s/step - accuracy: 0.7595 - loss: 0.5172 - val_accuracy: 0.8777 - val_loss: 0.3398\n", "Epoch 7/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m67s\u001b[0m 2s/step - accuracy: 0.7369 - loss: 0.5255 - val_accuracy: 0.8936 - val_loss: 0.3198\n", "Epoch 8/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7821 - loss: 0.4752 - val_accuracy: 0.8883 - val_loss: 0.3080\n", "Epoch 9/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7417 - loss: 0.5259 - val_accuracy: 0.8989 - val_loss: 0.3515\n", "Epoch 10/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7571 - loss: 0.5188 - val_accuracy: 0.8883 - val_loss: 0.3405\n", "Epoch 11/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m67s\u001b[0m 2s/step - accuracy: 0.7631 - loss: 0.5162 - val_accuracy: 0.8883 - val_loss: 0.3449\n", "Epoch 12/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7869 - loss: 0.4748 - val_accuracy: 0.8989 - val_loss: 0.3133\n", "Epoch 13/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7667 - loss: 0.5011 - val_accuracy: 0.8989 - val_loss: 0.3580\n", "Epoch 14/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7774 - loss: 0.4846 - val_accuracy: 0.8883 - val_loss: 0.3232\n", "Epoch 15/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m67s\u001b[0m 2s/step - accuracy: 0.7595 - loss: 0.5093 - val_accuracy: 0.8989 - val_loss: 0.3145\n", "Epoch 16/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7583 - loss: 0.4965 - val_accuracy: 0.8830 - val_loss: 0.3407\n", "Epoch 17/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7988 - loss: 0.4706 - val_accuracy: 0.8989 - val_loss: 0.3379\n", "Epoch 18/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7869 - loss: 0.4835 - val_accuracy: 0.8936 - val_loss: 0.3321\n", "Epoch 19/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 2s/step - accuracy: 0.7690 - loss: 0.4987 - val_accuracy: 0.9149 - val_loss: 0.3273\n", "Epoch 20/20\n", "\u001b[1m27/27\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m66s\u001b[0m 3s/step - accuracy: 0.7786 - loss: 0.4723 - val_accuracy: 0.9096 - val_loss: 0.3185\n" ] } ], "source": [ "training_set_xc=train_datagen.flow_from_directory(\n", " train_path,\n", " target_size=(299,299),\n", " batch_size=32,\n", " class_mode='categorical'\n", "\n", ")\n", "\n", "test_set_xc=test_datagen.flow_from_directory(\n", " test_path,\n", " target_size=(299,299),\n", " batch_size=32,\n", " class_mode='categorical'\n", ")\n", "\n", "history_xc=model_xc.fit(\n", " training_set_xc,\n", " validation_data=test_set_xc,\n", " epochs=20\n", ")" ] }, { "cell_type": "code", "execution_count": 58, "id": "9acfe7fe", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model(model)`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')` or `keras.saving.save_model(model, 'my_model.keras')`. \n" ] } ], "source": [ "model_xc.save(\"../Models/Model_Xception.h5\")" ] } ], "metadata": { "kernelspec": { "display_name": "ai-ml", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.20" } }, "nbformat": 4, "nbformat_minor": 5 }