from keras.applications import MobileNet from keras.layers import Dense,Dropout,Activation, Flatten, GlobalAveragePooling2D from keras.layers import Conv2D, MaxPooling2D, ZeroPadding2D from tensorflow.keras.preprocessing.image import ImageDataGenerator from keras.optimizers import RMSprop, Adam from keras.callbacks import ModelCheckpoint, EarlyStopping, ReduceLROnPlateau
img_rows,img_cols = 224,224 MobileNet = MobileNet(weights='imagenet', include_top=False, input_shape=(img_rows, img_cols, 3)) 2025-09-15 16:00:19.852870: E external/local_xla/xla/stream_executor/cuda/cuda_platform.cc:51] failed call to cuInit: INTERNAL: CUDA error: Failed call to cuInit: UNKNOWN ERROR (303) Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/mobilenet/mobilenet_1_0_224_tf_no_top.h5 17225924/17225924 ━━━━━━━━━━━━━━━━━━━━ 1s 0us/step
>>> for layer in MobileNet.layers: ... layer.trainable = True ... >>> for (i, layer) in enumerate(MobileNet.layers): ... print(str(i), layer.__class__.__name__, layer.trainable) ... 0 InputLayer True 1 Conv2D True 2 BatchNormalization True 3 ReLU True 4 DepthwiseConv2D True 5 BatchNormalization True 6 ReLU True 7 Conv2D True 8 BatchNormalization True 9 ReLU True 10 ZeroPadding2D True 11 DepthwiseConv2D True 12 BatchNormalization True 13 ReLU True 14 Conv2D True 15 BatchNormalization True 16 ReLU True 17 DepthwiseConv2D True 18 BatchNormalization True 19 ReLU True 20 Conv2D True 21 BatchNormalization True 22 ReLU True 23 ZeroPadding2D True 24 DepthwiseConv2D True 25 BatchNormalization True 26 ReLU True 27 Conv2D True 28 BatchNormalization True 29 ReLU True 30 DepthwiseConv2D True 31 BatchNormalization True 32 ReLU True 33 Conv2D True 34 BatchNormalization True 35 ReLU True 36 ZeroPadding2D True 37 DepthwiseConv2D True 38 BatchNormalization True 39 ReLU True 40 Conv2D True 41 BatchNormalization True 42 ReLU True 43 DepthwiseConv2D True 44 BatchNormalization True 45 ReLU True 46 Conv2D True 47 BatchNormalization True 48 ReLU True 49 DepthwiseConv2D True 50 BatchNormalization True 51 ReLU True 52 Conv2D True 53 BatchNormalization True 54 ReLU True 55 DepthwiseConv2D True 56 BatchNormalization True 57 ReLU True 58 Conv2D True 59 BatchNormalization True 60 ReLU True 61 DepthwiseConv2D True 62 BatchNormalization True 63 ReLU True 64 Conv2D True 65 BatchNormalization True 66 ReLU True 67 DepthwiseConv2D True 68 BatchNormalization True 69 ReLU True 70 Conv2D True 71 BatchNormalization True 72 ReLU True 73 ZeroPadding2D True 74 DepthwiseConv2D True 75 BatchNormalization True 76 ReLU True 77 Conv2D True 78 BatchNormalization True 79 ReLU True 80 DepthwiseConv2D True 81 BatchNormalization True 82 ReLU True 83 Conv2D True 84 BatchNormalization True 85 ReLU True
>>> MobileNet.output <KerasTensor shape=(None, 7, 7, 1024), dtype=float32, sparse=False, ragged=False, name=keras_tensor_85> >>> MobileNet.input <KerasTensor shape=(None, 224, 224, 3), dtype=float32, sparse=False, ragged=False, name=keras_tensor> >>> MobileNet.summary() Model: "mobilenet_1.00_224" ┏--------------------------------------┳-----------------------------┳-----------------┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡--------------------------------------╇-----------------------------╇-----------------┩ │ input_layer (InputLayer) │ (None, 224, 224, 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 (BatchNormalization) │ (None, 112, 112, 32) │ 128 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_1_relu (ReLU) │ (None, 112, 112, 32) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_1 (Conv2D) │ (None, 112, 112, 64) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_1_bn (BatchNormalization) │ (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 (BatchNormalization) │ (None, 56, 56, 64) │ 256 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_2_relu (ReLU) │ (None, 56, 56, 64) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_2 (Conv2D) │ (None, 56, 56, 128) │ 8,192 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_2_bn (BatchNormalization) │ (None, 56, 56, 128) │ 512 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_2_relu (ReLU) │ (None, 56, 56, 128) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_3 (DepthwiseConv2D) │ (None, 56, 56, 128) │ 1,152 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_3_bn (BatchNormalization) │ (None, 56, 56, 128) │ 512 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_3_relu (ReLU) │ (None, 56, 56, 128) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_3 (Conv2D) │ (None, 56, 56, 128) │ 16,384 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_3_bn (BatchNormalization) │ (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) │ 1,152 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_4_bn (BatchNormalization) │ (None, 28, 28, 128) │ 512 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_4_relu (ReLU) │ (None, 28, 28, 128) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_4 (Conv2D) │ (None, 28, 28, 256) │ 32,768 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_4_bn (BatchNormalization) │ (None, 28, 28, 256) │ 1,024 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_4_relu (ReLU) │ (None, 28, 28, 256) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_5 (DepthwiseConv2D) │ (None, 28, 28, 256) │ 2,304 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_5_bn (BatchNormalization) │ (None, 28, 28, 256) │ 1,024 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_5_relu (ReLU) │ (None, 28, 28, 256) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_5 (Conv2D) │ (None, 28, 28, 256) │ 65,536 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_5_bn (BatchNormalization) │ (None, 28, 28, 256) │ 1,024 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ 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) │ 2,304 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_6_bn (BatchNormalization) │ (None, 14, 14, 256) │ 1,024 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_6_relu (ReLU) │ (None, 14, 14, 256) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_6 (Conv2D) │ (None, 14, 14, 512) │ 131,072 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_6_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_6_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_7 (DepthwiseConv2D) │ (None, 14, 14, 512) │ 4,608 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_7_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_7_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_7 (Conv2D) │ (None, 14, 14, 512) │ 262,144 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_7_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_7_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_8 (DepthwiseConv2D) │ (None, 14, 14, 512) │ 4,608 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_8_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_8_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_8 (Conv2D) │ (None, 14, 14, 512) │ 262,144 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_8_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_8_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_9 (DepthwiseConv2D) │ (None, 14, 14, 512) │ 4,608 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_9_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_9_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_9 (Conv2D) │ (None, 14, 14, 512) │ 262,144 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_9_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_9_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_10 (DepthwiseConv2D) │ (None, 14, 14, 512) │ 4,608 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_10_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_10_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_10 (Conv2D) │ (None, 14, 14, 512) │ 262,144 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_10_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_10_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_11 (DepthwiseConv2D) │ (None, 14, 14, 512) │ 4,608 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_11_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_11_relu (ReLU) │ (None, 14, 14, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_11 (Conv2D) │ (None, 14, 14, 512) │ 262,144 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_11_bn (BatchNormalization) │ (None, 14, 14, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ 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) │ 4,608 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_12_bn (BatchNormalization) │ (None, 7, 7, 512) │ 2,048 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_12_relu (ReLU) │ (None, 7, 7, 512) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_12 (Conv2D) │ (None, 7, 7, 1024) │ 524,288 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_12_bn (BatchNormalization) │ (None, 7, 7, 1024) │ 4,096 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_12_relu (ReLU) │ (None, 7, 7, 1024) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_13 (DepthwiseConv2D) │ (None, 7, 7, 1024) │ 9,216 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_13_bn (BatchNormalization) │ (None, 7, 7, 1024) │ 4,096 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_dw_13_relu (ReLU) │ (None, 7, 7, 1024) │ 0 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_13 (Conv2D) │ (None, 7, 7, 1024) │ 1,048,576 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_13_bn (BatchNormalization) │ (None, 7, 7, 1024) │ 4,096 │ ├--------------------------------------┼-----------------------------┼-----------------┤ │ conv_pw_13_relu (ReLU) │ (None, 7, 7, 1024) │ 0 │ └--------------------------------------┴-----------------------------┴-----------------┘ Total params: 3,228,864 (12.32 MB) Trainable params: 3,206,976 (12.23 MB) Non-trainable params: 21,888 (85.50 KB)
|