From 6bcd9c6b152252ef38ea2cfc2d6ce3c7ca194055 Mon Sep 17 00:00:00 2001 From: Emil Zakirov Date: Tue, 19 Mar 2019 16:40:34 -0500 Subject: [PATCH] fixed cityscapes weights loading --- .gitignore | 3 +- .ipynb_checkpoints/model-checkpoint.py | 25 +- .ipynb_checkpoints/test-checkpoint.ipynb | 1084 +++++++++++++--------- model.py | 16 +- 4 files changed, 653 insertions(+), 475 deletions(-) diff --git a/.gitignore b/.gitignore index b9d7283..8be5901 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ models/ weights/ __pycache__ -test.ipynb \ No newline at end of file +test.ipynb +.ipynb_checkpoints diff --git a/.ipynb_checkpoints/model-checkpoint.py b/.ipynb_checkpoints/model-checkpoint.py index db90d27..846708f 100644 --- a/.ipynb_checkpoints/model-checkpoint.py +++ b/.ipynb_checkpoints/model-checkpoint.py @@ -5,10 +5,6 @@ https://github.com/tensorflow/models/tree/master/research/deeplab On Pascal VOC, original model gets to 84.56% mIOU -Now this model is only available for the TensorFlow backend, -due to its reliance on `SeparableConvolution` layers, but Theano will add -this layer soon. - MobileNetv2 backbone is based on this repo: https://github.com/JonathanCMitchell/mobilenet_v2_keras @@ -222,23 +218,23 @@ def _inverted_res_block(inputs, expansion, stride, alpha, filters, block_id, ski return x -def Deeplabv3(weights='pascal_voc', input_tensor=None, input_shape=(512, 512, 3), classes=21, backbone='mobilenetv2', OS=16, alpha=1.): +def Deeplabv3(weights='pascal_voc', input_tensor=None, input_shape=(512, 512, 3), classes=21, backbone='mobilenetv2', OS=16, alpha=1., activation=None): """ Instantiates the Deeplabv3+ architecture Optionally loads weights pre-trained - on PASCAL VOC. This model is available for TensorFlow only, - and can only be used with inputs following the TensorFlow - data format `(width, height, channels)`. + on PASCAL VOC or Cityscapes. This model is available for TensorFlow only. # Arguments weights: one of 'pascal_voc' (pre-trained on pascal voc), 'cityscapes' (pre-trained on cityscape) or None (random initialization) input_tensor: optional Keras tensor (i.e. output of `layers.Input()`) to use as image input for the model. input_shape: shape of input image. format HxWxC - PASCAL VOC model was trained on (512,512,3) images - classes: number of desired classes. If classes != 21, - last layer is initialized randomly + PASCAL VOC model was trained on (512,512,3) images. None is allowed as shape/width + classes: number of desired classes. PASCAL VOC has 21 classes, Cityscapes has 19 classes. + If number of classes not aligned with the weights used, last layer is initialized randomly backbone: backbone to use. one of {'xception','mobilenetv2'} + activation: optional activation to add to the top of the network. + One of 'softmax', 'sigmoid' or None OS: determines input_shape/feature_extractor_output ratio. One of {8,16}. Used only for xception backbone. alpha: controls the width of the MobileNetV2 network. This is known as the @@ -249,7 +245,7 @@ def Deeplabv3(weights='pascal_voc', input_tensor=None, input_shape=(512, 512, 3) of filters in each layer. - If `alpha` = 1, default number of filters from the paper are used at each layer. - Used only for mobilenetv2 backbone + Used only for mobilenetv2 backbone. Pretrained is only available for alpha=1. # Returns A Keras model instance. @@ -434,7 +430,7 @@ def Deeplabv3(weights='pascal_voc', input_tensor=None, input_shape=(512, 512, 3) depth_activation=True, epsilon=1e-5) # you can use it with arbitary number of classes - if classes == 21: + if (weights == 'pascal_voc' and classes == 21) or (weights == 'cityscapes' and classes == 19): last_layer_name = 'logits_semantic' else: last_layer_name = 'custom_logits_semantic' @@ -451,6 +447,9 @@ def Deeplabv3(weights='pascal_voc', input_tensor=None, input_shape=(512, 512, 3) else: inputs = img_input + if activation in {'softmax','sigmoid'}: + x = tf.keras.layers.Activation(activation)(x) + model = Model(inputs, x, name='deeplabv3plus') # load weights diff --git a/.ipynb_checkpoints/test-checkpoint.ipynb b/.ipynb_checkpoints/test-checkpoint.ipynb index 5e5ba3e..2673690 100644 --- a/.ipynb_checkpoints/test-checkpoint.ipynb +++ b/.ipynb_checkpoints/test-checkpoint.ipynb @@ -1,5 +1,161 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], + "source": [ + "%load_ext autoreload\n", + "%autoreload 2\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + } + ], + "source": [ + "import tensorflow as tf\n", + "from keras.layers import Input" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tf.compat.v1.image.resize_bilinear()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "from matplotlib import pyplot as plt\n", + "import cv2 # used for resize. if you dont have it, use anything else\n", + "import numpy as np\n", + "from model import Deeplabv3\n", + "from model_old import Deeplabv3 as Deeplabv3_old\n", + "new_deeplab_model = Deeplabv3(backbone='mobilenet',input_shape=(512,512,3), OS=16)\n", + "old_deeplab_model = Deeplabv3_old(backbone='mobilenet', input_shape=(512,512,3), OS=16)\n", + "img = plt.imread(\"imgs/image1.jpg\")\n", + "w, h, _ = img.shape\n", + "ratio = 512. / np.max([w,h])\n", + "resized = cv2.resize(img,(int(ratio*h),int(ratio*w)))\n", + "resized = resized / 127.5 - 1.\n", + "pad_x = int(512 - resized.shape[0])\n", + "resized2 = np.pad(resized,((0,pad_x),(0,0),(0,0)), mode='constant')\n", + "res = new_deeplab_model.predict(np.expand_dims(resized2,0))\n", + "res_old = old_deeplab_model.predict(np.expand_dims(resized2,0))\n", + "labels = np.argmax(res.squeeze(),-1)\n", + "labels_old = np.argmax(res_old.squeeze(),-1)\n", + "plt.imshow(labels[:-pad_x])\n", + "plt.show()\n", + "plt.imshow(labels_old[:-pad_x])\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.0\n" + ] + } + ], + "source": [ + "print(np.mean(res - res_old))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(labels[:-pad_x],)\n", + "plt.show()\n", + "plt.imshow(labels_old[:-pad_x])\n", + "plt.show()" + ] + }, { "cell_type": "code", "execution_count": 5, @@ -1486,30 +1642,30 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Tensor(\"Shape:0\", shape=(4,), dtype=int32)\n", - "(None, 32, 32, 256)\n", - "(None, 32, 32, 256)\n", - "(32, 32) 4\n", - "tf.Tensor([128 128], shape=(2,), dtype=int32)\n", - "(None, 128, 128, 256)\n" - ] - }, { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 1, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ @@ -1517,7 +1673,7 @@ "import cv2 # used for resize. if you dont have it, use anything else\n", "import numpy as np\n", "from model import Deeplabv3\n", - "deeplab_model = Deeplabv3(backbone='xception',input_shape=(512,512,3), OS=16)\n", + "deeplab_model = Deeplabv3(backbone='xception',input_shape=(512,512,3), OS=8)\n", "img = plt.imread(\"imgs/image1.jpg\")\n", "w, h, _ = img.shape\n", "ratio = 512. / np.max([w,h])\n", @@ -1530,6 +1686,38 @@ "plt.imshow(labels[:-pad_x])" ] }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(labels[:-pad_x])" + ] + }, { "cell_type": "code", "execution_count": 3, @@ -1562,7 +1750,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -1573,852 +1761,848 @@ "__________________________________________________________________________________________________\n", "Layer (type) Output Shape Param # Connected to \n", "==================================================================================================\n", - "input_3 (InputLayer) [(None, None, None, 0 \n", + "input_2 (InputLayer) [(None, 512, 512, 3) 0 \n", "__________________________________________________________________________________________________\n", - "entry_flow_conv1_1 (Conv2D) (None, None, None, 3 864 input_3[0][0] \n", + "entry_flow_conv1_1 (Conv2D) (None, 256, 256, 32) 864 input_2[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_conv1_1_BN (BatchNor (None, None, None, 3 128 entry_flow_conv1_1[0][0] \n", + "entry_flow_conv1_1_BN (BatchNor (None, 256, 256, 32) 128 entry_flow_conv1_1[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_162 (Activation) (None, None, None, 3 0 entry_flow_conv1_1_BN[0][0] \n", + "activation_81 (Activation) (None, 256, 256, 32) 0 entry_flow_conv1_1_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_conv1_2 (Conv2D) (None, None, None, 6 18432 activation_162[0][0] \n", + "entry_flow_conv1_2 (Conv2D) (None, 256, 256, 64) 18432 activation_81[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_conv1_2_BN (BatchNor (None, None, None, 6 256 entry_flow_conv1_2[0][0] \n", + "entry_flow_conv1_2_BN (BatchNor (None, 256, 256, 64) 256 entry_flow_conv1_2[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_163 (Activation) (None, None, None, 6 0 entry_flow_conv1_2_BN[0][0] \n", + "activation_82 (Activation) (None, 256, 256, 64) 0 entry_flow_conv1_2_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_164 (Activation) (None, None, None, 6 0 activation_163[0][0] \n", + "activation_83 (Activation) (None, 256, 256, 64) 0 activation_82[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 6 576 activation_164[0][0] \n", + "entry_flow_block1_separable_con (None, 256, 256, 64) 576 activation_83[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 6 256 entry_flow_block1_separable_conv1\n", + "entry_flow_block1_separable_con (None, 256, 256, 64) 256 entry_flow_block1_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 8192 entry_flow_block1_separable_conv1\n", + "entry_flow_block1_separable_con (None, 256, 256, 128 8192 entry_flow_block1_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 512 entry_flow_block1_separable_conv1\n", + "entry_flow_block1_separable_con (None, 256, 256, 128 512 entry_flow_block1_separable_conv1\n", "__________________________________________________________________________________________________\n", - "activation_165 (Activation) (None, None, None, 1 0 entry_flow_block1_separable_conv1\n", + "activation_84 (Activation) (None, 256, 256, 128 0 entry_flow_block1_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 1152 activation_165[0][0] \n", + "entry_flow_block1_separable_con (None, 256, 256, 128 1152 activation_84[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 512 entry_flow_block1_separable_conv2\n", + "entry_flow_block1_separable_con (None, 256, 256, 128 512 entry_flow_block1_separable_conv2\n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 16384 entry_flow_block1_separable_conv2\n", + "entry_flow_block1_separable_con (None, 256, 256, 128 16384 entry_flow_block1_separable_conv2\n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 512 entry_flow_block1_separable_conv2\n", + "entry_flow_block1_separable_con (None, 256, 256, 128 512 entry_flow_block1_separable_conv2\n", "__________________________________________________________________________________________________\n", - "zero_padding2d_12 (ZeroPadding2 (None, None, None, 1 0 entry_flow_block1_separable_conv2\n", + "zero_padding2d_6 (ZeroPadding2D (None, 258, 258, 128 0 entry_flow_block1_separable_conv2\n", "__________________________________________________________________________________________________\n", - "activation_166 (Activation) (None, None, None, 1 0 zero_padding2d_12[0][0] \n", + "activation_85 (Activation) (None, 258, 258, 128 0 zero_padding2d_6[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 1152 activation_166[0][0] \n", + "entry_flow_block1_separable_con (None, 128, 128, 128 1152 activation_85[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 512 entry_flow_block1_separable_conv3\n", + "entry_flow_block1_separable_con (None, 128, 128, 128 512 entry_flow_block1_separable_conv3\n", "__________________________________________________________________________________________________\n", - "zero_padding2d_13 (ZeroPadding2 (None, None, None, 6 0 activation_163[0][0] \n", + "zero_padding2d_7 (ZeroPadding2D (None, 256, 256, 64) 0 activation_82[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 16384 entry_flow_block1_separable_conv3\n", + "entry_flow_block1_separable_con (None, 128, 128, 128 16384 entry_flow_block1_separable_conv3\n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_shortcut (Con (None, None, None, 1 8192 zero_padding2d_13[0][0] \n", + "entry_flow_block1_shortcut (Con (None, 128, 128, 128 8192 zero_padding2d_7[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_separable_con (None, None, None, 1 512 entry_flow_block1_separable_conv3\n", + "entry_flow_block1_separable_con (None, 128, 128, 128 512 entry_flow_block1_separable_conv3\n", "__________________________________________________________________________________________________\n", - "entry_flow_block1_shortcut_BN ( (None, None, None, 1 512 entry_flow_block1_shortcut[0][0] \n", + "entry_flow_block1_shortcut_BN ( (None, 128, 128, 128 512 entry_flow_block1_shortcut[0][0] \n", "__________________________________________________________________________________________________\n", - "add_40 (Add) (None, None, None, 1 0 entry_flow_block1_separable_conv3\n", + "add_20 (Add) (None, 128, 128, 128 0 entry_flow_block1_separable_conv3\n", " entry_flow_block1_shortcut_BN[0][\n", "__________________________________________________________________________________________________\n", - "activation_167 (Activation) (None, None, None, 1 0 add_40[0][0] \n", + "activation_86 (Activation) (None, 128, 128, 128 0 add_20[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 1 1152 activation_167[0][0] \n", + "entry_flow_block2_separable_con (None, 128, 128, 128 1152 activation_86[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 1 512 entry_flow_block2_separable_conv1\n", + "entry_flow_block2_separable_con (None, 128, 128, 128 512 entry_flow_block2_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 32768 entry_flow_block2_separable_conv1\n", + "entry_flow_block2_separable_con (None, 128, 128, 256 32768 entry_flow_block2_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 1024 entry_flow_block2_separable_conv1\n", + "entry_flow_block2_separable_con (None, 128, 128, 256 1024 entry_flow_block2_separable_conv1\n", "__________________________________________________________________________________________________\n", - "activation_168 (Activation) (None, None, None, 2 0 entry_flow_block2_separable_conv1\n", + "activation_87 (Activation) (None, 128, 128, 256 0 entry_flow_block2_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 2304 activation_168[0][0] \n", + "entry_flow_block2_separable_con (None, 128, 128, 256 2304 activation_87[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 1024 entry_flow_block2_separable_conv2\n", + "entry_flow_block2_separable_con (None, 128, 128, 256 1024 entry_flow_block2_separable_conv2\n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 65536 entry_flow_block2_separable_conv2\n", + "entry_flow_block2_separable_con (None, 128, 128, 256 65536 entry_flow_block2_separable_conv2\n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 1024 entry_flow_block2_separable_conv2\n", + "entry_flow_block2_separable_con (None, 128, 128, 256 1024 entry_flow_block2_separable_conv2\n", "__________________________________________________________________________________________________\n", - "zero_padding2d_14 (ZeroPadding2 (None, None, None, 2 0 entry_flow_block2_separable_conv2\n", + "zero_padding2d_8 (ZeroPadding2D (None, 130, 130, 256 0 entry_flow_block2_separable_conv2\n", "__________________________________________________________________________________________________\n", - "activation_169 (Activation) (None, None, None, 2 0 zero_padding2d_14[0][0] \n", + "activation_88 (Activation) (None, 130, 130, 256 0 zero_padding2d_8[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 2304 activation_169[0][0] \n", + "entry_flow_block2_separable_con (None, 64, 64, 256) 2304 activation_88[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 1024 entry_flow_block2_separable_conv3\n", + "entry_flow_block2_separable_con (None, 64, 64, 256) 1024 entry_flow_block2_separable_conv3\n", "__________________________________________________________________________________________________\n", - "zero_padding2d_15 (ZeroPadding2 (None, None, None, 1 0 add_40[0][0] \n", + "zero_padding2d_9 (ZeroPadding2D (None, 128, 128, 128 0 add_20[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 65536 entry_flow_block2_separable_conv3\n", + "entry_flow_block2_separable_con (None, 64, 64, 256) 65536 entry_flow_block2_separable_conv3\n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_shortcut (Con (None, None, None, 2 32768 zero_padding2d_15[0][0] \n", + "entry_flow_block2_shortcut (Con (None, 64, 64, 256) 32768 zero_padding2d_9[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_separable_con (None, None, None, 2 1024 entry_flow_block2_separable_conv3\n", + "entry_flow_block2_separable_con (None, 64, 64, 256) 1024 entry_flow_block2_separable_conv3\n", "__________________________________________________________________________________________________\n", - "entry_flow_block2_shortcut_BN ( (None, None, None, 2 1024 entry_flow_block2_shortcut[0][0] \n", + "entry_flow_block2_shortcut_BN ( (None, 64, 64, 256) 1024 entry_flow_block2_shortcut[0][0] \n", "__________________________________________________________________________________________________\n", - "add_41 (Add) (None, None, None, 2 0 entry_flow_block2_separable_conv3\n", + "add_21 (Add) (None, 64, 64, 256) 0 entry_flow_block2_separable_conv3\n", " entry_flow_block2_shortcut_BN[0][\n", "__________________________________________________________________________________________________\n", - "activation_170 (Activation) (None, None, None, 2 0 add_41[0][0] \n", - "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 2 2304 activation_170[0][0] \n", - "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 2 1024 entry_flow_block3_separable_conv1\n", + "activation_89 (Activation) (None, 64, 64, 256) 0 add_21[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 186368 entry_flow_block3_separable_conv1\n", + "entry_flow_block3_separable_con (None, 64, 64, 256) 2304 activation_89[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 2912 entry_flow_block3_separable_conv1\n", + "entry_flow_block3_separable_con (None, 64, 64, 256) 1024 entry_flow_block3_separable_conv1\n", "__________________________________________________________________________________________________\n", - "activation_171 (Activation) (None, None, None, 7 0 entry_flow_block3_separable_conv1\n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 186368 entry_flow_block3_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 6552 activation_171[0][0] \n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 2912 entry_flow_block3_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 2912 entry_flow_block3_separable_conv2\n", + "activation_90 (Activation) (None, 64, 64, 728) 0 entry_flow_block3_separable_conv1\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 529984 entry_flow_block3_separable_conv2\n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 6552 activation_90[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 2912 entry_flow_block3_separable_conv2\n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 2912 entry_flow_block3_separable_conv2\n", "__________________________________________________________________________________________________\n", - "zero_padding2d_16 (ZeroPadding2 (None, None, None, 7 0 entry_flow_block3_separable_conv2\n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 529984 entry_flow_block3_separable_conv2\n", "__________________________________________________________________________________________________\n", - "activation_172 (Activation) (None, None, None, 7 0 zero_padding2d_16[0][0] \n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 2912 entry_flow_block3_separable_conv2\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 6552 activation_172[0][0] \n", + "activation_91 (Activation) (None, 64, 64, 728) 0 entry_flow_block3_separable_conv2\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 2912 entry_flow_block3_separable_conv3\n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 6552 activation_91[0][0] \n", "__________________________________________________________________________________________________\n", - "zero_padding2d_17 (ZeroPadding2 (None, None, None, 2 0 add_41[0][0] \n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 2912 entry_flow_block3_separable_conv3\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 529984 entry_flow_block3_separable_conv3\n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 529984 entry_flow_block3_separable_conv3\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_shortcut (Con (None, None, None, 7 186368 zero_padding2d_17[0][0] \n", + "entry_flow_block3_shortcut (Con (None, 64, 64, 728) 186368 add_21[0][0] \n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_separable_con (None, None, None, 7 2912 entry_flow_block3_separable_conv3\n", + "entry_flow_block3_separable_con (None, 64, 64, 728) 2912 entry_flow_block3_separable_conv3\n", "__________________________________________________________________________________________________\n", - "entry_flow_block3_shortcut_BN ( (None, None, None, 7 2912 entry_flow_block3_shortcut[0][0] \n", + "entry_flow_block3_shortcut_BN ( (None, 64, 64, 728) 2912 entry_flow_block3_shortcut[0][0] \n", "__________________________________________________________________________________________________\n", - "add_42 (Add) (None, None, None, 7 0 entry_flow_block3_separable_conv3\n", + "add_22 (Add) (None, 64, 64, 728) 0 entry_flow_block3_separable_conv3\n", " entry_flow_block3_shortcut_BN[0][\n", "__________________________________________________________________________________________________\n", - "activation_173 (Activation) (None, None, None, 7 0 add_42[0][0] \n", + "activation_92 (Activation) (None, 64, 64, 728) 0 add_22[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 6552 activation_173[0][0] \n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 6552 activation_92[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 2912 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 529984 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 2912 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_174 (Activation) (None, None, None, 7 0 middle_flow_unit_1_separable_conv\n", + "activation_93 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 6552 activation_174[0][0] \n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 6552 activation_93[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 2912 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 529984 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 2912 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_175 (Activation) (None, None, None, 7 0 middle_flow_unit_1_separable_conv\n", + "activation_94 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 6552 activation_175[0][0] \n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 6552 activation_94[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 2912 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 529984 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_1_separable_co (None, None, None, 7 2912 middle_flow_unit_1_separable_conv\n", + "middle_flow_unit_1_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_1_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_43 (Add) (None, None, None, 7 0 middle_flow_unit_1_separable_conv\n", - " add_42[0][0] \n", + "add_23 (Add) (None, 64, 64, 728) 0 middle_flow_unit_1_separable_conv\n", + " add_22[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_176 (Activation) (None, None, None, 7 0 add_43[0][0] \n", + "activation_95 (Activation) (None, 64, 64, 728) 0 add_23[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 6552 activation_176[0][0] \n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 6552 activation_95[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 2912 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 529984 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 2912 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_177 (Activation) (None, None, None, 7 0 middle_flow_unit_2_separable_conv\n", + "activation_96 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 6552 activation_177[0][0] \n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 6552 activation_96[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 2912 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 529984 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 2912 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_178 (Activation) (None, None, None, 7 0 middle_flow_unit_2_separable_conv\n", + "activation_97 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 6552 activation_178[0][0] \n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 6552 activation_97[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 2912 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 529984 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_2_separable_co (None, None, None, 7 2912 middle_flow_unit_2_separable_conv\n", + "middle_flow_unit_2_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_2_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_44 (Add) (None, None, None, 7 0 middle_flow_unit_2_separable_conv\n", - " add_43[0][0] \n", + "add_24 (Add) (None, 64, 64, 728) 0 middle_flow_unit_2_separable_conv\n", + " add_23[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_179 (Activation) (None, None, None, 7 0 add_44[0][0] \n", + "activation_98 (Activation) (None, 64, 64, 728) 0 add_24[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 6552 activation_179[0][0] \n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 6552 activation_98[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 2912 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 529984 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 2912 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_180 (Activation) (None, None, None, 7 0 middle_flow_unit_3_separable_conv\n", + "activation_99 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 6552 activation_180[0][0] \n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 6552 activation_99[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 2912 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 529984 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 2912 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_181 (Activation) (None, None, None, 7 0 middle_flow_unit_3_separable_conv\n", + "activation_100 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 6552 activation_181[0][0] \n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 6552 activation_100[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 2912 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 529984 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_3_separable_co (None, None, None, 7 2912 middle_flow_unit_3_separable_conv\n", + "middle_flow_unit_3_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_3_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_45 (Add) (None, None, None, 7 0 middle_flow_unit_3_separable_conv\n", - " add_44[0][0] \n", + "add_25 (Add) (None, 64, 64, 728) 0 middle_flow_unit_3_separable_conv\n", + " add_24[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_182 (Activation) (None, None, None, 7 0 add_45[0][0] \n", + "activation_101 (Activation) (None, 64, 64, 728) 0 add_25[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 6552 activation_182[0][0] \n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 6552 activation_101[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 2912 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 529984 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 2912 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_183 (Activation) (None, None, None, 7 0 middle_flow_unit_4_separable_conv\n", + "activation_102 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 6552 activation_183[0][0] \n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 6552 activation_102[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 2912 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 529984 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 2912 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_184 (Activation) (None, None, None, 7 0 middle_flow_unit_4_separable_conv\n", + "activation_103 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 6552 activation_184[0][0] \n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 6552 activation_103[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 2912 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 529984 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_4_separable_co (None, None, None, 7 2912 middle_flow_unit_4_separable_conv\n", + "middle_flow_unit_4_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_4_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_46 (Add) (None, None, None, 7 0 middle_flow_unit_4_separable_conv\n", - " add_45[0][0] \n", + "add_26 (Add) (None, 64, 64, 728) 0 middle_flow_unit_4_separable_conv\n", + " add_25[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_185 (Activation) (None, None, None, 7 0 add_46[0][0] \n", + "activation_104 (Activation) (None, 64, 64, 728) 0 add_26[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 6552 activation_185[0][0] \n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 6552 activation_104[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 2912 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 529984 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 2912 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_186 (Activation) (None, None, None, 7 0 middle_flow_unit_5_separable_conv\n", + "activation_105 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 6552 activation_186[0][0] \n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 6552 activation_105[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 2912 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 529984 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 2912 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_187 (Activation) (None, None, None, 7 0 middle_flow_unit_5_separable_conv\n", + "activation_106 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 6552 activation_187[0][0] \n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 6552 activation_106[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 2912 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 529984 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_5_separable_co (None, None, None, 7 2912 middle_flow_unit_5_separable_conv\n", + "middle_flow_unit_5_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_5_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_47 (Add) (None, None, None, 7 0 middle_flow_unit_5_separable_conv\n", - " add_46[0][0] \n", + "add_27 (Add) (None, 64, 64, 728) 0 middle_flow_unit_5_separable_conv\n", + " add_26[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_188 (Activation) (None, None, None, 7 0 add_47[0][0] \n", + "activation_107 (Activation) (None, 64, 64, 728) 0 add_27[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 6552 activation_188[0][0] \n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 6552 activation_107[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 2912 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 529984 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 2912 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_189 (Activation) (None, None, None, 7 0 middle_flow_unit_6_separable_conv\n", + "activation_108 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 6552 activation_189[0][0] \n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 6552 activation_108[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 2912 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 529984 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 2912 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_190 (Activation) (None, None, None, 7 0 middle_flow_unit_6_separable_conv\n", + "activation_109 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 6552 activation_190[0][0] \n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 6552 activation_109[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 2912 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 529984 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_6_separable_co (None, None, None, 7 2912 middle_flow_unit_6_separable_conv\n", + "middle_flow_unit_6_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_6_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_48 (Add) (None, None, None, 7 0 middle_flow_unit_6_separable_conv\n", - " add_47[0][0] \n", + "add_28 (Add) (None, 64, 64, 728) 0 middle_flow_unit_6_separable_conv\n", + " add_27[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_191 (Activation) (None, None, None, 7 0 add_48[0][0] \n", + "activation_110 (Activation) (None, 64, 64, 728) 0 add_28[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 6552 activation_191[0][0] \n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 6552 activation_110[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 2912 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 529984 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 2912 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_192 (Activation) (None, None, None, 7 0 middle_flow_unit_7_separable_conv\n", + "activation_111 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 6552 activation_192[0][0] \n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 6552 activation_111[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 2912 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 529984 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 2912 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_193 (Activation) (None, None, None, 7 0 middle_flow_unit_7_separable_conv\n", + "activation_112 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 6552 activation_193[0][0] \n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 6552 activation_112[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 2912 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 529984 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_7_separable_co (None, None, None, 7 2912 middle_flow_unit_7_separable_conv\n", + "middle_flow_unit_7_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_7_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_49 (Add) (None, None, None, 7 0 middle_flow_unit_7_separable_conv\n", - " add_48[0][0] \n", + "add_29 (Add) (None, 64, 64, 728) 0 middle_flow_unit_7_separable_conv\n", + " add_28[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_194 (Activation) (None, None, None, 7 0 add_49[0][0] \n", + "activation_113 (Activation) (None, 64, 64, 728) 0 add_29[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 6552 activation_194[0][0] \n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 6552 activation_113[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 2912 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 529984 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 2912 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_195 (Activation) (None, None, None, 7 0 middle_flow_unit_8_separable_conv\n", + "activation_114 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 6552 activation_195[0][0] \n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 6552 activation_114[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 2912 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 529984 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 2912 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_196 (Activation) (None, None, None, 7 0 middle_flow_unit_8_separable_conv\n", + "activation_115 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 6552 activation_196[0][0] \n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 6552 activation_115[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 2912 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 529984 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_8_separable_co (None, None, None, 7 2912 middle_flow_unit_8_separable_conv\n", + "middle_flow_unit_8_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_8_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_50 (Add) (None, None, None, 7 0 middle_flow_unit_8_separable_conv\n", - " add_49[0][0] \n", + "add_30 (Add) (None, 64, 64, 728) 0 middle_flow_unit_8_separable_conv\n", + " add_29[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_197 (Activation) (None, None, None, 7 0 add_50[0][0] \n", + "activation_116 (Activation) (None, 64, 64, 728) 0 add_30[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 6552 activation_197[0][0] \n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 6552 activation_116[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 2912 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 529984 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 2912 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_198 (Activation) (None, None, None, 7 0 middle_flow_unit_9_separable_conv\n", + "activation_117 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 6552 activation_198[0][0] \n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 6552 activation_117[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 2912 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 529984 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 2912 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "activation_199 (Activation) (None, None, None, 7 0 middle_flow_unit_9_separable_conv\n", + "activation_118 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 6552 activation_199[0][0] \n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 6552 activation_118[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 2912 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 529984 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 529984 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_9_separable_co (None, None, None, 7 2912 middle_flow_unit_9_separable_conv\n", + "middle_flow_unit_9_separable_co (None, 64, 64, 728) 2912 middle_flow_unit_9_separable_conv\n", "__________________________________________________________________________________________________\n", - "add_51 (Add) (None, None, None, 7 0 middle_flow_unit_9_separable_conv\n", - " add_50[0][0] \n", + "add_31 (Add) (None, 64, 64, 728) 0 middle_flow_unit_9_separable_conv\n", + " add_30[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_200 (Activation) (None, None, None, 7 0 add_51[0][0] \n", + "activation_119 (Activation) (None, 64, 64, 728) 0 add_31[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 6552 activation_200[0][0] \n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 6552 activation_119[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 2912 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 529984 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 2912 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_201 (Activation) (None, None, None, 7 0 middle_flow_unit_10_separable_con\n", + "activation_120 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 6552 activation_201[0][0] \n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 6552 activation_120[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 2912 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 529984 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 2912 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_202 (Activation) (None, None, None, 7 0 middle_flow_unit_10_separable_con\n", + "activation_121 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 6552 activation_202[0][0] \n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 6552 activation_121[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 2912 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 529984 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_10_separable_c (None, None, None, 7 2912 middle_flow_unit_10_separable_con\n", + "middle_flow_unit_10_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_10_separable_con\n", "__________________________________________________________________________________________________\n", - "add_52 (Add) (None, None, None, 7 0 middle_flow_unit_10_separable_con\n", - " add_51[0][0] \n", + "add_32 (Add) (None, 64, 64, 728) 0 middle_flow_unit_10_separable_con\n", + " add_31[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_203 (Activation) (None, None, None, 7 0 add_52[0][0] \n", + "activation_122 (Activation) (None, 64, 64, 728) 0 add_32[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 6552 activation_203[0][0] \n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 6552 activation_122[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 2912 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 529984 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 2912 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_204 (Activation) (None, None, None, 7 0 middle_flow_unit_11_separable_con\n", + "activation_123 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 6552 activation_204[0][0] \n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 6552 activation_123[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 2912 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 529984 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 2912 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_205 (Activation) (None, None, None, 7 0 middle_flow_unit_11_separable_con\n", + "activation_124 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 6552 activation_205[0][0] \n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 6552 activation_124[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 2912 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 529984 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_11_separable_c (None, None, None, 7 2912 middle_flow_unit_11_separable_con\n", + "middle_flow_unit_11_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_11_separable_con\n", "__________________________________________________________________________________________________\n", - "add_53 (Add) (None, None, None, 7 0 middle_flow_unit_11_separable_con\n", - " add_52[0][0] \n", + "add_33 (Add) (None, 64, 64, 728) 0 middle_flow_unit_11_separable_con\n", + " add_32[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_206 (Activation) (None, None, None, 7 0 add_53[0][0] \n", + "activation_125 (Activation) (None, 64, 64, 728) 0 add_33[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 6552 activation_206[0][0] \n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 6552 activation_125[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 2912 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 529984 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 2912 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_207 (Activation) (None, None, None, 7 0 middle_flow_unit_12_separable_con\n", + "activation_126 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 6552 activation_207[0][0] \n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 6552 activation_126[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 2912 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 529984 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 2912 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_208 (Activation) (None, None, None, 7 0 middle_flow_unit_12_separable_con\n", + "activation_127 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 6552 activation_208[0][0] \n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 6552 activation_127[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 2912 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 529984 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_12_separable_c (None, None, None, 7 2912 middle_flow_unit_12_separable_con\n", + "middle_flow_unit_12_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_12_separable_con\n", "__________________________________________________________________________________________________\n", - "add_54 (Add) (None, None, None, 7 0 middle_flow_unit_12_separable_con\n", - " add_53[0][0] \n", + "add_34 (Add) (None, 64, 64, 728) 0 middle_flow_unit_12_separable_con\n", + " add_33[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_209 (Activation) (None, None, None, 7 0 add_54[0][0] \n", + "activation_128 (Activation) (None, 64, 64, 728) 0 add_34[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 6552 activation_209[0][0] \n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 6552 activation_128[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 2912 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 529984 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 2912 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_210 (Activation) (None, None, None, 7 0 middle_flow_unit_13_separable_con\n", + "activation_129 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 6552 activation_210[0][0] \n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 6552 activation_129[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 2912 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 529984 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 2912 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_211 (Activation) (None, None, None, 7 0 middle_flow_unit_13_separable_con\n", + "activation_130 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 6552 activation_211[0][0] \n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 6552 activation_130[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 2912 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 529984 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_13_separable_c (None, None, None, 7 2912 middle_flow_unit_13_separable_con\n", + "middle_flow_unit_13_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_13_separable_con\n", "__________________________________________________________________________________________________\n", - "add_55 (Add) (None, None, None, 7 0 middle_flow_unit_13_separable_con\n", - " add_54[0][0] \n", + "add_35 (Add) (None, 64, 64, 728) 0 middle_flow_unit_13_separable_con\n", + " add_34[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_212 (Activation) (None, None, None, 7 0 add_55[0][0] \n", + "activation_131 (Activation) (None, 64, 64, 728) 0 add_35[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 6552 activation_212[0][0] \n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 6552 activation_131[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 2912 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 529984 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 2912 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_213 (Activation) (None, None, None, 7 0 middle_flow_unit_14_separable_con\n", + "activation_132 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 6552 activation_213[0][0] \n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 6552 activation_132[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 2912 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 529984 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 2912 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_214 (Activation) (None, None, None, 7 0 middle_flow_unit_14_separable_con\n", + "activation_133 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 6552 activation_214[0][0] \n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 6552 activation_133[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 2912 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 529984 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_14_separable_c (None, None, None, 7 2912 middle_flow_unit_14_separable_con\n", + "middle_flow_unit_14_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_14_separable_con\n", "__________________________________________________________________________________________________\n", - "add_56 (Add) (None, None, None, 7 0 middle_flow_unit_14_separable_con\n", - " add_55[0][0] \n", + "add_36 (Add) (None, 64, 64, 728) 0 middle_flow_unit_14_separable_con\n", + " add_35[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_215 (Activation) (None, None, None, 7 0 add_56[0][0] \n", + "activation_134 (Activation) (None, 64, 64, 728) 0 add_36[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 6552 activation_215[0][0] \n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 6552 activation_134[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 2912 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 529984 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 2912 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_216 (Activation) (None, None, None, 7 0 middle_flow_unit_15_separable_con\n", + "activation_135 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 6552 activation_216[0][0] \n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 6552 activation_135[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 2912 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 529984 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 2912 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_217 (Activation) (None, None, None, 7 0 middle_flow_unit_15_separable_con\n", + "activation_136 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 6552 activation_217[0][0] \n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 6552 activation_136[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 2912 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 529984 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_15_separable_c (None, None, None, 7 2912 middle_flow_unit_15_separable_con\n", + "middle_flow_unit_15_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_15_separable_con\n", "__________________________________________________________________________________________________\n", - "add_57 (Add) (None, None, None, 7 0 middle_flow_unit_15_separable_con\n", - " add_56[0][0] \n", + "add_37 (Add) (None, 64, 64, 728) 0 middle_flow_unit_15_separable_con\n", + " add_36[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_218 (Activation) (None, None, None, 7 0 add_57[0][0] \n", + "activation_137 (Activation) (None, 64, 64, 728) 0 add_37[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 6552 activation_218[0][0] \n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 6552 activation_137[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 2912 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 529984 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 2912 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_219 (Activation) (None, None, None, 7 0 middle_flow_unit_16_separable_con\n", + "activation_138 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 6552 activation_219[0][0] \n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 6552 activation_138[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 2912 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 529984 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 2912 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "activation_220 (Activation) (None, None, None, 7 0 middle_flow_unit_16_separable_con\n", + "activation_139 (Activation) (None, 64, 64, 728) 0 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 6552 activation_220[0][0] \n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 6552 activation_139[0][0] \n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 2912 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 529984 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 529984 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "middle_flow_unit_16_separable_c (None, None, None, 7 2912 middle_flow_unit_16_separable_con\n", + "middle_flow_unit_16_separable_c (None, 64, 64, 728) 2912 middle_flow_unit_16_separable_con\n", "__________________________________________________________________________________________________\n", - "add_58 (Add) (None, None, None, 7 0 middle_flow_unit_16_separable_con\n", - " add_57[0][0] \n", + "add_38 (Add) (None, 64, 64, 728) 0 middle_flow_unit_16_separable_con\n", + " add_37[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_221 (Activation) (None, None, None, 7 0 add_58[0][0] \n", + "activation_140 (Activation) (None, 64, 64, 728) 0 add_38[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 7 6552 activation_221[0][0] \n", + "exit_flow_block1_separable_conv (None, 64, 64, 728) 6552 activation_140[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 7 2912 exit_flow_block1_separable_conv1_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 728) 2912 exit_flow_block1_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 7 529984 exit_flow_block1_separable_conv1_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 728) 529984 exit_flow_block1_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 7 2912 exit_flow_block1_separable_conv1_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 728) 2912 exit_flow_block1_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "activation_222 (Activation) (None, None, None, 7 0 exit_flow_block1_separable_conv1_\n", + "activation_141 (Activation) (None, 64, 64, 728) 0 exit_flow_block1_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 7 6552 activation_222[0][0] \n", + "exit_flow_block1_separable_conv (None, 64, 64, 728) 6552 activation_141[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 7 2912 exit_flow_block1_separable_conv2_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 728) 2912 exit_flow_block1_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 1 745472 exit_flow_block1_separable_conv2_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 1024) 745472 exit_flow_block1_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 1 4096 exit_flow_block1_separable_conv2_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 1024) 4096 exit_flow_block1_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "activation_223 (Activation) (None, None, None, 1 0 exit_flow_block1_separable_conv2_\n", + "activation_142 (Activation) (None, 64, 64, 1024) 0 exit_flow_block1_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 1 9216 activation_223[0][0] \n", + "exit_flow_block1_separable_conv (None, 64, 64, 1024) 9216 activation_142[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 1 4096 exit_flow_block1_separable_conv3_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 1024) 4096 exit_flow_block1_separable_conv3_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 1 1048576 exit_flow_block1_separable_conv3_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 1024) 1048576 exit_flow_block1_separable_conv3_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_shortcut (Conv (None, None, None, 1 745472 add_58[0][0] \n", + "exit_flow_block1_shortcut (Conv (None, 64, 64, 1024) 745472 add_38[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_separable_conv (None, None, None, 1 4096 exit_flow_block1_separable_conv3_\n", + "exit_flow_block1_separable_conv (None, 64, 64, 1024) 4096 exit_flow_block1_separable_conv3_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block1_shortcut_BN (B (None, None, None, 1 4096 exit_flow_block1_shortcut[0][0] \n", + "exit_flow_block1_shortcut_BN (B (None, 64, 64, 1024) 4096 exit_flow_block1_shortcut[0][0] \n", "__________________________________________________________________________________________________\n", - "add_59 (Add) (None, None, None, 1 0 exit_flow_block1_separable_conv3_\n", + "add_39 (Add) (None, 64, 64, 1024) 0 exit_flow_block1_separable_conv3_\n", " exit_flow_block1_shortcut_BN[0][0\n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 9216 add_59[0][0] \n", + "exit_flow_block2_separable_conv (None, 64, 64, 1024) 9216 add_39[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 4096 exit_flow_block2_separable_conv1_\n", + "exit_flow_block2_separable_conv (None, 64, 64, 1024) 4096 exit_flow_block2_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "activation_224 (Activation) (None, None, None, 1 0 exit_flow_block2_separable_conv1_\n", + "activation_143 (Activation) (None, 64, 64, 1024) 0 exit_flow_block2_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 1572864 activation_224[0][0] \n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 1572864 activation_143[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 6144 exit_flow_block2_separable_conv1_\n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 6144 exit_flow_block2_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "activation_225 (Activation) (None, None, None, 1 0 exit_flow_block2_separable_conv1_\n", + "activation_144 (Activation) (None, 64, 64, 1536) 0 exit_flow_block2_separable_conv1_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 13824 activation_225[0][0] \n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 13824 activation_144[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 6144 exit_flow_block2_separable_conv2_\n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 6144 exit_flow_block2_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "activation_226 (Activation) (None, None, None, 1 0 exit_flow_block2_separable_conv2_\n", + "activation_145 (Activation) (None, 64, 64, 1536) 0 exit_flow_block2_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 2359296 activation_226[0][0] \n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 2359296 activation_145[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 6144 exit_flow_block2_separable_conv2_\n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 6144 exit_flow_block2_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "activation_227 (Activation) (None, None, None, 1 0 exit_flow_block2_separable_conv2_\n", + "activation_146 (Activation) (None, 64, 64, 1536) 0 exit_flow_block2_separable_conv2_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 13824 activation_227[0][0] \n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 13824 activation_146[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 1 6144 exit_flow_block2_separable_conv3_\n", + "exit_flow_block2_separable_conv (None, 64, 64, 1536) 6144 exit_flow_block2_separable_conv3_\n", "__________________________________________________________________________________________________\n", - "activation_228 (Activation) (None, None, None, 1 0 exit_flow_block2_separable_conv3_\n", + "activation_147 (Activation) (None, 64, 64, 1536) 0 exit_flow_block2_separable_conv3_\n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 2 3145728 activation_228[0][0] \n", + "exit_flow_block2_separable_conv (None, 64, 64, 2048) 3145728 activation_147[0][0] \n", "__________________________________________________________________________________________________\n", - "exit_flow_block2_separable_conv (None, None, None, 2 8192 exit_flow_block2_separable_conv3_\n", + "exit_flow_block2_separable_conv (None, 64, 64, 2048) 8192 exit_flow_block2_separable_conv3_\n", "__________________________________________________________________________________________________\n", - "activation_229 (Activation) (None, None, None, 2 0 exit_flow_block2_separable_conv3_\n", + "activation_148 (Activation) (None, 64, 64, 2048) 0 exit_flow_block2_separable_conv3_\n", "__________________________________________________________________________________________________\n", - "global_average_pooling2d_2 (Glo (None, 2048) 0 activation_229[0][0] \n", + "global_average_pooling2d_1 (Glo (None, 2048) 0 activation_148[0][0] \n", "__________________________________________________________________________________________________\n", - "ExpandDims_4 (TensorFlowOpLayer [(None, 1, 2048)] 0 global_average_pooling2d_2[0][0] \n", + "ExpandDims_2 (TensorFlowOpLayer [(None, 1, 2048)] 0 global_average_pooling2d_1[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp1_depthwise (DepthwiseConv2 (None, None, None, 2 18432 activation_229[0][0] \n", + "aspp1_depthwise (DepthwiseConv2 (None, 64, 64, 2048) 18432 activation_148[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp2_depthwise (DepthwiseConv2 (None, None, None, 2 18432 activation_229[0][0] \n", + "aspp2_depthwise (DepthwiseConv2 (None, 64, 64, 2048) 18432 activation_148[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp3_depthwise (DepthwiseConv2 (None, None, None, 2 18432 activation_229[0][0] \n", + "aspp3_depthwise (DepthwiseConv2 (None, 64, 64, 2048) 18432 activation_148[0][0] \n", "__________________________________________________________________________________________________\n", - "ExpandDims_5 (TensorFlowOpLayer [(None, 1, 1, 2048)] 0 ExpandDims_4[0][0] \n", + "ExpandDims_3 (TensorFlowOpLayer [(None, 1, 1, 2048)] 0 ExpandDims_2[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp1_depthwise_BN (BatchNormal (None, None, None, 2 8192 aspp1_depthwise[0][0] \n", + "aspp1_depthwise_BN (BatchNormal (None, 64, 64, 2048) 8192 aspp1_depthwise[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp2_depthwise_BN (BatchNormal (None, None, None, 2 8192 aspp2_depthwise[0][0] \n", + "aspp2_depthwise_BN (BatchNormal (None, 64, 64, 2048) 8192 aspp2_depthwise[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp3_depthwise_BN (BatchNormal (None, None, None, 2 8192 aspp3_depthwise[0][0] \n", + "aspp3_depthwise_BN (BatchNormal (None, 64, 64, 2048) 8192 aspp3_depthwise[0][0] \n", "__________________________________________________________________________________________________\n", - "image_pooling (Conv2D) (None, 1, 1, 256) 524288 ExpandDims_5[0][0] \n", + "image_pooling (Conv2D) (None, 1, 1, 256) 524288 ExpandDims_3[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_231 (Activation) (None, None, None, 2 0 aspp1_depthwise_BN[0][0] \n", + "activation_150 (Activation) (None, 64, 64, 2048) 0 aspp1_depthwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_233 (Activation) (None, None, None, 2 0 aspp2_depthwise_BN[0][0] \n", + "activation_152 (Activation) (None, 64, 64, 2048) 0 aspp2_depthwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_235 (Activation) (None, None, None, 2 0 aspp3_depthwise_BN[0][0] \n", + "activation_154 (Activation) (None, 64, 64, 2048) 0 aspp3_depthwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", "image_pooling_BN (BatchNormaliz (None, 1, 1, 256) 1024 image_pooling[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp0 (Conv2D) (None, None, None, 2 524288 activation_229[0][0] \n", + "aspp0 (Conv2D) (None, 64, 64, 256) 524288 activation_148[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp1_pointwise (Conv2D) (None, None, None, 2 524288 activation_231[0][0] \n", + "aspp1_pointwise (Conv2D) (None, 64, 64, 256) 524288 activation_150[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp2_pointwise (Conv2D) (None, None, None, 2 524288 activation_233[0][0] \n", + "aspp2_pointwise (Conv2D) (None, 64, 64, 256) 524288 activation_152[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp3_pointwise (Conv2D) (None, None, None, 2 524288 activation_235[0][0] \n", + "aspp3_pointwise (Conv2D) (None, 64, 64, 256) 524288 activation_154[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_230 (Activation) (None, 1, 1, 256) 0 image_pooling_BN[0][0] \n", + "activation_149 (Activation) (None, 1, 1, 256) 0 image_pooling_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp0_BN (BatchNormalization) (None, None, None, 2 1024 aspp0[0][0] \n", + "aspp0_BN (BatchNormalization) (None, 64, 64, 256) 1024 aspp0[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp1_pointwise_BN (BatchNormal (None, None, None, 2 1024 aspp1_pointwise[0][0] \n", + "aspp1_pointwise_BN (BatchNormal (None, 64, 64, 256) 1024 aspp1_pointwise[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp2_pointwise_BN (BatchNormal (None, None, None, 2 1024 aspp2_pointwise[0][0] \n", + "aspp2_pointwise_BN (BatchNormal (None, 64, 64, 256) 1024 aspp2_pointwise[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp3_pointwise_BN (BatchNormal (None, None, None, 2 1024 aspp3_pointwise[0][0] \n", + "aspp3_pointwise_BN (BatchNormal (None, 64, 64, 256) 1024 aspp3_pointwise[0][0] \n", "__________________________________________________________________________________________________\n", - "lambda_6 (Lambda) (None, None, None, 2 0 activation_230[0][0] \n", + "lambda_3 (Lambda) (None, 64, 64, 256) 0 activation_149[0][0] \n", "__________________________________________________________________________________________________\n", - "aspp0_activation (Activation) (None, None, None, 2 0 aspp0_BN[0][0] \n", + "aspp0_activation (Activation) (None, 64, 64, 256) 0 aspp0_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_232 (Activation) (None, None, None, 2 0 aspp1_pointwise_BN[0][0] \n", + "activation_151 (Activation) (None, 64, 64, 256) 0 aspp1_pointwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_234 (Activation) (None, None, None, 2 0 aspp2_pointwise_BN[0][0] \n", + "activation_153 (Activation) (None, 64, 64, 256) 0 aspp2_pointwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_236 (Activation) (None, None, None, 2 0 aspp3_pointwise_BN[0][0] \n", + "activation_155 (Activation) (None, 64, 64, 256) 0 aspp3_pointwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "concatenate_4 (Concatenate) (None, None, None, 1 0 lambda_6[0][0] \n", + "concatenate_2 (Concatenate) (None, 64, 64, 1280) 0 lambda_3[0][0] \n", " aspp0_activation[0][0] \n", - " activation_232[0][0] \n", - " activation_234[0][0] \n", - " activation_236[0][0] \n", + " activation_151[0][0] \n", + " activation_153[0][0] \n", + " activation_155[0][0] \n", "__________________________________________________________________________________________________\n", - "concat_projection (Conv2D) (None, None, None, 2 327680 concatenate_4[0][0] \n", + "concat_projection (Conv2D) (None, 64, 64, 256) 327680 concatenate_2[0][0] \n", "__________________________________________________________________________________________________\n", - "concat_projection_BN (BatchNorm (None, None, None, 2 1024 concat_projection[0][0] \n", + "concat_projection_BN (BatchNorm (None, 64, 64, 256) 1024 concat_projection[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_237 (Activation) (None, None, None, 2 0 concat_projection_BN[0][0] \n", + "activation_156 (Activation) (None, 64, 64, 256) 0 concat_projection_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "feature_projection0 (Conv2D) (None, None, None, 4 12288 entry_flow_block2_separable_conv2\n", + "feature_projection0 (Conv2D) (None, 128, 128, 48) 12288 entry_flow_block2_separable_conv2\n", "__________________________________________________________________________________________________\n", - "dropout_2 (Dropout) (None, None, None, 2 0 activation_237[0][0] \n", + "dropout_1 (Dropout) (None, 64, 64, 256) 0 activation_156[0][0] \n", "__________________________________________________________________________________________________\n", - "feature_projection0_BN (BatchNo (None, None, None, 4 192 feature_projection0[0][0] \n", + "feature_projection0_BN (BatchNo (None, 128, 128, 48) 192 feature_projection0[0][0] \n", "__________________________________________________________________________________________________\n", - "lambda_7 (Lambda) (None, None, None, 2 0 dropout_2[0][0] \n", + "lambda_4 (Lambda) (None, 128, 128, 256 0 dropout_1[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_238 (Activation) (None, None, None, 4 0 feature_projection0_BN[0][0] \n", + "activation_157 (Activation) (None, 128, 128, 48) 0 feature_projection0_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "concatenate_5 (Concatenate) (None, None, None, 3 0 lambda_7[0][0] \n", - " activation_238[0][0] \n", + "concatenate_3 (Concatenate) (None, 128, 128, 304 0 lambda_4[0][0] \n", + " activation_157[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv0_depthwise (Depthw (None, None, None, 3 2736 concatenate_5[0][0] \n", + "decoder_conv0_depthwise (Depthw (None, 128, 128, 304 2736 concatenate_3[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv0_depthwise_BN (Bat (None, None, None, 3 1216 decoder_conv0_depthwise[0][0] \n", + "decoder_conv0_depthwise_BN (Bat (None, 128, 128, 304 1216 decoder_conv0_depthwise[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_239 (Activation) (None, None, None, 3 0 decoder_conv0_depthwise_BN[0][0] \n", + "activation_158 (Activation) (None, 128, 128, 304 0 decoder_conv0_depthwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv0_pointwise (Conv2D (None, None, None, 2 77824 activation_239[0][0] \n", + "decoder_conv0_pointwise (Conv2D (None, 128, 128, 256 77824 activation_158[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv0_pointwise_BN (Bat (None, None, None, 2 1024 decoder_conv0_pointwise[0][0] \n", + "decoder_conv0_pointwise_BN (Bat (None, 128, 128, 256 1024 decoder_conv0_pointwise[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_240 (Activation) (None, None, None, 2 0 decoder_conv0_pointwise_BN[0][0] \n", + "activation_159 (Activation) (None, 128, 128, 256 0 decoder_conv0_pointwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv1_depthwise (Depthw (None, None, None, 2 2304 activation_240[0][0] \n", + "decoder_conv1_depthwise (Depthw (None, 128, 128, 256 2304 activation_159[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv1_depthwise_BN (Bat (None, None, None, 2 1024 decoder_conv1_depthwise[0][0] \n", + "decoder_conv1_depthwise_BN (Bat (None, 128, 128, 256 1024 decoder_conv1_depthwise[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_241 (Activation) (None, None, None, 2 0 decoder_conv1_depthwise_BN[0][0] \n", + "activation_160 (Activation) (None, 128, 128, 256 0 decoder_conv1_depthwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv1_pointwise (Conv2D (None, None, None, 2 65536 activation_241[0][0] \n", + "decoder_conv1_pointwise (Conv2D (None, 128, 128, 256 65536 activation_160[0][0] \n", "__________________________________________________________________________________________________\n", - "decoder_conv1_pointwise_BN (Bat (None, None, None, 2 1024 decoder_conv1_pointwise[0][0] \n", + "decoder_conv1_pointwise_BN (Bat (None, 128, 128, 256 1024 decoder_conv1_pointwise[0][0] \n", "__________________________________________________________________________________________________\n", - "activation_242 (Activation) (None, None, None, 2 0 decoder_conv1_pointwise_BN[0][0] \n", + "activation_161 (Activation) (None, 128, 128, 256 0 decoder_conv1_pointwise_BN[0][0] \n", "__________________________________________________________________________________________________\n", - "logits_semantic (Conv2D) (None, None, None, 2 5397 activation_242[0][0] \n", + "logits_semantic (Conv2D) (None, 128, 128, 21) 5397 activation_161[0][0] \n", "__________________________________________________________________________________________________\n", - "lambda_8 (Lambda) (None, None, None, 2 0 logits_semantic[0][0] \n", + "lambda_5 (Lambda) (None, 512, 512, 21) 0 logits_semantic[0][0] \n", "==================================================================================================\n", "Total params: 41,258,213\n", "Trainable params: 41,055,413\n", @@ -2428,7 +2612,7 @@ } ], "source": [ - "deeplab_model.summary()" + "deeplab_model.summary();" ] } ], diff --git a/model.py b/model.py index 15e9a29..846708f 100644 --- a/model.py +++ b/model.py @@ -5,10 +5,6 @@ https://github.com/tensorflow/models/tree/master/research/deeplab On Pascal VOC, original model gets to 84.56% mIOU -Now this model is only available for the TensorFlow backend, -due to its reliance on `SeparableConvolution` layers, but Theano will add -this layer soon. - MobileNetv2 backbone is based on this repo: https://github.com/JonathanCMitchell/mobilenet_v2_keras @@ -226,18 +222,16 @@ def Deeplabv3(weights='pascal_voc', input_tensor=None, input_shape=(512, 512, 3) """ Instantiates the Deeplabv3+ architecture Optionally loads weights pre-trained - on PASCAL VOC. This model is available for TensorFlow only, - and can only be used with inputs following the TensorFlow - data format `(width, height, channels)`. + on PASCAL VOC or Cityscapes. This model is available for TensorFlow only. # Arguments weights: one of 'pascal_voc' (pre-trained on pascal voc), 'cityscapes' (pre-trained on cityscape) or None (random initialization) input_tensor: optional Keras tensor (i.e. output of `layers.Input()`) to use as image input for the model. input_shape: shape of input image. format HxWxC - PASCAL VOC model was trained on (512,512,3) images - classes: number of desired classes. If classes != 21, - last layer is initialized randomly + PASCAL VOC model was trained on (512,512,3) images. None is allowed as shape/width + classes: number of desired classes. PASCAL VOC has 21 classes, Cityscapes has 19 classes. + If number of classes not aligned with the weights used, last layer is initialized randomly backbone: backbone to use. one of {'xception','mobilenetv2'} activation: optional activation to add to the top of the network. One of 'softmax', 'sigmoid' or None @@ -436,7 +430,7 @@ def Deeplabv3(weights='pascal_voc', input_tensor=None, input_shape=(512, 512, 3) depth_activation=True, epsilon=1e-5) # you can use it with arbitary number of classes - if classes == 21: + if (weights == 'pascal_voc' and classes == 21) or (weights == 'cityscapes' and classes == 19): last_layer_name = 'logits_semantic' else: last_layer_name = 'custom_logits_semantic'