.. _baselineimageskerasrst: =========================================== Exemple pour reconnaissance des inondations =========================================== .. only:: html **Links:** :download:`notebook `, :downloadlink:`html `, :download:`PDF `, :download:`python `, :downloadlink:`slides `, :githublink:`GitHub|_doc/notebooks/hackathon_2018/baseline_images_keras.ipynb|*` Petit exemple appris sur très peu d’images… .. code:: ipython3 import os from PIL import Image, ImageOps import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.model_selection import cross_val_score from sklearn.metrics import confusion_matrix Chargement des images ===================== .. code:: ipython3 images = [] target = [] for repo in os.listdir("sample_labelled_train"): if repo.endswith("1"): target_ = 1 else: target_= 0 for image in os.listdir(os.path.join("sample_labelled_train", repo)): file_name = os.path.join("sample_labelled_train", repo, image) images.append(Image.open(file_name)) target.append(target_) Recadrage des images en 224x224 =============================== .. code:: ipython3 array_images = np.zeros((len(images), 224, 224, 3)) for _, image in enumerate(images): array_image = np.array(image) image_ = np.zeros((224, 224, 3)) x_win = max(array_image.shape[0]//224, 1) y_win = max(array_image.shape[1]//224, 1) for x in range(224): for y in range(224): for z in range(3): if x*x_win < array_image.shape[0] and y*y_win < array_image.shape[1]: image_[x, y, z] = int(np.max(array_image[x*x_win: (x+1)*x_win, y*y_win: (y+1)*y_win, z])) array_images[_, :, :, :] = image_ .. code:: ipython3 for _ in np.random.choice([i for i in range(len(images))], 10): plt.imshow(array_images[_,:,:,:].astype('int')) plt.show() .. image:: baseline_images_keras_6_0.png .. image:: baseline_images_keras_6_1.png .. image:: baseline_images_keras_6_2.png .. image:: baseline_images_keras_6_3.png .. image:: baseline_images_keras_6_4.png .. image:: baseline_images_keras_6_5.png .. image:: baseline_images_keras_6_6.png .. image:: baseline_images_keras_6_7.png .. image:: baseline_images_keras_6_8.png .. image:: baseline_images_keras_6_9.png Import de modèles pré-entrainés =============================== .. code:: ipython3 import keras from keras.applications import vgg16, inception_v3, resnet50, mobilenet #Load the VGG model vgg_model = vgg16.VGG16(weights='imagenet') #Load the Inception_V3 model inception_model = inception_v3.InceptionV3(weights='imagenet') #Load the ResNet50 model resnet_model = resnet50.ResNet50(weights='imagenet') #Load the MobileNet model mobilenet_model = mobilenet.MobileNet(weights='imagenet') .. parsed-literal:: Using TensorFlow backend. .. code:: ipython3 vgg_model.summary() .. parsed-literal:: _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= input_1 (InputLayer) (None, 224, 224, 3) 0 _________________________________________________________________ block1_conv1 (Conv2D) (None, 224, 224, 64) 1792 _________________________________________________________________ block1_conv2 (Conv2D) (None, 224, 224, 64) 36928 _________________________________________________________________ block1_pool (MaxPooling2D) (None, 112, 112, 64) 0 _________________________________________________________________ block2_conv1 (Conv2D) (None, 112, 112, 128) 73856 _________________________________________________________________ block2_conv2 (Conv2D) (None, 112, 112, 128) 147584 _________________________________________________________________ block2_pool (MaxPooling2D) (None, 56, 56, 128) 0 _________________________________________________________________ block3_conv1 (Conv2D) (None, 56, 56, 256) 295168 _________________________________________________________________ block3_conv2 (Conv2D) (None, 56, 56, 256) 590080 _________________________________________________________________ block3_conv3 (Conv2D) (None, 56, 56, 256) 590080 _________________________________________________________________ block3_pool (MaxPooling2D) (None, 28, 28, 256) 0 _________________________________________________________________ block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160 _________________________________________________________________ block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808 _________________________________________________________________ block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808 _________________________________________________________________ block4_pool (MaxPooling2D) (None, 14, 14, 512) 0 _________________________________________________________________ block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808 _________________________________________________________________ block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808 _________________________________________________________________ block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808 _________________________________________________________________ block5_pool (MaxPooling2D) (None, 7, 7, 512) 0 _________________________________________________________________ flatten (Flatten) (None, 25088) 0 _________________________________________________________________ fc1 (Dense) (None, 4096) 102764544 _________________________________________________________________ fc2 (Dense) (None, 4096) 16781312 _________________________________________________________________ predictions (Dense) (None, 1000) 4097000 ================================================================= Total params: 138,357,544 Trainable params: 138,357,544 Non-trainable params: 0 _________________________________________________________________ .. code:: ipython3 inception_model.summary() .. parsed-literal:: __________________________________________________________________________________________________ Layer (type) Output Shape Param # Connected to ================================================================================================== input_2 (InputLayer) (None, None, None, 3 0 __________________________________________________________________________________________________ conv2d_1 (Conv2D) (None, None, None, 3 864 input_2[0][0] __________________________________________________________________________________________________ batch_normalization_1 (BatchNor (None, None, None, 3 96 conv2d_1[0][0] __________________________________________________________________________________________________ activation_1 (Activation) (None, None, None, 3 0 batch_normalization_1[0][0] __________________________________________________________________________________________________ conv2d_2 (Conv2D) (None, None, None, 3 9216 activation_1[0][0] __________________________________________________________________________________________________ batch_normalization_2 (BatchNor (None, None, None, 3 96 conv2d_2[0][0] __________________________________________________________________________________________________ activation_2 (Activation) (None, None, None, 3 0 batch_normalization_2[0][0] __________________________________________________________________________________________________ conv2d_3 (Conv2D) (None, None, None, 6 18432 activation_2[0][0] __________________________________________________________________________________________________ batch_normalization_3 (BatchNor (None, None, None, 6 192 conv2d_3[0][0] __________________________________________________________________________________________________ activation_3 (Activation) (None, None, None, 6 0 batch_normalization_3[0][0] __________________________________________________________________________________________________ max_pooling2d_1 (MaxPooling2D) (None, None, None, 6 0 activation_3[0][0] __________________________________________________________________________________________________ conv2d_4 (Conv2D) (None, None, None, 8 5120 max_pooling2d_1[0][0] __________________________________________________________________________________________________ batch_normalization_4 (BatchNor (None, None, None, 8 240 conv2d_4[0][0] __________________________________________________________________________________________________ activation_4 (Activation) (None, None, None, 8 0 batch_normalization_4[0][0] __________________________________________________________________________________________________ conv2d_5 (Conv2D) (None, None, None, 1 138240 activation_4[0][0] __________________________________________________________________________________________________ batch_normalization_5 (BatchNor (None, None, None, 1 576 conv2d_5[0][0] __________________________________________________________________________________________________ activation_5 (Activation) (None, None, None, 1 0 batch_normalization_5[0][0] __________________________________________________________________________________________________ max_pooling2d_2 (MaxPooling2D) (None, None, None, 1 0 activation_5[0][0] __________________________________________________________________________________________________ conv2d_9 (Conv2D) (None, None, None, 6 12288 max_pooling2d_2[0][0] __________________________________________________________________________________________________ batch_normalization_9 (BatchNor (None, None, None, 6 192 conv2d_9[0][0] __________________________________________________________________________________________________ activation_9 (Activation) (None, None, None, 6 0 batch_normalization_9[0][0] __________________________________________________________________________________________________ conv2d_7 (Conv2D) (None, None, None, 4 9216 max_pooling2d_2[0][0] __________________________________________________________________________________________________ conv2d_10 (Conv2D) (None, None, None, 9 55296 activation_9[0][0] __________________________________________________________________________________________________ batch_normalization_7 (BatchNor (None, None, None, 4 144 conv2d_7[0][0] __________________________________________________________________________________________________ batch_normalization_10 (BatchNo (None, None, None, 9 288 conv2d_10[0][0] __________________________________________________________________________________________________ activation_7 (Activation) (None, None, None, 4 0 batch_normalization_7[0][0] __________________________________________________________________________________________________ activation_10 (Activation) (None, None, None, 9 0 batch_normalization_10[0][0] __________________________________________________________________________________________________ average_pooling2d_1 (AveragePoo (None, None, None, 1 0 max_pooling2d_2[0][0] __________________________________________________________________________________________________ conv2d_6 (Conv2D) (None, None, None, 6 12288 max_pooling2d_2[0][0] __________________________________________________________________________________________________ conv2d_8 (Conv2D) (None, None, None, 6 76800 activation_7[0][0] __________________________________________________________________________________________________ conv2d_11 (Conv2D) (None, None, None, 9 82944 activation_10[0][0] __________________________________________________________________________________________________ conv2d_12 (Conv2D) (None, None, None, 3 6144 average_pooling2d_1[0][0] __________________________________________________________________________________________________ batch_normalization_6 (BatchNor (None, None, None, 6 192 conv2d_6[0][0] __________________________________________________________________________________________________ batch_normalization_8 (BatchNor (None, None, None, 6 192 conv2d_8[0][0] __________________________________________________________________________________________________ batch_normalization_11 (BatchNo (None, None, None, 9 288 conv2d_11[0][0] __________________________________________________________________________________________________ batch_normalization_12 (BatchNo (None, None, None, 3 96 conv2d_12[0][0] __________________________________________________________________________________________________ activation_6 (Activation) (None, None, None, 6 0 batch_normalization_6[0][0] __________________________________________________________________________________________________ activation_8 (Activation) (None, None, None, 6 0 batch_normalization_8[0][0] __________________________________________________________________________________________________ activation_11 (Activation) (None, None, None, 9 0 batch_normalization_11[0][0] __________________________________________________________________________________________________ activation_12 (Activation) (None, None, None, 3 0 batch_normalization_12[0][0] __________________________________________________________________________________________________ mixed0 (Concatenate) (None, None, None, 2 0 activation_6[0][0] activation_8[0][0] activation_11[0][0] activation_12[0][0] __________________________________________________________________________________________________ conv2d_16 (Conv2D) (None, None, None, 6 16384 mixed0[0][0] __________________________________________________________________________________________________ batch_normalization_16 (BatchNo (None, None, None, 6 192 conv2d_16[0][0] __________________________________________________________________________________________________ activation_16 (Activation) (None, None, None, 6 0 batch_normalization_16[0][0] __________________________________________________________________________________________________ conv2d_14 (Conv2D) (None, None, None, 4 12288 mixed0[0][0] __________________________________________________________________________________________________ conv2d_17 (Conv2D) (None, None, None, 9 55296 activation_16[0][0] __________________________________________________________________________________________________ batch_normalization_14 (BatchNo (None, None, None, 4 144 conv2d_14[0][0] __________________________________________________________________________________________________ batch_normalization_17 (BatchNo (None, None, None, 9 288 conv2d_17[0][0] __________________________________________________________________________________________________ activation_14 (Activation) (None, None, None, 4 0 batch_normalization_14[0][0] __________________________________________________________________________________________________ activation_17 (Activation) (None, None, None, 9 0 batch_normalization_17[0][0] __________________________________________________________________________________________________ average_pooling2d_2 (AveragePoo (None, None, None, 2 0 mixed0[0][0] __________________________________________________________________________________________________ conv2d_13 (Conv2D) (None, None, None, 6 16384 mixed0[0][0] __________________________________________________________________________________________________ conv2d_15 (Conv2D) (None, None, None, 6 76800 activation_14[0][0] __________________________________________________________________________________________________ conv2d_18 (Conv2D) (None, None, None, 9 82944 activation_17[0][0] __________________________________________________________________________________________________ conv2d_19 (Conv2D) (None, None, None, 6 16384 average_pooling2d_2[0][0] __________________________________________________________________________________________________ batch_normalization_13 (BatchNo (None, None, None, 6 192 conv2d_13[0][0] __________________________________________________________________________________________________ batch_normalization_15 (BatchNo (None, None, None, 6 192 conv2d_15[0][0] __________________________________________________________________________________________________ batch_normalization_18 (BatchNo (None, None, None, 9 288 conv2d_18[0][0] __________________________________________________________________________________________________ batch_normalization_19 (BatchNo (None, None, None, 6 192 conv2d_19[0][0] __________________________________________________________________________________________________ activation_13 (Activation) (None, None, None, 6 0 batch_normalization_13[0][0] __________________________________________________________________________________________________ activation_15 (Activation) (None, None, None, 6 0 batch_normalization_15[0][0] __________________________________________________________________________________________________ activation_18 (Activation) (None, None, None, 9 0 batch_normalization_18[0][0] __________________________________________________________________________________________________ activation_19 (Activation) (None, None, None, 6 0 batch_normalization_19[0][0] __________________________________________________________________________________________________ mixed1 (Concatenate) (None, None, None, 2 0 activation_13[0][0] activation_15[0][0] activation_18[0][0] activation_19[0][0] __________________________________________________________________________________________________ conv2d_23 (Conv2D) (None, None, None, 6 18432 mixed1[0][0] __________________________________________________________________________________________________ batch_normalization_23 (BatchNo (None, None, None, 6 192 conv2d_23[0][0] __________________________________________________________________________________________________ activation_23 (Activation) (None, None, None, 6 0 batch_normalization_23[0][0] __________________________________________________________________________________________________ conv2d_21 (Conv2D) (None, None, None, 4 13824 mixed1[0][0] __________________________________________________________________________________________________ conv2d_24 (Conv2D) (None, None, None, 9 55296 activation_23[0][0] __________________________________________________________________________________________________ batch_normalization_21 (BatchNo (None, None, None, 4 144 conv2d_21[0][0] __________________________________________________________________________________________________ batch_normalization_24 (BatchNo (None, None, None, 9 288 conv2d_24[0][0] __________________________________________________________________________________________________ activation_21 (Activation) (None, None, None, 4 0 batch_normalization_21[0][0] __________________________________________________________________________________________________ activation_24 (Activation) (None, None, None, 9 0 batch_normalization_24[0][0] __________________________________________________________________________________________________ average_pooling2d_3 (AveragePoo (None, None, None, 2 0 mixed1[0][0] __________________________________________________________________________________________________ conv2d_20 (Conv2D) (None, None, None, 6 18432 mixed1[0][0] __________________________________________________________________________________________________ conv2d_22 (Conv2D) (None, None, None, 6 76800 activation_21[0][0] __________________________________________________________________________________________________ conv2d_25 (Conv2D) (None, None, None, 9 82944 activation_24[0][0] __________________________________________________________________________________________________ conv2d_26 (Conv2D) (None, None, None, 6 18432 average_pooling2d_3[0][0] __________________________________________________________________________________________________ batch_normalization_20 (BatchNo (None, None, None, 6 192 conv2d_20[0][0] __________________________________________________________________________________________________ batch_normalization_22 (BatchNo (None, None, None, 6 192 conv2d_22[0][0] __________________________________________________________________________________________________ batch_normalization_25 (BatchNo (None, None, None, 9 288 conv2d_25[0][0] __________________________________________________________________________________________________ batch_normalization_26 (BatchNo (None, None, None, 6 192 conv2d_26[0][0] __________________________________________________________________________________________________ activation_20 (Activation) (None, None, None, 6 0 batch_normalization_20[0][0] __________________________________________________________________________________________________ activation_22 (Activation) (None, None, None, 6 0 batch_normalization_22[0][0] __________________________________________________________________________________________________ activation_25 (Activation) (None, None, None, 9 0 batch_normalization_25[0][0] __________________________________________________________________________________________________ activation_26 (Activation) (None, None, None, 6 0 batch_normalization_26[0][0] __________________________________________________________________________________________________ mixed2 (Concatenate) (None, None, None, 2 0 activation_20[0][0] activation_22[0][0] activation_25[0][0] activation_26[0][0] __________________________________________________________________________________________________ conv2d_28 (Conv2D) (None, None, None, 6 18432 mixed2[0][0] __________________________________________________________________________________________________ batch_normalization_28 (BatchNo (None, None, None, 6 192 conv2d_28[0][0] __________________________________________________________________________________________________ activation_28 (Activation) (None, None, None, 6 0 batch_normalization_28[0][0] __________________________________________________________________________________________________ conv2d_29 (Conv2D) (None, None, None, 9 55296 activation_28[0][0] __________________________________________________________________________________________________ batch_normalization_29 (BatchNo (None, None, None, 9 288 conv2d_29[0][0] __________________________________________________________________________________________________ activation_29 (Activation) (None, None, None, 9 0 batch_normalization_29[0][0] __________________________________________________________________________________________________ conv2d_27 (Conv2D) (None, None, None, 3 995328 mixed2[0][0] __________________________________________________________________________________________________ conv2d_30 (Conv2D) (None, None, None, 9 82944 activation_29[0][0] __________________________________________________________________________________________________ batch_normalization_27 (BatchNo (None, None, None, 3 1152 conv2d_27[0][0] __________________________________________________________________________________________________ batch_normalization_30 (BatchNo (None, None, None, 9 288 conv2d_30[0][0] __________________________________________________________________________________________________ activation_27 (Activation) (None, None, None, 3 0 batch_normalization_27[0][0] __________________________________________________________________________________________________ activation_30 (Activation) (None, None, None, 9 0 batch_normalization_30[0][0] __________________________________________________________________________________________________ max_pooling2d_3 (MaxPooling2D) (None, None, None, 2 0 mixed2[0][0] __________________________________________________________________________________________________ mixed3 (Concatenate) (None, None, None, 7 0 activation_27[0][0] activation_30[0][0] max_pooling2d_3[0][0] __________________________________________________________________________________________________ conv2d_35 (Conv2D) (None, None, None, 1 98304 mixed3[0][0] __________________________________________________________________________________________________ batch_normalization_35 (BatchNo (None, None, None, 1 384 conv2d_35[0][0] __________________________________________________________________________________________________ activation_35 (Activation) (None, None, None, 1 0 batch_normalization_35[0][0] __________________________________________________________________________________________________ conv2d_36 (Conv2D) (None, None, None, 1 114688 activation_35[0][0] __________________________________________________________________________________________________ batch_normalization_36 (BatchNo (None, None, None, 1 384 conv2d_36[0][0] __________________________________________________________________________________________________ activation_36 (Activation) (None, None, None, 1 0 batch_normalization_36[0][0] __________________________________________________________________________________________________ conv2d_32 (Conv2D) (None, None, None, 1 98304 mixed3[0][0] __________________________________________________________________________________________________ conv2d_37 (Conv2D) (None, None, None, 1 114688 activation_36[0][0] __________________________________________________________________________________________________ batch_normalization_32 (BatchNo (None, None, None, 1 384 conv2d_32[0][0] __________________________________________________________________________________________________ batch_normalization_37 (BatchNo (None, None, None, 1 384 conv2d_37[0][0] __________________________________________________________________________________________________ activation_32 (Activation) (None, None, None, 1 0 batch_normalization_32[0][0] __________________________________________________________________________________________________ activation_37 (Activation) (None, None, None, 1 0 batch_normalization_37[0][0] __________________________________________________________________________________________________ conv2d_33 (Conv2D) (None, None, None, 1 114688 activation_32[0][0] __________________________________________________________________________________________________ conv2d_38 (Conv2D) (None, None, None, 1 114688 activation_37[0][0] __________________________________________________________________________________________________ batch_normalization_33 (BatchNo (None, None, None, 1 384 conv2d_33[0][0] __________________________________________________________________________________________________ batch_normalization_38 (BatchNo (None, None, None, 1 384 conv2d_38[0][0] __________________________________________________________________________________________________ activation_33 (Activation) (None, None, None, 1 0 batch_normalization_33[0][0] __________________________________________________________________________________________________ activation_38 (Activation) (None, None, None, 1 0 batch_normalization_38[0][0] __________________________________________________________________________________________________ average_pooling2d_4 (AveragePoo (None, None, None, 7 0 mixed3[0][0] __________________________________________________________________________________________________ conv2d_31 (Conv2D) (None, None, None, 1 147456 mixed3[0][0] __________________________________________________________________________________________________ conv2d_34 (Conv2D) (None, None, None, 1 172032 activation_33[0][0] __________________________________________________________________________________________________ conv2d_39 (Conv2D) (None, None, None, 1 172032 activation_38[0][0] __________________________________________________________________________________________________ conv2d_40 (Conv2D) (None, None, None, 1 147456 average_pooling2d_4[0][0] __________________________________________________________________________________________________ batch_normalization_31 (BatchNo (None, None, None, 1 576 conv2d_31[0][0] __________________________________________________________________________________________________ batch_normalization_34 (BatchNo (None, None, None, 1 576 conv2d_34[0][0] __________________________________________________________________________________________________ batch_normalization_39 (BatchNo (None, None, None, 1 576 conv2d_39[0][0] __________________________________________________________________________________________________ batch_normalization_40 (BatchNo (None, None, None, 1 576 conv2d_40[0][0] __________________________________________________________________________________________________ activation_31 (Activation) (None, None, None, 1 0 batch_normalization_31[0][0] __________________________________________________________________________________________________ activation_34 (Activation) (None, None, None, 1 0 batch_normalization_34[0][0] __________________________________________________________________________________________________ activation_39 (Activation) (None, None, None, 1 0 batch_normalization_39[0][0] __________________________________________________________________________________________________ activation_40 (Activation) (None, None, None, 1 0 batch_normalization_40[0][0] __________________________________________________________________________________________________ mixed4 (Concatenate) (None, None, None, 7 0 activation_31[0][0] activation_34[0][0] activation_39[0][0] activation_40[0][0] __________________________________________________________________________________________________ conv2d_45 (Conv2D) (None, None, None, 1 122880 mixed4[0][0] __________________________________________________________________________________________________ batch_normalization_45 (BatchNo (None, None, None, 1 480 conv2d_45[0][0] __________________________________________________________________________________________________ activation_45 (Activation) (None, None, None, 1 0 batch_normalization_45[0][0] __________________________________________________________________________________________________ conv2d_46 (Conv2D) (None, None, None, 1 179200 activation_45[0][0] __________________________________________________________________________________________________ batch_normalization_46 (BatchNo (None, None, None, 1 480 conv2d_46[0][0] __________________________________________________________________________________________________ activation_46 (Activation) (None, None, None, 1 0 batch_normalization_46[0][0] __________________________________________________________________________________________________ conv2d_42 (Conv2D) (None, None, None, 1 122880 mixed4[0][0] __________________________________________________________________________________________________ conv2d_47 (Conv2D) (None, None, None, 1 179200 activation_46[0][0] __________________________________________________________________________________________________ batch_normalization_42 (BatchNo (None, None, None, 1 480 conv2d_42[0][0] __________________________________________________________________________________________________ batch_normalization_47 (BatchNo (None, None, None, 1 480 conv2d_47[0][0] __________________________________________________________________________________________________ activation_42 (Activation) (None, None, None, 1 0 batch_normalization_42[0][0] __________________________________________________________________________________________________ activation_47 (Activation) (None, None, None, 1 0 batch_normalization_47[0][0] __________________________________________________________________________________________________ conv2d_43 (Conv2D) (None, None, None, 1 179200 activation_42[0][0] __________________________________________________________________________________________________ conv2d_48 (Conv2D) (None, None, None, 1 179200 activation_47[0][0] __________________________________________________________________________________________________ batch_normalization_43 (BatchNo (None, None, None, 1 480 conv2d_43[0][0] __________________________________________________________________________________________________ batch_normalization_48 (BatchNo (None, None, None, 1 480 conv2d_48[0][0] __________________________________________________________________________________________________ activation_43 (Activation) (None, None, None, 1 0 batch_normalization_43[0][0] __________________________________________________________________________________________________ activation_48 (Activation) (None, None, None, 1 0 batch_normalization_48[0][0] __________________________________________________________________________________________________ average_pooling2d_5 (AveragePoo (None, None, None, 7 0 mixed4[0][0] __________________________________________________________________________________________________ conv2d_41 (Conv2D) (None, None, None, 1 147456 mixed4[0][0] __________________________________________________________________________________________________ conv2d_44 (Conv2D) (None, None, None, 1 215040 activation_43[0][0] __________________________________________________________________________________________________ conv2d_49 (Conv2D) (None, None, None, 1 215040 activation_48[0][0] __________________________________________________________________________________________________ conv2d_50 (Conv2D) (None, None, None, 1 147456 average_pooling2d_5[0][0] __________________________________________________________________________________________________ batch_normalization_41 (BatchNo (None, None, None, 1 576 conv2d_41[0][0] __________________________________________________________________________________________________ batch_normalization_44 (BatchNo (None, None, None, 1 576 conv2d_44[0][0] __________________________________________________________________________________________________ batch_normalization_49 (BatchNo (None, None, None, 1 576 conv2d_49[0][0] __________________________________________________________________________________________________ batch_normalization_50 (BatchNo (None, None, None, 1 576 conv2d_50[0][0] __________________________________________________________________________________________________ activation_41 (Activation) (None, None, None, 1 0 batch_normalization_41[0][0] __________________________________________________________________________________________________ activation_44 (Activation) (None, None, None, 1 0 batch_normalization_44[0][0] __________________________________________________________________________________________________ activation_49 (Activation) (None, None, None, 1 0 batch_normalization_49[0][0] __________________________________________________________________________________________________ activation_50 (Activation) (None, None, None, 1 0 batch_normalization_50[0][0] __________________________________________________________________________________________________ mixed5 (Concatenate) (None, None, None, 7 0 activation_41[0][0] activation_44[0][0] activation_49[0][0] activation_50[0][0] __________________________________________________________________________________________________ conv2d_55 (Conv2D) (None, None, None, 1 122880 mixed5[0][0] __________________________________________________________________________________________________ batch_normalization_55 (BatchNo (None, None, None, 1 480 conv2d_55[0][0] __________________________________________________________________________________________________ activation_55 (Activation) (None, None, None, 1 0 batch_normalization_55[0][0] __________________________________________________________________________________________________ conv2d_56 (Conv2D) (None, None, None, 1 179200 activation_55[0][0] __________________________________________________________________________________________________ batch_normalization_56 (BatchNo (None, None, None, 1 480 conv2d_56[0][0] __________________________________________________________________________________________________ activation_56 (Activation) (None, None, None, 1 0 batch_normalization_56[0][0] __________________________________________________________________________________________________ conv2d_52 (Conv2D) (None, None, None, 1 122880 mixed5[0][0] __________________________________________________________________________________________________ conv2d_57 (Conv2D) (None, None, None, 1 179200 activation_56[0][0] __________________________________________________________________________________________________ batch_normalization_52 (BatchNo (None, None, None, 1 480 conv2d_52[0][0] __________________________________________________________________________________________________ batch_normalization_57 (BatchNo (None, None, None, 1 480 conv2d_57[0][0] __________________________________________________________________________________________________ activation_52 (Activation) (None, None, None, 1 0 batch_normalization_52[0][0] __________________________________________________________________________________________________ activation_57 (Activation) (None, None, None, 1 0 batch_normalization_57[0][0] __________________________________________________________________________________________________ conv2d_53 (Conv2D) (None, None, None, 1 179200 activation_52[0][0] __________________________________________________________________________________________________ conv2d_58 (Conv2D) (None, None, None, 1 179200 activation_57[0][0] __________________________________________________________________________________________________ batch_normalization_53 (BatchNo (None, None, None, 1 480 conv2d_53[0][0] __________________________________________________________________________________________________ batch_normalization_58 (BatchNo (None, None, None, 1 480 conv2d_58[0][0] __________________________________________________________________________________________________ activation_53 (Activation) (None, None, None, 1 0 batch_normalization_53[0][0] __________________________________________________________________________________________________ activation_58 (Activation) (None, None, None, 1 0 batch_normalization_58[0][0] __________________________________________________________________________________________________ average_pooling2d_6 (AveragePoo (None, None, None, 7 0 mixed5[0][0] __________________________________________________________________________________________________ conv2d_51 (Conv2D) (None, None, None, 1 147456 mixed5[0][0] __________________________________________________________________________________________________ conv2d_54 (Conv2D) (None, None, None, 1 215040 activation_53[0][0] __________________________________________________________________________________________________ conv2d_59 (Conv2D) (None, None, None, 1 215040 activation_58[0][0] __________________________________________________________________________________________________ conv2d_60 (Conv2D) (None, None, None, 1 147456 average_pooling2d_6[0][0] __________________________________________________________________________________________________ batch_normalization_51 (BatchNo (None, None, None, 1 576 conv2d_51[0][0] __________________________________________________________________________________________________ batch_normalization_54 (BatchNo (None, None, None, 1 576 conv2d_54[0][0] __________________________________________________________________________________________________ batch_normalization_59 (BatchNo (None, None, None, 1 576 conv2d_59[0][0] __________________________________________________________________________________________________ batch_normalization_60 (BatchNo (None, None, None, 1 576 conv2d_60[0][0] __________________________________________________________________________________________________ activation_51 (Activation) (None, None, None, 1 0 batch_normalization_51[0][0] __________________________________________________________________________________________________ activation_54 (Activation) (None, None, None, 1 0 batch_normalization_54[0][0] __________________________________________________________________________________________________ activation_59 (Activation) (None, None, None, 1 0 batch_normalization_59[0][0] __________________________________________________________________________________________________ activation_60 (Activation) (None, None, None, 1 0 batch_normalization_60[0][0] __________________________________________________________________________________________________ mixed6 (Concatenate) (None, None, None, 7 0 activation_51[0][0] activation_54[0][0] activation_59[0][0] activation_60[0][0] __________________________________________________________________________________________________ conv2d_65 (Conv2D) (None, None, None, 1 147456 mixed6[0][0] __________________________________________________________________________________________________ batch_normalization_65 (BatchNo (None, None, None, 1 576 conv2d_65[0][0] __________________________________________________________________________________________________ activation_65 (Activation) (None, None, None, 1 0 batch_normalization_65[0][0] __________________________________________________________________________________________________ conv2d_66 (Conv2D) (None, None, None, 1 258048 activation_65[0][0] __________________________________________________________________________________________________ batch_normalization_66 (BatchNo (None, None, None, 1 576 conv2d_66[0][0] __________________________________________________________________________________________________ activation_66 (Activation) (None, None, None, 1 0 batch_normalization_66[0][0] __________________________________________________________________________________________________ conv2d_62 (Conv2D) (None, None, None, 1 147456 mixed6[0][0] __________________________________________________________________________________________________ conv2d_67 (Conv2D) (None, None, None, 1 258048 activation_66[0][0] __________________________________________________________________________________________________ batch_normalization_62 (BatchNo (None, None, None, 1 576 conv2d_62[0][0] __________________________________________________________________________________________________ batch_normalization_67 (BatchNo (None, None, None, 1 576 conv2d_67[0][0] __________________________________________________________________________________________________ activation_62 (Activation) (None, None, None, 1 0 batch_normalization_62[0][0] __________________________________________________________________________________________________ activation_67 (Activation) (None, None, None, 1 0 batch_normalization_67[0][0] __________________________________________________________________________________________________ conv2d_63 (Conv2D) (None, None, None, 1 258048 activation_62[0][0] __________________________________________________________________________________________________ conv2d_68 (Conv2D) (None, None, None, 1 258048 activation_67[0][0] __________________________________________________________________________________________________ batch_normalization_63 (BatchNo (None, None, None, 1 576 conv2d_63[0][0] __________________________________________________________________________________________________ batch_normalization_68 (BatchNo (None, None, None, 1 576 conv2d_68[0][0] __________________________________________________________________________________________________ activation_63 (Activation) (None, None, None, 1 0 batch_normalization_63[0][0] __________________________________________________________________________________________________ activation_68 (Activation) (None, None, None, 1 0 batch_normalization_68[0][0] __________________________________________________________________________________________________ average_pooling2d_7 (AveragePoo (None, None, None, 7 0 mixed6[0][0] __________________________________________________________________________________________________ conv2d_61 (Conv2D) (None, None, None, 1 147456 mixed6[0][0] __________________________________________________________________________________________________ conv2d_64 (Conv2D) (None, None, None, 1 258048 activation_63[0][0] __________________________________________________________________________________________________ conv2d_69 (Conv2D) (None, None, None, 1 258048 activation_68[0][0] __________________________________________________________________________________________________ conv2d_70 (Conv2D) (None, None, None, 1 147456 average_pooling2d_7[0][0] __________________________________________________________________________________________________ batch_normalization_61 (BatchNo (None, None, None, 1 576 conv2d_61[0][0] __________________________________________________________________________________________________ batch_normalization_64 (BatchNo (None, None, None, 1 576 conv2d_64[0][0] __________________________________________________________________________________________________ batch_normalization_69 (BatchNo (None, None, None, 1 576 conv2d_69[0][0] __________________________________________________________________________________________________ batch_normalization_70 (BatchNo (None, None, None, 1 576 conv2d_70[0][0] __________________________________________________________________________________________________ activation_61 (Activation) (None, None, None, 1 0 batch_normalization_61[0][0] __________________________________________________________________________________________________ activation_64 (Activation) (None, None, None, 1 0 batch_normalization_64[0][0] __________________________________________________________________________________________________ activation_69 (Activation) (None, None, None, 1 0 batch_normalization_69[0][0] __________________________________________________________________________________________________ activation_70 (Activation) (None, None, None, 1 0 batch_normalization_70[0][0] __________________________________________________________________________________________________ mixed7 (Concatenate) (None, None, None, 7 0 activation_61[0][0] activation_64[0][0] activation_69[0][0] activation_70[0][0] __________________________________________________________________________________________________ conv2d_73 (Conv2D) (None, None, None, 1 147456 mixed7[0][0] __________________________________________________________________________________________________ batch_normalization_73 (BatchNo (None, None, None, 1 576 conv2d_73[0][0] __________________________________________________________________________________________________ activation_73 (Activation) (None, None, None, 1 0 batch_normalization_73[0][0] __________________________________________________________________________________________________ conv2d_74 (Conv2D) (None, None, None, 1 258048 activation_73[0][0] __________________________________________________________________________________________________ batch_normalization_74 (BatchNo (None, None, None, 1 576 conv2d_74[0][0] __________________________________________________________________________________________________ activation_74 (Activation) (None, None, None, 1 0 batch_normalization_74[0][0] __________________________________________________________________________________________________ conv2d_71 (Conv2D) (None, None, None, 1 147456 mixed7[0][0] __________________________________________________________________________________________________ conv2d_75 (Conv2D) (None, None, None, 1 258048 activation_74[0][0] __________________________________________________________________________________________________ batch_normalization_71 (BatchNo (None, None, None, 1 576 conv2d_71[0][0] __________________________________________________________________________________________________ batch_normalization_75 (BatchNo (None, None, None, 1 576 conv2d_75[0][0] __________________________________________________________________________________________________ activation_71 (Activation) (None, None, None, 1 0 batch_normalization_71[0][0] __________________________________________________________________________________________________ activation_75 (Activation) (None, None, None, 1 0 batch_normalization_75[0][0] __________________________________________________________________________________________________ conv2d_72 (Conv2D) (None, None, None, 3 552960 activation_71[0][0] __________________________________________________________________________________________________ conv2d_76 (Conv2D) (None, None, None, 1 331776 activation_75[0][0] __________________________________________________________________________________________________ batch_normalization_72 (BatchNo (None, None, None, 3 960 conv2d_72[0][0] __________________________________________________________________________________________________ batch_normalization_76 (BatchNo (None, None, None, 1 576 conv2d_76[0][0] __________________________________________________________________________________________________ activation_72 (Activation) (None, None, None, 3 0 batch_normalization_72[0][0] __________________________________________________________________________________________________ activation_76 (Activation) (None, None, None, 1 0 batch_normalization_76[0][0] __________________________________________________________________________________________________ max_pooling2d_4 (MaxPooling2D) (None, None, None, 7 0 mixed7[0][0] __________________________________________________________________________________________________ mixed8 (Concatenate) (None, None, None, 1 0 activation_72[0][0] activation_76[0][0] max_pooling2d_4[0][0] __________________________________________________________________________________________________ conv2d_81 (Conv2D) (None, None, None, 4 573440 mixed8[0][0] __________________________________________________________________________________________________ batch_normalization_81 (BatchNo (None, None, None, 4 1344 conv2d_81[0][0] __________________________________________________________________________________________________ activation_81 (Activation) (None, None, None, 4 0 batch_normalization_81[0][0] __________________________________________________________________________________________________ conv2d_78 (Conv2D) (None, None, None, 3 491520 mixed8[0][0] __________________________________________________________________________________________________ conv2d_82 (Conv2D) (None, None, None, 3 1548288 activation_81[0][0] __________________________________________________________________________________________________ batch_normalization_78 (BatchNo (None, None, None, 3 1152 conv2d_78[0][0] __________________________________________________________________________________________________ batch_normalization_82 (BatchNo (None, None, None, 3 1152 conv2d_82[0][0] __________________________________________________________________________________________________ activation_78 (Activation) (None, None, None, 3 0 batch_normalization_78[0][0] __________________________________________________________________________________________________ activation_82 (Activation) (None, None, None, 3 0 batch_normalization_82[0][0] __________________________________________________________________________________________________ conv2d_79 (Conv2D) (None, None, None, 3 442368 activation_78[0][0] __________________________________________________________________________________________________ conv2d_80 (Conv2D) (None, None, None, 3 442368 activation_78[0][0] __________________________________________________________________________________________________ conv2d_83 (Conv2D) (None, None, None, 3 442368 activation_82[0][0] __________________________________________________________________________________________________ conv2d_84 (Conv2D) (None, None, None, 3 442368 activation_82[0][0] __________________________________________________________________________________________________ average_pooling2d_8 (AveragePoo (None, None, None, 1 0 mixed8[0][0] __________________________________________________________________________________________________ conv2d_77 (Conv2D) (None, None, None, 3 409600 mixed8[0][0] __________________________________________________________________________________________________ batch_normalization_79 (BatchNo (None, None, None, 3 1152 conv2d_79[0][0] __________________________________________________________________________________________________ batch_normalization_80 (BatchNo (None, None, None, 3 1152 conv2d_80[0][0] __________________________________________________________________________________________________ batch_normalization_83 (BatchNo (None, None, None, 3 1152 conv2d_83[0][0] __________________________________________________________________________________________________ batch_normalization_84 (BatchNo (None, None, None, 3 1152 conv2d_84[0][0] __________________________________________________________________________________________________ conv2d_85 (Conv2D) (None, None, None, 1 245760 average_pooling2d_8[0][0] __________________________________________________________________________________________________ batch_normalization_77 (BatchNo (None, None, None, 3 960 conv2d_77[0][0] __________________________________________________________________________________________________ activation_79 (Activation) (None, None, None, 3 0 batch_normalization_79[0][0] __________________________________________________________________________________________________ activation_80 (Activation) (None, None, None, 3 0 batch_normalization_80[0][0] __________________________________________________________________________________________________ activation_83 (Activation) (None, None, None, 3 0 batch_normalization_83[0][0] __________________________________________________________________________________________________ activation_84 (Activation) (None, None, None, 3 0 batch_normalization_84[0][0] __________________________________________________________________________________________________ batch_normalization_85 (BatchNo (None, None, None, 1 576 conv2d_85[0][0] __________________________________________________________________________________________________ activation_77 (Activation) (None, None, None, 3 0 batch_normalization_77[0][0] __________________________________________________________________________________________________ mixed9_0 (Concatenate) (None, None, None, 7 0 activation_79[0][0] activation_80[0][0] __________________________________________________________________________________________________ concatenate_1 (Concatenate) (None, None, None, 7 0 activation_83[0][0] activation_84[0][0] __________________________________________________________________________________________________ activation_85 (Activation) (None, None, None, 1 0 batch_normalization_85[0][0] __________________________________________________________________________________________________ mixed9 (Concatenate) (None, None, None, 2 0 activation_77[0][0] mixed9_0[0][0] concatenate_1[0][0] activation_85[0][0] __________________________________________________________________________________________________ conv2d_90 (Conv2D) (None, None, None, 4 917504 mixed9[0][0] __________________________________________________________________________________________________ batch_normalization_90 (BatchNo (None, None, None, 4 1344 conv2d_90[0][0] __________________________________________________________________________________________________ activation_90 (Activation) (None, None, None, 4 0 batch_normalization_90[0][0] __________________________________________________________________________________________________ conv2d_87 (Conv2D) (None, None, None, 3 786432 mixed9[0][0] __________________________________________________________________________________________________ conv2d_91 (Conv2D) (None, None, None, 3 1548288 activation_90[0][0] __________________________________________________________________________________________________ batch_normalization_87 (BatchNo (None, None, None, 3 1152 conv2d_87[0][0] __________________________________________________________________________________________________ batch_normalization_91 (BatchNo (None, None, None, 3 1152 conv2d_91[0][0] __________________________________________________________________________________________________ activation_87 (Activation) (None, None, None, 3 0 batch_normalization_87[0][0] __________________________________________________________________________________________________ activation_91 (Activation) (None, None, None, 3 0 batch_normalization_91[0][0] __________________________________________________________________________________________________ conv2d_88 (Conv2D) (None, None, None, 3 442368 activation_87[0][0] __________________________________________________________________________________________________ conv2d_89 (Conv2D) (None, None, None, 3 442368 activation_87[0][0] __________________________________________________________________________________________________ conv2d_92 (Conv2D) (None, None, None, 3 442368 activation_91[0][0] __________________________________________________________________________________________________ conv2d_93 (Conv2D) (None, None, None, 3 442368 activation_91[0][0] __________________________________________________________________________________________________ average_pooling2d_9 (AveragePoo (None, None, None, 2 0 mixed9[0][0] __________________________________________________________________________________________________ conv2d_86 (Conv2D) (None, None, None, 3 655360 mixed9[0][0] __________________________________________________________________________________________________ batch_normalization_88 (BatchNo (None, None, None, 3 1152 conv2d_88[0][0] __________________________________________________________________________________________________ batch_normalization_89 (BatchNo (None, None, None, 3 1152 conv2d_89[0][0] __________________________________________________________________________________________________ batch_normalization_92 (BatchNo (None, None, None, 3 1152 conv2d_92[0][0] __________________________________________________________________________________________________ batch_normalization_93 (BatchNo (None, None, None, 3 1152 conv2d_93[0][0] __________________________________________________________________________________________________ conv2d_94 (Conv2D) (None, None, None, 1 393216 average_pooling2d_9[0][0] __________________________________________________________________________________________________ batch_normalization_86 (BatchNo (None, None, None, 3 960 conv2d_86[0][0] __________________________________________________________________________________________________ activation_88 (Activation) (None, None, None, 3 0 batch_normalization_88[0][0] __________________________________________________________________________________________________ activation_89 (Activation) (None, None, None, 3 0 batch_normalization_89[0][0] __________________________________________________________________________________________________ activation_92 (Activation) (None, None, None, 3 0 batch_normalization_92[0][0] __________________________________________________________________________________________________ activation_93 (Activation) (None, None, None, 3 0 batch_normalization_93[0][0] __________________________________________________________________________________________________ batch_normalization_94 (BatchNo (None, None, None, 1 576 conv2d_94[0][0] __________________________________________________________________________________________________ activation_86 (Activation) (None, None, None, 3 0 batch_normalization_86[0][0] __________________________________________________________________________________________________ mixed9_1 (Concatenate) (None, None, None, 7 0 activation_88[0][0] activation_89[0][0] __________________________________________________________________________________________________ concatenate_2 (Concatenate) (None, None, None, 7 0 activation_92[0][0] activation_93[0][0] __________________________________________________________________________________________________ activation_94 (Activation) (None, None, None, 1 0 batch_normalization_94[0][0] __________________________________________________________________________________________________ mixed10 (Concatenate) (None, None, None, 2 0 activation_86[0][0] mixed9_1[0][0] concatenate_2[0][0] activation_94[0][0] __________________________________________________________________________________________________ avg_pool (GlobalAveragePooling2 (None, 2048) 0 mixed10[0][0] __________________________________________________________________________________________________ predictions (Dense) (None, 1000) 2049000 avg_pool[0][0] ================================================================================================== Total params: 23,851,784 Trainable params: 23,817,352 Non-trainable params: 34,432 __________________________________________________________________________________________________ .. code:: ipython3 resnet_model.summary() .. parsed-literal:: __________________________________________________________________________________________________ Layer (type) Output Shape Param # Connected to ================================================================================================== input_3 (InputLayer) (None, 224, 224, 3) 0 __________________________________________________________________________________________________ conv1_pad (ZeroPadding2D) (None, 230, 230, 3) 0 input_3[0][0] __________________________________________________________________________________________________ conv1 (Conv2D) (None, 112, 112, 64) 9472 conv1_pad[0][0] __________________________________________________________________________________________________ bn_conv1 (BatchNormalization) (None, 112, 112, 64) 256 conv1[0][0] __________________________________________________________________________________________________ activation_95 (Activation) (None, 112, 112, 64) 0 bn_conv1[0][0] __________________________________________________________________________________________________ pool1_pad (ZeroPadding2D) (None, 114, 114, 64) 0 activation_95[0][0] __________________________________________________________________________________________________ max_pooling2d_5 (MaxPooling2D) (None, 56, 56, 64) 0 pool1_pad[0][0] __________________________________________________________________________________________________ res2a_branch2a (Conv2D) (None, 56, 56, 64) 4160 max_pooling2d_5[0][0] __________________________________________________________________________________________________ bn2a_branch2a (BatchNormalizati (None, 56, 56, 64) 256 res2a_branch2a[0][0] __________________________________________________________________________________________________ activation_96 (Activation) (None, 56, 56, 64) 0 bn2a_branch2a[0][0] __________________________________________________________________________________________________ res2a_branch2b (Conv2D) (None, 56, 56, 64) 36928 activation_96[0][0] __________________________________________________________________________________________________ bn2a_branch2b (BatchNormalizati (None, 56, 56, 64) 256 res2a_branch2b[0][0] __________________________________________________________________________________________________ activation_97 (Activation) (None, 56, 56, 64) 0 bn2a_branch2b[0][0] __________________________________________________________________________________________________ res2a_branch2c (Conv2D) (None, 56, 56, 256) 16640 activation_97[0][0] __________________________________________________________________________________________________ res2a_branch1 (Conv2D) (None, 56, 56, 256) 16640 max_pooling2d_5[0][0] __________________________________________________________________________________________________ bn2a_branch2c (BatchNormalizati (None, 56, 56, 256) 1024 res2a_branch2c[0][0] __________________________________________________________________________________________________ bn2a_branch1 (BatchNormalizatio (None, 56, 56, 256) 1024 res2a_branch1[0][0] __________________________________________________________________________________________________ add_1 (Add) (None, 56, 56, 256) 0 bn2a_branch2c[0][0] bn2a_branch1[0][0] __________________________________________________________________________________________________ activation_98 (Activation) (None, 56, 56, 256) 0 add_1[0][0] __________________________________________________________________________________________________ res2b_branch2a (Conv2D) (None, 56, 56, 64) 16448 activation_98[0][0] __________________________________________________________________________________________________ bn2b_branch2a (BatchNormalizati (None, 56, 56, 64) 256 res2b_branch2a[0][0] __________________________________________________________________________________________________ activation_99 (Activation) (None, 56, 56, 64) 0 bn2b_branch2a[0][0] __________________________________________________________________________________________________ res2b_branch2b (Conv2D) (None, 56, 56, 64) 36928 activation_99[0][0] __________________________________________________________________________________________________ bn2b_branch2b (BatchNormalizati (None, 56, 56, 64) 256 res2b_branch2b[0][0] __________________________________________________________________________________________________ activation_100 (Activation) (None, 56, 56, 64) 0 bn2b_branch2b[0][0] __________________________________________________________________________________________________ res2b_branch2c (Conv2D) (None, 56, 56, 256) 16640 activation_100[0][0] __________________________________________________________________________________________________ bn2b_branch2c (BatchNormalizati (None, 56, 56, 256) 1024 res2b_branch2c[0][0] __________________________________________________________________________________________________ add_2 (Add) (None, 56, 56, 256) 0 bn2b_branch2c[0][0] activation_98[0][0] __________________________________________________________________________________________________ activation_101 (Activation) (None, 56, 56, 256) 0 add_2[0][0] __________________________________________________________________________________________________ res2c_branch2a (Conv2D) (None, 56, 56, 64) 16448 activation_101[0][0] __________________________________________________________________________________________________ bn2c_branch2a (BatchNormalizati (None, 56, 56, 64) 256 res2c_branch2a[0][0] __________________________________________________________________________________________________ activation_102 (Activation) (None, 56, 56, 64) 0 bn2c_branch2a[0][0] __________________________________________________________________________________________________ res2c_branch2b (Conv2D) (None, 56, 56, 64) 36928 activation_102[0][0] __________________________________________________________________________________________________ bn2c_branch2b (BatchNormalizati (None, 56, 56, 64) 256 res2c_branch2b[0][0] __________________________________________________________________________________________________ activation_103 (Activation) (None, 56, 56, 64) 0 bn2c_branch2b[0][0] __________________________________________________________________________________________________ res2c_branch2c (Conv2D) (None, 56, 56, 256) 16640 activation_103[0][0] __________________________________________________________________________________________________ bn2c_branch2c (BatchNormalizati (None, 56, 56, 256) 1024 res2c_branch2c[0][0] __________________________________________________________________________________________________ add_3 (Add) (None, 56, 56, 256) 0 bn2c_branch2c[0][0] activation_101[0][0] __________________________________________________________________________________________________ activation_104 (Activation) (None, 56, 56, 256) 0 add_3[0][0] __________________________________________________________________________________________________ res3a_branch2a (Conv2D) (None, 28, 28, 128) 32896 activation_104[0][0] __________________________________________________________________________________________________ bn3a_branch2a (BatchNormalizati (None, 28, 28, 128) 512 res3a_branch2a[0][0] __________________________________________________________________________________________________ activation_105 (Activation) (None, 28, 28, 128) 0 bn3a_branch2a[0][0] __________________________________________________________________________________________________ res3a_branch2b (Conv2D) (None, 28, 28, 128) 147584 activation_105[0][0] __________________________________________________________________________________________________ bn3a_branch2b (BatchNormalizati (None, 28, 28, 128) 512 res3a_branch2b[0][0] __________________________________________________________________________________________________ activation_106 (Activation) (None, 28, 28, 128) 0 bn3a_branch2b[0][0] __________________________________________________________________________________________________ res3a_branch2c (Conv2D) (None, 28, 28, 512) 66048 activation_106[0][0] __________________________________________________________________________________________________ res3a_branch1 (Conv2D) (None, 28, 28, 512) 131584 activation_104[0][0] __________________________________________________________________________________________________ bn3a_branch2c (BatchNormalizati (None, 28, 28, 512) 2048 res3a_branch2c[0][0] __________________________________________________________________________________________________ bn3a_branch1 (BatchNormalizatio (None, 28, 28, 512) 2048 res3a_branch1[0][0] __________________________________________________________________________________________________ add_4 (Add) (None, 28, 28, 512) 0 bn3a_branch2c[0][0] bn3a_branch1[0][0] __________________________________________________________________________________________________ activation_107 (Activation) (None, 28, 28, 512) 0 add_4[0][0] __________________________________________________________________________________________________ res3b_branch2a (Conv2D) (None, 28, 28, 128) 65664 activation_107[0][0] __________________________________________________________________________________________________ bn3b_branch2a (BatchNormalizati (None, 28, 28, 128) 512 res3b_branch2a[0][0] __________________________________________________________________________________________________ activation_108 (Activation) (None, 28, 28, 128) 0 bn3b_branch2a[0][0] __________________________________________________________________________________________________ res3b_branch2b (Conv2D) (None, 28, 28, 128) 147584 activation_108[0][0] __________________________________________________________________________________________________ bn3b_branch2b (BatchNormalizati (None, 28, 28, 128) 512 res3b_branch2b[0][0] __________________________________________________________________________________________________ activation_109 (Activation) (None, 28, 28, 128) 0 bn3b_branch2b[0][0] __________________________________________________________________________________________________ res3b_branch2c (Conv2D) (None, 28, 28, 512) 66048 activation_109[0][0] __________________________________________________________________________________________________ bn3b_branch2c (BatchNormalizati (None, 28, 28, 512) 2048 res3b_branch2c[0][0] __________________________________________________________________________________________________ add_5 (Add) (None, 28, 28, 512) 0 bn3b_branch2c[0][0] activation_107[0][0] __________________________________________________________________________________________________ activation_110 (Activation) (None, 28, 28, 512) 0 add_5[0][0] __________________________________________________________________________________________________ res3c_branch2a (Conv2D) (None, 28, 28, 128) 65664 activation_110[0][0] __________________________________________________________________________________________________ bn3c_branch2a (BatchNormalizati (None, 28, 28, 128) 512 res3c_branch2a[0][0] __________________________________________________________________________________________________ activation_111 (Activation) (None, 28, 28, 128) 0 bn3c_branch2a[0][0] __________________________________________________________________________________________________ res3c_branch2b (Conv2D) (None, 28, 28, 128) 147584 activation_111[0][0] __________________________________________________________________________________________________ bn3c_branch2b (BatchNormalizati (None, 28, 28, 128) 512 res3c_branch2b[0][0] __________________________________________________________________________________________________ activation_112 (Activation) (None, 28, 28, 128) 0 bn3c_branch2b[0][0] __________________________________________________________________________________________________ res3c_branch2c (Conv2D) (None, 28, 28, 512) 66048 activation_112[0][0] __________________________________________________________________________________________________ bn3c_branch2c (BatchNormalizati (None, 28, 28, 512) 2048 res3c_branch2c[0][0] __________________________________________________________________________________________________ add_6 (Add) (None, 28, 28, 512) 0 bn3c_branch2c[0][0] activation_110[0][0] __________________________________________________________________________________________________ activation_113 (Activation) (None, 28, 28, 512) 0 add_6[0][0] __________________________________________________________________________________________________ res3d_branch2a (Conv2D) (None, 28, 28, 128) 65664 activation_113[0][0] __________________________________________________________________________________________________ bn3d_branch2a (BatchNormalizati (None, 28, 28, 128) 512 res3d_branch2a[0][0] __________________________________________________________________________________________________ activation_114 (Activation) (None, 28, 28, 128) 0 bn3d_branch2a[0][0] __________________________________________________________________________________________________ res3d_branch2b (Conv2D) (None, 28, 28, 128) 147584 activation_114[0][0] __________________________________________________________________________________________________ bn3d_branch2b (BatchNormalizati (None, 28, 28, 128) 512 res3d_branch2b[0][0] __________________________________________________________________________________________________ activation_115 (Activation) (None, 28, 28, 128) 0 bn3d_branch2b[0][0] __________________________________________________________________________________________________ res3d_branch2c (Conv2D) (None, 28, 28, 512) 66048 activation_115[0][0] __________________________________________________________________________________________________ bn3d_branch2c (BatchNormalizati (None, 28, 28, 512) 2048 res3d_branch2c[0][0] __________________________________________________________________________________________________ add_7 (Add) (None, 28, 28, 512) 0 bn3d_branch2c[0][0] activation_113[0][0] __________________________________________________________________________________________________ activation_116 (Activation) (None, 28, 28, 512) 0 add_7[0][0] __________________________________________________________________________________________________ res4a_branch2a (Conv2D) (None, 14, 14, 256) 131328 activation_116[0][0] __________________________________________________________________________________________________ bn4a_branch2a (BatchNormalizati (None, 14, 14, 256) 1024 res4a_branch2a[0][0] __________________________________________________________________________________________________ activation_117 (Activation) (None, 14, 14, 256) 0 bn4a_branch2a[0][0] __________________________________________________________________________________________________ res4a_branch2b (Conv2D) (None, 14, 14, 256) 590080 activation_117[0][0] __________________________________________________________________________________________________ bn4a_branch2b (BatchNormalizati (None, 14, 14, 256) 1024 res4a_branch2b[0][0] __________________________________________________________________________________________________ activation_118 (Activation) (None, 14, 14, 256) 0 bn4a_branch2b[0][0] __________________________________________________________________________________________________ res4a_branch2c (Conv2D) (None, 14, 14, 1024) 263168 activation_118[0][0] __________________________________________________________________________________________________ res4a_branch1 (Conv2D) (None, 14, 14, 1024) 525312 activation_116[0][0] __________________________________________________________________________________________________ bn4a_branch2c (BatchNormalizati (None, 14, 14, 1024) 4096 res4a_branch2c[0][0] __________________________________________________________________________________________________ bn4a_branch1 (BatchNormalizatio (None, 14, 14, 1024) 4096 res4a_branch1[0][0] __________________________________________________________________________________________________ add_8 (Add) (None, 14, 14, 1024) 0 bn4a_branch2c[0][0] bn4a_branch1[0][0] __________________________________________________________________________________________________ activation_119 (Activation) (None, 14, 14, 1024) 0 add_8[0][0] __________________________________________________________________________________________________ res4b_branch2a (Conv2D) (None, 14, 14, 256) 262400 activation_119[0][0] __________________________________________________________________________________________________ bn4b_branch2a (BatchNormalizati (None, 14, 14, 256) 1024 res4b_branch2a[0][0] __________________________________________________________________________________________________ activation_120 (Activation) (None, 14, 14, 256) 0 bn4b_branch2a[0][0] __________________________________________________________________________________________________ res4b_branch2b (Conv2D) (None, 14, 14, 256) 590080 activation_120[0][0] __________________________________________________________________________________________________ bn4b_branch2b (BatchNormalizati (None, 14, 14, 256) 1024 res4b_branch2b[0][0] __________________________________________________________________________________________________ activation_121 (Activation) (None, 14, 14, 256) 0 bn4b_branch2b[0][0] __________________________________________________________________________________________________ res4b_branch2c (Conv2D) (None, 14, 14, 1024) 263168 activation_121[0][0] __________________________________________________________________________________________________ bn4b_branch2c (BatchNormalizati (None, 14, 14, 1024) 4096 res4b_branch2c[0][0] __________________________________________________________________________________________________ add_9 (Add) (None, 14, 14, 1024) 0 bn4b_branch2c[0][0] activation_119[0][0] __________________________________________________________________________________________________ activation_122 (Activation) (None, 14, 14, 1024) 0 add_9[0][0] __________________________________________________________________________________________________ res4c_branch2a (Conv2D) (None, 14, 14, 256) 262400 activation_122[0][0] __________________________________________________________________________________________________ bn4c_branch2a (BatchNormalizati (None, 14, 14, 256) 1024 res4c_branch2a[0][0] __________________________________________________________________________________________________ activation_123 (Activation) (None, 14, 14, 256) 0 bn4c_branch2a[0][0] __________________________________________________________________________________________________ res4c_branch2b (Conv2D) (None, 14, 14, 256) 590080 activation_123[0][0] __________________________________________________________________________________________________ bn4c_branch2b (BatchNormalizati (None, 14, 14, 256) 1024 res4c_branch2b[0][0] __________________________________________________________________________________________________ activation_124 (Activation) (None, 14, 14, 256) 0 bn4c_branch2b[0][0] __________________________________________________________________________________________________ res4c_branch2c (Conv2D) (None, 14, 14, 1024) 263168 activation_124[0][0] __________________________________________________________________________________________________ bn4c_branch2c (BatchNormalizati (None, 14, 14, 1024) 4096 res4c_branch2c[0][0] __________________________________________________________________________________________________ add_10 (Add) (None, 14, 14, 1024) 0 bn4c_branch2c[0][0] activation_122[0][0] __________________________________________________________________________________________________ activation_125 (Activation) (None, 14, 14, 1024) 0 add_10[0][0] __________________________________________________________________________________________________ res4d_branch2a (Conv2D) (None, 14, 14, 256) 262400 activation_125[0][0] __________________________________________________________________________________________________ bn4d_branch2a (BatchNormalizati (None, 14, 14, 256) 1024 res4d_branch2a[0][0] __________________________________________________________________________________________________ activation_126 (Activation) (None, 14, 14, 256) 0 bn4d_branch2a[0][0] __________________________________________________________________________________________________ res4d_branch2b (Conv2D) (None, 14, 14, 256) 590080 activation_126[0][0] __________________________________________________________________________________________________ bn4d_branch2b (BatchNormalizati (None, 14, 14, 256) 1024 res4d_branch2b[0][0] __________________________________________________________________________________________________ activation_127 (Activation) (None, 14, 14, 256) 0 bn4d_branch2b[0][0] __________________________________________________________________________________________________ res4d_branch2c (Conv2D) (None, 14, 14, 1024) 263168 activation_127[0][0] __________________________________________________________________________________________________ bn4d_branch2c (BatchNormalizati (None, 14, 14, 1024) 4096 res4d_branch2c[0][0] __________________________________________________________________________________________________ add_11 (Add) (None, 14, 14, 1024) 0 bn4d_branch2c[0][0] activation_125[0][0] __________________________________________________________________________________________________ activation_128 (Activation) (None, 14, 14, 1024) 0 add_11[0][0] __________________________________________________________________________________________________ res4e_branch2a (Conv2D) (None, 14, 14, 256) 262400 activation_128[0][0] __________________________________________________________________________________________________ bn4e_branch2a (BatchNormalizati (None, 14, 14, 256) 1024 res4e_branch2a[0][0] __________________________________________________________________________________________________ activation_129 (Activation) (None, 14, 14, 256) 0 bn4e_branch2a[0][0] __________________________________________________________________________________________________ res4e_branch2b (Conv2D) (None, 14, 14, 256) 590080 activation_129[0][0] __________________________________________________________________________________________________ bn4e_branch2b (BatchNormalizati (None, 14, 14, 256) 1024 res4e_branch2b[0][0] __________________________________________________________________________________________________ activation_130 (Activation) (None, 14, 14, 256) 0 bn4e_branch2b[0][0] __________________________________________________________________________________________________ res4e_branch2c (Conv2D) (None, 14, 14, 1024) 263168 activation_130[0][0] __________________________________________________________________________________________________ bn4e_branch2c (BatchNormalizati (None, 14, 14, 1024) 4096 res4e_branch2c[0][0] __________________________________________________________________________________________________ add_12 (Add) (None, 14, 14, 1024) 0 bn4e_branch2c[0][0] activation_128[0][0] __________________________________________________________________________________________________ activation_131 (Activation) (None, 14, 14, 1024) 0 add_12[0][0] __________________________________________________________________________________________________ res4f_branch2a (Conv2D) (None, 14, 14, 256) 262400 activation_131[0][0] __________________________________________________________________________________________________ bn4f_branch2a (BatchNormalizati (None, 14, 14, 256) 1024 res4f_branch2a[0][0] __________________________________________________________________________________________________ activation_132 (Activation) (None, 14, 14, 256) 0 bn4f_branch2a[0][0] __________________________________________________________________________________________________ res4f_branch2b (Conv2D) (None, 14, 14, 256) 590080 activation_132[0][0] __________________________________________________________________________________________________ bn4f_branch2b (BatchNormalizati (None, 14, 14, 256) 1024 res4f_branch2b[0][0] __________________________________________________________________________________________________ activation_133 (Activation) (None, 14, 14, 256) 0 bn4f_branch2b[0][0] __________________________________________________________________________________________________ res4f_branch2c (Conv2D) (None, 14, 14, 1024) 263168 activation_133[0][0] __________________________________________________________________________________________________ bn4f_branch2c (BatchNormalizati (None, 14, 14, 1024) 4096 res4f_branch2c[0][0] __________________________________________________________________________________________________ add_13 (Add) (None, 14, 14, 1024) 0 bn4f_branch2c[0][0] activation_131[0][0] __________________________________________________________________________________________________ activation_134 (Activation) (None, 14, 14, 1024) 0 add_13[0][0] __________________________________________________________________________________________________ res5a_branch2a (Conv2D) (None, 7, 7, 512) 524800 activation_134[0][0] __________________________________________________________________________________________________ bn5a_branch2a (BatchNormalizati (None, 7, 7, 512) 2048 res5a_branch2a[0][0] __________________________________________________________________________________________________ activation_135 (Activation) (None, 7, 7, 512) 0 bn5a_branch2a[0][0] __________________________________________________________________________________________________ res5a_branch2b (Conv2D) (None, 7, 7, 512) 2359808 activation_135[0][0] __________________________________________________________________________________________________ bn5a_branch2b (BatchNormalizati (None, 7, 7, 512) 2048 res5a_branch2b[0][0] __________________________________________________________________________________________________ activation_136 (Activation) (None, 7, 7, 512) 0 bn5a_branch2b[0][0] __________________________________________________________________________________________________ res5a_branch2c (Conv2D) (None, 7, 7, 2048) 1050624 activation_136[0][0] __________________________________________________________________________________________________ res5a_branch1 (Conv2D) (None, 7, 7, 2048) 2099200 activation_134[0][0] __________________________________________________________________________________________________ bn5a_branch2c (BatchNormalizati (None, 7, 7, 2048) 8192 res5a_branch2c[0][0] __________________________________________________________________________________________________ bn5a_branch1 (BatchNormalizatio (None, 7, 7, 2048) 8192 res5a_branch1[0][0] __________________________________________________________________________________________________ add_14 (Add) (None, 7, 7, 2048) 0 bn5a_branch2c[0][0] bn5a_branch1[0][0] __________________________________________________________________________________________________ activation_137 (Activation) (None, 7, 7, 2048) 0 add_14[0][0] __________________________________________________________________________________________________ res5b_branch2a (Conv2D) (None, 7, 7, 512) 1049088 activation_137[0][0] __________________________________________________________________________________________________ bn5b_branch2a (BatchNormalizati (None, 7, 7, 512) 2048 res5b_branch2a[0][0] __________________________________________________________________________________________________ activation_138 (Activation) (None, 7, 7, 512) 0 bn5b_branch2a[0][0] __________________________________________________________________________________________________ res5b_branch2b (Conv2D) (None, 7, 7, 512) 2359808 activation_138[0][0] __________________________________________________________________________________________________ bn5b_branch2b (BatchNormalizati (None, 7, 7, 512) 2048 res5b_branch2b[0][0] __________________________________________________________________________________________________ activation_139 (Activation) (None, 7, 7, 512) 0 bn5b_branch2b[0][0] __________________________________________________________________________________________________ res5b_branch2c (Conv2D) (None, 7, 7, 2048) 1050624 activation_139[0][0] __________________________________________________________________________________________________ bn5b_branch2c (BatchNormalizati (None, 7, 7, 2048) 8192 res5b_branch2c[0][0] __________________________________________________________________________________________________ add_15 (Add) (None, 7, 7, 2048) 0 bn5b_branch2c[0][0] activation_137[0][0] __________________________________________________________________________________________________ activation_140 (Activation) (None, 7, 7, 2048) 0 add_15[0][0] __________________________________________________________________________________________________ res5c_branch2a (Conv2D) (None, 7, 7, 512) 1049088 activation_140[0][0] __________________________________________________________________________________________________ bn5c_branch2a (BatchNormalizati (None, 7, 7, 512) 2048 res5c_branch2a[0][0] __________________________________________________________________________________________________ activation_141 (Activation) (None, 7, 7, 512) 0 bn5c_branch2a[0][0] __________________________________________________________________________________________________ res5c_branch2b (Conv2D) (None, 7, 7, 512) 2359808 activation_141[0][0] __________________________________________________________________________________________________ bn5c_branch2b (BatchNormalizati (None, 7, 7, 512) 2048 res5c_branch2b[0][0] __________________________________________________________________________________________________ activation_142 (Activation) (None, 7, 7, 512) 0 bn5c_branch2b[0][0] __________________________________________________________________________________________________ res5c_branch2c (Conv2D) (None, 7, 7, 2048) 1050624 activation_142[0][0] __________________________________________________________________________________________________ bn5c_branch2c (BatchNormalizati (None, 7, 7, 2048) 8192 res5c_branch2c[0][0] __________________________________________________________________________________________________ add_16 (Add) (None, 7, 7, 2048) 0 bn5c_branch2c[0][0] activation_140[0][0] __________________________________________________________________________________________________ activation_143 (Activation) (None, 7, 7, 2048) 0 add_16[0][0] __________________________________________________________________________________________________ avg_pool (GlobalAveragePooling2 (None, 2048) 0 activation_143[0][0] __________________________________________________________________________________________________ fc1000 (Dense) (None, 1000) 2049000 avg_pool[0][0] ================================================================================================== Total params: 25,636,712 Trainable params: 25,583,592 Non-trainable params: 53,120 __________________________________________________________________________________________________ .. code:: ipython3 mobilenet_model.summary() .. parsed-literal:: _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= input_4 (InputLayer) (None, 224, 224, 3) 0 _________________________________________________________________ conv1_pad (ZeroPadding2D) (None, 225, 225, 3) 0 _________________________________________________________________ conv1 (Conv2D) (None, 112, 112, 32) 864 _________________________________________________________________ conv1_bn (BatchNormalization (None, 112, 112, 32) 128 _________________________________________________________________ conv1_relu (ReLU) (None, 112, 112, 32) 0 _________________________________________________________________ conv_dw_1 (DepthwiseConv2D) (None, 112, 112, 32) 288 _________________________________________________________________ conv_dw_1_bn (BatchNormaliza (None, 112, 112, 32) 128 _________________________________________________________________ conv_dw_1_relu (ReLU) (None, 112, 112, 32) 0 _________________________________________________________________ conv_pw_1 (Conv2D) (None, 112, 112, 64) 2048 _________________________________________________________________ conv_pw_1_bn (BatchNormaliza (None, 112, 112, 64) 256 _________________________________________________________________ conv_pw_1_relu (ReLU) (None, 112, 112, 64) 0 _________________________________________________________________ conv_pad_2 (ZeroPadding2D) (None, 113, 113, 64) 0 _________________________________________________________________ conv_dw_2 (DepthwiseConv2D) (None, 56, 56, 64) 576 _________________________________________________________________ conv_dw_2_bn (BatchNormaliza (None, 56, 56, 64) 256 _________________________________________________________________ conv_dw_2_relu (ReLU) (None, 56, 56, 64) 0 _________________________________________________________________ conv_pw_2 (Conv2D) (None, 56, 56, 128) 8192 _________________________________________________________________ conv_pw_2_bn (BatchNormaliza (None, 56, 56, 128) 512 _________________________________________________________________ conv_pw_2_relu (ReLU) (None, 56, 56, 128) 0 _________________________________________________________________ conv_dw_3 (DepthwiseConv2D) (None, 56, 56, 128) 1152 _________________________________________________________________ conv_dw_3_bn (BatchNormaliza (None, 56, 56, 128) 512 _________________________________________________________________ conv_dw_3_relu (ReLU) (None, 56, 56, 128) 0 _________________________________________________________________ conv_pw_3 (Conv2D) (None, 56, 56, 128) 16384 _________________________________________________________________ conv_pw_3_bn (BatchNormaliza (None, 56, 56, 128) 512 _________________________________________________________________ conv_pw_3_relu (ReLU) (None, 56, 56, 128) 0 _________________________________________________________________ conv_pad_4 (ZeroPadding2D) (None, 57, 57, 128) 0 _________________________________________________________________ conv_dw_4 (DepthwiseConv2D) (None, 28, 28, 128) 1152 _________________________________________________________________ conv_dw_4_bn (BatchNormaliza (None, 28, 28, 128) 512 _________________________________________________________________ conv_dw_4_relu (ReLU) (None, 28, 28, 128) 0 _________________________________________________________________ conv_pw_4 (Conv2D) (None, 28, 28, 256) 32768 _________________________________________________________________ conv_pw_4_bn (BatchNormaliza (None, 28, 28, 256) 1024 _________________________________________________________________ conv_pw_4_relu (ReLU) (None, 28, 28, 256) 0 _________________________________________________________________ conv_dw_5 (DepthwiseConv2D) (None, 28, 28, 256) 2304 _________________________________________________________________ conv_dw_5_bn (BatchNormaliza (None, 28, 28, 256) 1024 _________________________________________________________________ conv_dw_5_relu (ReLU) (None, 28, 28, 256) 0 _________________________________________________________________ conv_pw_5 (Conv2D) (None, 28, 28, 256) 65536 _________________________________________________________________ conv_pw_5_bn (BatchNormaliza (None, 28, 28, 256) 1024 _________________________________________________________________ conv_pw_5_relu (ReLU) (None, 28, 28, 256) 0 _________________________________________________________________ conv_pad_6 (ZeroPadding2D) (None, 29, 29, 256) 0 _________________________________________________________________ conv_dw_6 (DepthwiseConv2D) (None, 14, 14, 256) 2304 _________________________________________________________________ conv_dw_6_bn (BatchNormaliza (None, 14, 14, 256) 1024 _________________________________________________________________ conv_dw_6_relu (ReLU) (None, 14, 14, 256) 0 _________________________________________________________________ conv_pw_6 (Conv2D) (None, 14, 14, 512) 131072 _________________________________________________________________ conv_pw_6_bn (BatchNormaliza (None, 14, 14, 512) 2048 _________________________________________________________________ conv_pw_6_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_dw_7 (DepthwiseConv2D) (None, 14, 14, 512) 4608 _________________________________________________________________ conv_dw_7_bn (BatchNormaliza (None, 14, 14, 512) 2048 _________________________________________________________________ conv_dw_7_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_pw_7 (Conv2D) (None, 14, 14, 512) 262144 _________________________________________________________________ conv_pw_7_bn (BatchNormaliza (None, 14, 14, 512) 2048 _________________________________________________________________ conv_pw_7_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_dw_8 (DepthwiseConv2D) (None, 14, 14, 512) 4608 _________________________________________________________________ conv_dw_8_bn (BatchNormaliza (None, 14, 14, 512) 2048 _________________________________________________________________ conv_dw_8_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_pw_8 (Conv2D) (None, 14, 14, 512) 262144 _________________________________________________________________ conv_pw_8_bn (BatchNormaliza (None, 14, 14, 512) 2048 _________________________________________________________________ conv_pw_8_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_dw_9 (DepthwiseConv2D) (None, 14, 14, 512) 4608 _________________________________________________________________ conv_dw_9_bn (BatchNormaliza (None, 14, 14, 512) 2048 _________________________________________________________________ conv_dw_9_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_pw_9 (Conv2D) (None, 14, 14, 512) 262144 _________________________________________________________________ conv_pw_9_bn (BatchNormaliza (None, 14, 14, 512) 2048 _________________________________________________________________ conv_pw_9_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_dw_10 (DepthwiseConv2D) (None, 14, 14, 512) 4608 _________________________________________________________________ conv_dw_10_bn (BatchNormaliz (None, 14, 14, 512) 2048 _________________________________________________________________ conv_dw_10_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_pw_10 (Conv2D) (None, 14, 14, 512) 262144 _________________________________________________________________ conv_pw_10_bn (BatchNormaliz (None, 14, 14, 512) 2048 _________________________________________________________________ conv_pw_10_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_dw_11 (DepthwiseConv2D) (None, 14, 14, 512) 4608 _________________________________________________________________ conv_dw_11_bn (BatchNormaliz (None, 14, 14, 512) 2048 _________________________________________________________________ conv_dw_11_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_pw_11 (Conv2D) (None, 14, 14, 512) 262144 _________________________________________________________________ conv_pw_11_bn (BatchNormaliz (None, 14, 14, 512) 2048 _________________________________________________________________ conv_pw_11_relu (ReLU) (None, 14, 14, 512) 0 _________________________________________________________________ conv_pad_12 (ZeroPadding2D) (None, 15, 15, 512) 0 _________________________________________________________________ conv_dw_12 (DepthwiseConv2D) (None, 7, 7, 512) 4608 _________________________________________________________________ conv_dw_12_bn (BatchNormaliz (None, 7, 7, 512) 2048 _________________________________________________________________ conv_dw_12_relu (ReLU) (None, 7, 7, 512) 0 _________________________________________________________________ conv_pw_12 (Conv2D) (None, 7, 7, 1024) 524288 _________________________________________________________________ conv_pw_12_bn (BatchNormaliz (None, 7, 7, 1024) 4096 _________________________________________________________________ conv_pw_12_relu (ReLU) (None, 7, 7, 1024) 0 _________________________________________________________________ conv_dw_13 (DepthwiseConv2D) (None, 7, 7, 1024) 9216 _________________________________________________________________ conv_dw_13_bn (BatchNormaliz (None, 7, 7, 1024) 4096 _________________________________________________________________ conv_dw_13_relu (ReLU) (None, 7, 7, 1024) 0 _________________________________________________________________ conv_pw_13 (Conv2D) (None, 7, 7, 1024) 1048576 _________________________________________________________________ conv_pw_13_bn (BatchNormaliz (None, 7, 7, 1024) 4096 _________________________________________________________________ conv_pw_13_relu (ReLU) (None, 7, 7, 1024) 0 _________________________________________________________________ global_average_pooling2d_1 ( (None, 1024) 0 _________________________________________________________________ reshape_1 (Reshape) (None, 1, 1, 1024) 0 _________________________________________________________________ dropout (Dropout) (None, 1, 1, 1024) 0 _________________________________________________________________ conv_preds (Conv2D) (None, 1, 1, 1000) 1025000 _________________________________________________________________ act_softmax (Activation) (None, 1, 1, 1000) 0 _________________________________________________________________ reshape_2 (Reshape) (None, 1000) 0 ================================================================= Total params: 4,253,864 Trainable params: 4,231,976 Non-trainable params: 21,888 _________________________________________________________________ Utilisation des caractéristiques extraites par le modèle Vgg16 comme input pour un SVM ====================================================================================== .. code:: ipython3 from keras.models import Model intermediate_layer_model = Model(inputs=vgg_model.input, outputs=vgg_model.layers[-3].output) intermediate_output = intermediate_layer_model.predict(array_images) .. code:: ipython3 X_train, X_test, y_train, y_test = train_test_split(intermediate_output, target) .. code:: ipython3 clf = SVC(gamma='auto', kernel='linear') clf.fit(X_train, y_train) .. parsed-literal:: SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False) .. code:: ipython3 scores = [] for d in range(1, 5): clf = SVC(gamma='auto', kernel='poly', degree=d) scores_ = cross_val_score(clf, intermediate_output, target, cv=3, scoring='accuracy') scores.append(np.mean(scores_)) .. code:: ipython3 scores .. parsed-literal:: [0.6474011826953004, 0.6092903828197945, 0.6002956738250856, 0.6286025521319639] .. code:: ipython3 scores = [] for d in range(1, 5): clf = SVC(gamma='auto', kernel='poly', degree=d) scores_ = cross_val_score(clf, intermediate_output, target, cv=3, scoring='roc_auc') scores.append(np.mean(scores_)) .. code:: ipython3 scores .. parsed-literal:: [0.6855080409356725, 0.6747149122807018, 0.6644334795321637, 0.6653252923976608] .. code:: ipython3 clf = SVC(gamma='auto', kernel='poly', degree=1) clf.fit(X_train, y_train) confusion_matrix(clf.predict(X_test), y_test) .. parsed-literal:: array([[9, 6], [4, 8]])