In [1]:
'''Code for fine-tuning Inception V3 for a new task.
Start with Inception V3 network, not including last fully connected layers.
Train a simple fully connected layer on top of these.
'''
import numpy as np
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential, Model
from keras.layers import Dense, Activation, Flatten, Dropout
import keras.applications.inception_v3 as inception
N_CLASSES = 2
IMSIZE = (299, 299)
# TO DO:: Replace these with paths to the downloaded data.
# Training directory
train_dir = '/mnt/e/data/catdog/train'
# Testing directory
test_dir = '/mnt/e/data/catdog/validation'
train_dir = r'E:\workshare\Mind\A3\data\catdog\train'
test_dir = r"E:\workshare\Mind\A3\data\catdog\validation"
# Start with an Inception V3 model, not including the final softmax layer.
base_model = inception.InceptionV3(weights='imagenet')
print ('Loaded Inception model')
Using TensorFlow backend.
Loaded Inception model
In [1]:
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.9
set_session(tf.Session(config=config))
Using TensorFlow backend.
In [2]:
for layer in base_model.layers:
print(layer.output)
Tensor("input_1:0", shape=(?, 299, 299, 3), dtype=float32)
Tensor("conv2d_1/convolution:0", shape=(?, 149, 149, 32), dtype=float32)
Tensor("batch_normalization_1/cond/Merge:0", shape=(?, 149, 149, 32), dtype=float32)
Tensor("activation_1/Relu:0", shape=(?, 149, 149, 32), dtype=float32)
Tensor("conv2d_2/convolution:0", shape=(?, 147, 147, 32), dtype=float32)
Tensor("batch_normalization_2/cond/Merge:0", shape=(?, 147, 147, 32), dtype=float32)
Tensor("activation_2/Relu:0", shape=(?, 147, 147, 32), dtype=float32)
Tensor("conv2d_3/convolution:0", shape=(?, 147, 147, 64), dtype=float32)
Tensor("batch_normalization_3/cond/Merge:0", shape=(?, 147, 147, 64), dtype=float32)
Tensor("activation_3/Relu:0", shape=(?, 147, 147, 64), dtype=float32)
Tensor("max_pooling2d_1/MaxPool:0", shape=(?, 73, 73, 64), dtype=float32)
Tensor("conv2d_4/convolution:0", shape=(?, 73, 73, 80), dtype=float32)
Tensor("batch_normalization_4/cond/Merge:0", shape=(?, 73, 73, 80), dtype=float32)
Tensor("activation_4/Relu:0", shape=(?, 73, 73, 80), dtype=float32)
Tensor("conv2d_5/convolution:0", shape=(?, 71, 71, 192), dtype=float32)
Tensor("batch_normalization_5/cond/Merge:0", shape=(?, 71, 71, 192), dtype=float32)
Tensor("activation_5/Relu:0", shape=(?, 71, 71, 192), dtype=float32)
Tensor("max_pooling2d_2/MaxPool:0", shape=(?, 35, 35, 192), dtype=float32)
Tensor("conv2d_9/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_9/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_9/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_7/convolution:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("conv2d_10/convolution:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("batch_normalization_7/cond/Merge:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("batch_normalization_10/cond/Merge:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("activation_7/Relu:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("activation_10/Relu:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("average_pooling2d_1/AvgPool:0", shape=(?, 35, 35, 192), dtype=float32)
Tensor("conv2d_6/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_8/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_11/convolution:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("conv2d_12/convolution:0", shape=(?, 35, 35, 32), dtype=float32)
Tensor("batch_normalization_6/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_8/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_11/cond/Merge:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("batch_normalization_12/cond/Merge:0", shape=(?, 35, 35, 32), dtype=float32)
Tensor("activation_6/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_8/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_11/Relu:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("activation_12/Relu:0", shape=(?, 35, 35, 32), dtype=float32)
Tensor("mixed0/concat:0", shape=(?, 35, 35, 256), dtype=float32)
Tensor("conv2d_16/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_16/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_16/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_14/convolution:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("conv2d_17/convolution:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("batch_normalization_14/cond/Merge:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("batch_normalization_17/cond/Merge:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("activation_14/Relu:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("activation_17/Relu:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("average_pooling2d_2/AvgPool:0", shape=(?, 35, 35, 256), dtype=float32)
Tensor("conv2d_13/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_15/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_18/convolution:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("conv2d_19/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_13/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_15/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_18/cond/Merge:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("batch_normalization_19/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_13/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_15/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_18/Relu:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("activation_19/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("mixed1/concat:0", shape=(?, 35, 35, 288), dtype=float32)
Tensor("conv2d_23/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_23/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_23/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_21/convolution:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("conv2d_24/convolution:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("batch_normalization_21/cond/Merge:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("batch_normalization_24/cond/Merge:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("activation_21/Relu:0", shape=(?, 35, 35, 48), dtype=float32)
Tensor("activation_24/Relu:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("average_pooling2d_3/AvgPool:0", shape=(?, 35, 35, 288), dtype=float32)
Tensor("conv2d_20/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_22/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_25/convolution:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("conv2d_26/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_20/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_22/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_25/cond/Merge:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("batch_normalization_26/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_20/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_22/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_25/Relu:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("activation_26/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("mixed2/concat:0", shape=(?, 35, 35, 288), dtype=float32)
Tensor("conv2d_28/convolution:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("batch_normalization_28/cond/Merge:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("activation_28/Relu:0", shape=(?, 35, 35, 64), dtype=float32)
Tensor("conv2d_29/convolution:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("batch_normalization_29/cond/Merge:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("activation_29/Relu:0", shape=(?, 35, 35, 96), dtype=float32)
Tensor("conv2d_27/convolution:0", shape=(?, 17, 17, 384), dtype=float32)
Tensor("conv2d_30/convolution:0", shape=(?, 17, 17, 96), dtype=float32)
Tensor("batch_normalization_27/cond/Merge:0", shape=(?, 17, 17, 384), dtype=float32)
Tensor("batch_normalization_30/cond/Merge:0", shape=(?, 17, 17, 96), dtype=float32)
Tensor("activation_27/Relu:0", shape=(?, 17, 17, 384), dtype=float32)
Tensor("activation_30/Relu:0", shape=(?, 17, 17, 96), dtype=float32)
Tensor("max_pooling2d_3/MaxPool:0", shape=(?, 17, 17, 288), dtype=float32)
Tensor("mixed3/concat:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_35/convolution:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("batch_normalization_35/cond/Merge:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("activation_35/Relu:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("conv2d_36/convolution:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("batch_normalization_36/cond/Merge:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("activation_36/Relu:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("conv2d_32/convolution:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("conv2d_37/convolution:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("batch_normalization_32/cond/Merge:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("batch_normalization_37/cond/Merge:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("activation_32/Relu:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("activation_37/Relu:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("conv2d_33/convolution:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("conv2d_38/convolution:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("batch_normalization_33/cond/Merge:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("batch_normalization_38/cond/Merge:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("activation_33/Relu:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("activation_38/Relu:0", shape=(?, 17, 17, 128), dtype=float32)
Tensor("average_pooling2d_4/AvgPool:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_31/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_34/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_39/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_40/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_31/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_34/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_39/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_40/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_31/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_34/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_39/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_40/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("mixed4/concat:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_45/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_45/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_45/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_46/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_46/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_46/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_42/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_47/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_42/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_47/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_42/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_47/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_43/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_48/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_43/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_48/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_43/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_48/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("average_pooling2d_5/AvgPool:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_41/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_44/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_49/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_50/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_41/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_44/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_49/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_50/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_41/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_44/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_49/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_50/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("mixed5/concat:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_55/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_55/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_55/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_56/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_56/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_56/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_52/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_57/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_52/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_57/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_52/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_57/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_53/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("conv2d_58/convolution:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_53/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("batch_normalization_58/cond/Merge:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_53/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("activation_58/Relu:0", shape=(?, 17, 17, 160), dtype=float32)
Tensor("average_pooling2d_6/AvgPool:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_51/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_54/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_59/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_60/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_51/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_54/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_59/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_60/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_51/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_54/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_59/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_60/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("mixed6/concat:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_65/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_65/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_65/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_66/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_66/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_66/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_62/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_67/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_62/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_67/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_62/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_67/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_63/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_68/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_63/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_68/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_63/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_68/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("average_pooling2d_7/AvgPool:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_61/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_64/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_69/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_70/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_61/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_64/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_69/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_70/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_61/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_64/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_69/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_70/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("mixed7/concat:0", shape=(?, 17, 17, 768), dtype=float32)
Tensor("conv2d_73/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_73/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_73/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_74/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_74/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_74/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_71/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_75/convolution:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_71/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("batch_normalization_75/cond/Merge:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_71/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("activation_75/Relu:0", shape=(?, 17, 17, 192), dtype=float32)
Tensor("conv2d_72/convolution:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("conv2d_76/convolution:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("batch_normalization_72/cond/Merge:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("batch_normalization_76/cond/Merge:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("activation_72/Relu:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("activation_76/Relu:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("max_pooling2d_4/MaxPool:0", shape=(?, 8, 8, 768), dtype=float32)
Tensor("mixed8/concat:0", shape=(?, 8, 8, 1280), dtype=float32)
Tensor("conv2d_81/convolution:0", shape=(?, 8, 8, 448), dtype=float32)
Tensor("batch_normalization_81/cond/Merge:0", shape=(?, 8, 8, 448), dtype=float32)
Tensor("activation_81/Relu:0", shape=(?, 8, 8, 448), dtype=float32)
Tensor("conv2d_78/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_82/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_78/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_82/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_78/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_82/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_79/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_80/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_83/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_84/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("average_pooling2d_8/AvgPool:0", shape=(?, 8, 8, 1280), dtype=float32)
Tensor("conv2d_77/convolution:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("batch_normalization_79/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_80/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_83/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_84/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_85/convolution:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("batch_normalization_77/cond/Merge:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("activation_79/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_80/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_83/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_84/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_85/cond/Merge:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("activation_77/Relu:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("mixed9_0/concat:0", shape=(?, 8, 8, 768), dtype=float32)
Tensor("concatenate_1/concat:0", shape=(?, 8, 8, 768), dtype=float32)
Tensor("activation_85/Relu:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("mixed9/concat:0", shape=(?, 8, 8, 2048), dtype=float32)
Tensor("conv2d_90/convolution:0", shape=(?, 8, 8, 448), dtype=float32)
Tensor("batch_normalization_90/cond/Merge:0", shape=(?, 8, 8, 448), dtype=float32)
Tensor("activation_90/Relu:0", shape=(?, 8, 8, 448), dtype=float32)
Tensor("conv2d_87/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_91/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_87/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_91/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_87/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_91/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_88/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_89/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_92/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_93/convolution:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("average_pooling2d_9/AvgPool:0", shape=(?, 8, 8, 2048), dtype=float32)
Tensor("conv2d_86/convolution:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("batch_normalization_88/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_89/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_92/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_93/cond/Merge:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("conv2d_94/convolution:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("batch_normalization_86/cond/Merge:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("activation_88/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_89/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_92/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("activation_93/Relu:0", shape=(?, 8, 8, 384), dtype=float32)
Tensor("batch_normalization_94/cond/Merge:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("activation_86/Relu:0", shape=(?, 8, 8, 320), dtype=float32)
Tensor("mixed9_1/concat:0", shape=(?, 8, 8, 768), dtype=float32)
Tensor("concatenate_2/concat:0", shape=(?, 8, 8, 768), dtype=float32)
Tensor("activation_94/Relu:0", shape=(?, 8, 8, 192), dtype=float32)
Tensor("mixed10/concat:0", shape=(?, 8, 8, 2048), dtype=float32)
Tensor("avg_pool/Mean:0", shape=(?, 2048), dtype=float32)
Tensor("predictions/Softmax:0", shape=(?, 1000), dtype=float32)
In [3]:
for layer in base_model.layers:
print(layer.name)
input_1
conv2d_1
batch_normalization_1
activation_1
conv2d_2
batch_normalization_2
activation_2
conv2d_3
batch_normalization_3
activation_3
max_pooling2d_1
conv2d_4
batch_normalization_4
activation_4
conv2d_5
batch_normalization_5
activation_5
max_pooling2d_2
conv2d_9
batch_normalization_9
activation_9
conv2d_7
conv2d_10
batch_normalization_7
batch_normalization_10
activation_7
activation_10
average_pooling2d_1
conv2d_6
conv2d_8
conv2d_11
conv2d_12
batch_normalization_6
batch_normalization_8
batch_normalization_11
batch_normalization_12
activation_6
activation_8
activation_11
activation_12
mixed0
conv2d_16
batch_normalization_16
activation_16
conv2d_14
conv2d_17
batch_normalization_14
batch_normalization_17
activation_14
activation_17
average_pooling2d_2
conv2d_13
conv2d_15
conv2d_18
conv2d_19
batch_normalization_13
batch_normalization_15
batch_normalization_18
batch_normalization_19
activation_13
activation_15
activation_18
activation_19
mixed1
conv2d_23
batch_normalization_23
activation_23
conv2d_21
conv2d_24
batch_normalization_21
batch_normalization_24
activation_21
activation_24
average_pooling2d_3
conv2d_20
conv2d_22
conv2d_25
conv2d_26
batch_normalization_20
batch_normalization_22
batch_normalization_25
batch_normalization_26
activation_20
activation_22
activation_25
activation_26
mixed2
conv2d_28
batch_normalization_28
activation_28
conv2d_29
batch_normalization_29
activation_29
conv2d_27
conv2d_30
batch_normalization_27
batch_normalization_30
activation_27
activation_30
max_pooling2d_3
mixed3
conv2d_35
batch_normalization_35
activation_35
conv2d_36
batch_normalization_36
activation_36
conv2d_32
conv2d_37
batch_normalization_32
batch_normalization_37
activation_32
activation_37
conv2d_33
conv2d_38
batch_normalization_33
batch_normalization_38
activation_33
activation_38
average_pooling2d_4
conv2d_31
conv2d_34
conv2d_39
conv2d_40
batch_normalization_31
batch_normalization_34
batch_normalization_39
batch_normalization_40
activation_31
activation_34
activation_39
activation_40
mixed4
conv2d_45
batch_normalization_45
activation_45
conv2d_46
batch_normalization_46
activation_46
conv2d_42
conv2d_47
batch_normalization_42
batch_normalization_47
activation_42
activation_47
conv2d_43
conv2d_48
batch_normalization_43
batch_normalization_48
activation_43
activation_48
average_pooling2d_5
conv2d_41
conv2d_44
conv2d_49
conv2d_50
batch_normalization_41
batch_normalization_44
batch_normalization_49
batch_normalization_50
activation_41
activation_44
activation_49
activation_50
mixed5
conv2d_55
batch_normalization_55
activation_55
conv2d_56
batch_normalization_56
activation_56
conv2d_52
conv2d_57
batch_normalization_52
batch_normalization_57
activation_52
activation_57
conv2d_53
conv2d_58
batch_normalization_53
batch_normalization_58
activation_53
activation_58
average_pooling2d_6
conv2d_51
conv2d_54
conv2d_59
conv2d_60
batch_normalization_51
batch_normalization_54
batch_normalization_59
batch_normalization_60
activation_51
activation_54
activation_59
activation_60
mixed6
conv2d_65
batch_normalization_65
activation_65
conv2d_66
batch_normalization_66
activation_66
conv2d_62
conv2d_67
batch_normalization_62
batch_normalization_67
activation_62
activation_67
conv2d_63
conv2d_68
batch_normalization_63
batch_normalization_68
activation_63
activation_68
average_pooling2d_7
conv2d_61
conv2d_64
conv2d_69
conv2d_70
batch_normalization_61
batch_normalization_64
batch_normalization_69
batch_normalization_70
activation_61
activation_64
activation_69
activation_70
mixed7
conv2d_73
batch_normalization_73
activation_73
conv2d_74
batch_normalization_74
activation_74
conv2d_71
conv2d_75
batch_normalization_71
batch_normalization_75
activation_71
activation_75
conv2d_72
conv2d_76
batch_normalization_72
batch_normalization_76
activation_72
activation_76
max_pooling2d_4
mixed8
conv2d_81
batch_normalization_81
activation_81
conv2d_78
conv2d_82
batch_normalization_78
batch_normalization_82
activation_78
activation_82
conv2d_79
conv2d_80
conv2d_83
conv2d_84
average_pooling2d_8
conv2d_77
batch_normalization_79
batch_normalization_80
batch_normalization_83
batch_normalization_84
conv2d_85
batch_normalization_77
activation_79
activation_80
activation_83
activation_84
batch_normalization_85
activation_77
mixed9_0
concatenate_1
activation_85
mixed9
conv2d_90
batch_normalization_90
activation_90
conv2d_87
conv2d_91
batch_normalization_87
batch_normalization_91
activation_87
activation_91
conv2d_88
conv2d_89
conv2d_92
conv2d_93
average_pooling2d_9
conv2d_86
batch_normalization_88
batch_normalization_89
batch_normalization_92
batch_normalization_93
conv2d_94
batch_normalization_86
activation_88
activation_89
activation_92
activation_93
batch_normalization_94
activation_86
mixed9_1
concatenate_2
activation_94
mixed10
avg_pool
predictions
In [5]:
# Turn off training on base model layers
for layer in base_model.layers:
layer.trainable = True
# k=base_model.get_layer('flatten').output
# Add on new fully connected layers for the output classes.
x = Dense(32, activation='relu')(base_model.get_layer('avg_pool').output)
x = Dropout(0.5)(x)
predictions = Dense(N_CLASSES, activation='softmax', name='predictions')(x)
model = Model(inputs=base_model.input, outputs=[predictions])
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# Show some debug output
print (model.summary())
print ('Trainable weights')
print (model.trainable_weights)
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
input_1 (InputLayer) (None, 299, 299, 3) 0
____________________________________________________________________________________________________
conv2d_1 (Conv2D) (None, 149, 149, 32) 864 input_1[0][0]
____________________________________________________________________________________________________
batch_normalization_1 (BatchNorm (None, 149, 149, 32) 96 conv2d_1[0][0]
____________________________________________________________________________________________________
activation_1 (Activation) (None, 149, 149, 32) 0 batch_normalization_1[0][0]
____________________________________________________________________________________________________
conv2d_2 (Conv2D) (None, 147, 147, 32) 9216 activation_1[0][0]
____________________________________________________________________________________________________
batch_normalization_2 (BatchNorm (None, 147, 147, 32) 96 conv2d_2[0][0]
____________________________________________________________________________________________________
activation_2 (Activation) (None, 147, 147, 32) 0 batch_normalization_2[0][0]
____________________________________________________________________________________________________
conv2d_3 (Conv2D) (None, 147, 147, 64) 18432 activation_2[0][0]
____________________________________________________________________________________________________
batch_normalization_3 (BatchNorm (None, 147, 147, 64) 192 conv2d_3[0][0]
____________________________________________________________________________________________________
activation_3 (Activation) (None, 147, 147, 64) 0 batch_normalization_3[0][0]
____________________________________________________________________________________________________
max_pooling2d_1 (MaxPooling2D) (None, 73, 73, 64) 0 activation_3[0][0]
____________________________________________________________________________________________________
conv2d_4 (Conv2D) (None, 73, 73, 80) 5120 max_pooling2d_1[0][0]
____________________________________________________________________________________________________
batch_normalization_4 (BatchNorm (None, 73, 73, 80) 240 conv2d_4[0][0]
____________________________________________________________________________________________________
activation_4 (Activation) (None, 73, 73, 80) 0 batch_normalization_4[0][0]
____________________________________________________________________________________________________
conv2d_5 (Conv2D) (None, 71, 71, 192) 138240 activation_4[0][0]
____________________________________________________________________________________________________
batch_normalization_5 (BatchNorm (None, 71, 71, 192) 576 conv2d_5[0][0]
____________________________________________________________________________________________________
activation_5 (Activation) (None, 71, 71, 192) 0 batch_normalization_5[0][0]
____________________________________________________________________________________________________
max_pooling2d_2 (MaxPooling2D) (None, 35, 35, 192) 0 activation_5[0][0]
____________________________________________________________________________________________________
conv2d_9 (Conv2D) (None, 35, 35, 64) 12288 max_pooling2d_2[0][0]
____________________________________________________________________________________________________
batch_normalization_9 (BatchNorm (None, 35, 35, 64) 192 conv2d_9[0][0]
____________________________________________________________________________________________________
activation_9 (Activation) (None, 35, 35, 64) 0 batch_normalization_9[0][0]
____________________________________________________________________________________________________
conv2d_7 (Conv2D) (None, 35, 35, 48) 9216 max_pooling2d_2[0][0]
____________________________________________________________________________________________________
conv2d_10 (Conv2D) (None, 35, 35, 96) 55296 activation_9[0][0]
____________________________________________________________________________________________________
batch_normalization_7 (BatchNorm (None, 35, 35, 48) 144 conv2d_7[0][0]
____________________________________________________________________________________________________
batch_normalization_10 (BatchNor (None, 35, 35, 96) 288 conv2d_10[0][0]
____________________________________________________________________________________________________
activation_7 (Activation) (None, 35, 35, 48) 0 batch_normalization_7[0][0]
____________________________________________________________________________________________________
activation_10 (Activation) (None, 35, 35, 96) 0 batch_normalization_10[0][0]
____________________________________________________________________________________________________
average_pooling2d_1 (AveragePool (None, 35, 35, 192) 0 max_pooling2d_2[0][0]
____________________________________________________________________________________________________
conv2d_6 (Conv2D) (None, 35, 35, 64) 12288 max_pooling2d_2[0][0]
____________________________________________________________________________________________________
conv2d_8 (Conv2D) (None, 35, 35, 64) 76800 activation_7[0][0]
____________________________________________________________________________________________________
conv2d_11 (Conv2D) (None, 35, 35, 96) 82944 activation_10[0][0]
____________________________________________________________________________________________________
conv2d_12 (Conv2D) (None, 35, 35, 32) 6144 average_pooling2d_1[0][0]
____________________________________________________________________________________________________
batch_normalization_6 (BatchNorm (None, 35, 35, 64) 192 conv2d_6[0][0]
____________________________________________________________________________________________________
batch_normalization_8 (BatchNorm (None, 35, 35, 64) 192 conv2d_8[0][0]
____________________________________________________________________________________________________
batch_normalization_11 (BatchNor (None, 35, 35, 96) 288 conv2d_11[0][0]
____________________________________________________________________________________________________
batch_normalization_12 (BatchNor (None, 35, 35, 32) 96 conv2d_12[0][0]
____________________________________________________________________________________________________
activation_6 (Activation) (None, 35, 35, 64) 0 batch_normalization_6[0][0]
____________________________________________________________________________________________________
activation_8 (Activation) (None, 35, 35, 64) 0 batch_normalization_8[0][0]
____________________________________________________________________________________________________
activation_11 (Activation) (None, 35, 35, 96) 0 batch_normalization_11[0][0]
____________________________________________________________________________________________________
activation_12 (Activation) (None, 35, 35, 32) 0 batch_normalization_12[0][0]
____________________________________________________________________________________________________
mixed0 (Concatenate) (None, 35, 35, 256) 0 activation_6[0][0]
activation_8[0][0]
activation_11[0][0]
activation_12[0][0]
____________________________________________________________________________________________________
conv2d_16 (Conv2D) (None, 35, 35, 64) 16384 mixed0[0][0]
____________________________________________________________________________________________________
batch_normalization_16 (BatchNor (None, 35, 35, 64) 192 conv2d_16[0][0]
____________________________________________________________________________________________________
activation_16 (Activation) (None, 35, 35, 64) 0 batch_normalization_16[0][0]
____________________________________________________________________________________________________
conv2d_14 (Conv2D) (None, 35, 35, 48) 12288 mixed0[0][0]
____________________________________________________________________________________________________
conv2d_17 (Conv2D) (None, 35, 35, 96) 55296 activation_16[0][0]
____________________________________________________________________________________________________
batch_normalization_14 (BatchNor (None, 35, 35, 48) 144 conv2d_14[0][0]
____________________________________________________________________________________________________
batch_normalization_17 (BatchNor (None, 35, 35, 96) 288 conv2d_17[0][0]
____________________________________________________________________________________________________
activation_14 (Activation) (None, 35, 35, 48) 0 batch_normalization_14[0][0]
____________________________________________________________________________________________________
activation_17 (Activation) (None, 35, 35, 96) 0 batch_normalization_17[0][0]
____________________________________________________________________________________________________
average_pooling2d_2 (AveragePool (None, 35, 35, 256) 0 mixed0[0][0]
____________________________________________________________________________________________________
conv2d_13 (Conv2D) (None, 35, 35, 64) 16384 mixed0[0][0]
____________________________________________________________________________________________________
conv2d_15 (Conv2D) (None, 35, 35, 64) 76800 activation_14[0][0]
____________________________________________________________________________________________________
conv2d_18 (Conv2D) (None, 35, 35, 96) 82944 activation_17[0][0]
____________________________________________________________________________________________________
conv2d_19 (Conv2D) (None, 35, 35, 64) 16384 average_pooling2d_2[0][0]
____________________________________________________________________________________________________
batch_normalization_13 (BatchNor (None, 35, 35, 64) 192 conv2d_13[0][0]
____________________________________________________________________________________________________
batch_normalization_15 (BatchNor (None, 35, 35, 64) 192 conv2d_15[0][0]
____________________________________________________________________________________________________
batch_normalization_18 (BatchNor (None, 35, 35, 96) 288 conv2d_18[0][0]
____________________________________________________________________________________________________
batch_normalization_19 (BatchNor (None, 35, 35, 64) 192 conv2d_19[0][0]
____________________________________________________________________________________________________
activation_13 (Activation) (None, 35, 35, 64) 0 batch_normalization_13[0][0]
____________________________________________________________________________________________________
activation_15 (Activation) (None, 35, 35, 64) 0 batch_normalization_15[0][0]
____________________________________________________________________________________________________
activation_18 (Activation) (None, 35, 35, 96) 0 batch_normalization_18[0][0]
____________________________________________________________________________________________________
activation_19 (Activation) (None, 35, 35, 64) 0 batch_normalization_19[0][0]
____________________________________________________________________________________________________
mixed1 (Concatenate) (None, 35, 35, 288) 0 activation_13[0][0]
activation_15[0][0]
activation_18[0][0]
activation_19[0][0]
____________________________________________________________________________________________________
conv2d_23 (Conv2D) (None, 35, 35, 64) 18432 mixed1[0][0]
____________________________________________________________________________________________________
batch_normalization_23 (BatchNor (None, 35, 35, 64) 192 conv2d_23[0][0]
____________________________________________________________________________________________________
activation_23 (Activation) (None, 35, 35, 64) 0 batch_normalization_23[0][0]
____________________________________________________________________________________________________
conv2d_21 (Conv2D) (None, 35, 35, 48) 13824 mixed1[0][0]
____________________________________________________________________________________________________
conv2d_24 (Conv2D) (None, 35, 35, 96) 55296 activation_23[0][0]
____________________________________________________________________________________________________
batch_normalization_21 (BatchNor (None, 35, 35, 48) 144 conv2d_21[0][0]
____________________________________________________________________________________________________
batch_normalization_24 (BatchNor (None, 35, 35, 96) 288 conv2d_24[0][0]
____________________________________________________________________________________________________
activation_21 (Activation) (None, 35, 35, 48) 0 batch_normalization_21[0][0]
____________________________________________________________________________________________________
activation_24 (Activation) (None, 35, 35, 96) 0 batch_normalization_24[0][0]
____________________________________________________________________________________________________
average_pooling2d_3 (AveragePool (None, 35, 35, 288) 0 mixed1[0][0]
____________________________________________________________________________________________________
conv2d_20 (Conv2D) (None, 35, 35, 64) 18432 mixed1[0][0]
____________________________________________________________________________________________________
conv2d_22 (Conv2D) (None, 35, 35, 64) 76800 activation_21[0][0]
____________________________________________________________________________________________________
conv2d_25 (Conv2D) (None, 35, 35, 96) 82944 activation_24[0][0]
____________________________________________________________________________________________________
conv2d_26 (Conv2D) (None, 35, 35, 64) 18432 average_pooling2d_3[0][0]
____________________________________________________________________________________________________
batch_normalization_20 (BatchNor (None, 35, 35, 64) 192 conv2d_20[0][0]
____________________________________________________________________________________________________
batch_normalization_22 (BatchNor (None, 35, 35, 64) 192 conv2d_22[0][0]
____________________________________________________________________________________________________
batch_normalization_25 (BatchNor (None, 35, 35, 96) 288 conv2d_25[0][0]
____________________________________________________________________________________________________
batch_normalization_26 (BatchNor (None, 35, 35, 64) 192 conv2d_26[0][0]
____________________________________________________________________________________________________
activation_20 (Activation) (None, 35, 35, 64) 0 batch_normalization_20[0][0]
____________________________________________________________________________________________________
activation_22 (Activation) (None, 35, 35, 64) 0 batch_normalization_22[0][0]
____________________________________________________________________________________________________
activation_25 (Activation) (None, 35, 35, 96) 0 batch_normalization_25[0][0]
____________________________________________________________________________________________________
activation_26 (Activation) (None, 35, 35, 64) 0 batch_normalization_26[0][0]
____________________________________________________________________________________________________
mixed2 (Concatenate) (None, 35, 35, 288) 0 activation_20[0][0]
activation_22[0][0]
activation_25[0][0]
activation_26[0][0]
____________________________________________________________________________________________________
conv2d_28 (Conv2D) (None, 35, 35, 64) 18432 mixed2[0][0]
____________________________________________________________________________________________________
batch_normalization_28 (BatchNor (None, 35, 35, 64) 192 conv2d_28[0][0]
____________________________________________________________________________________________________
activation_28 (Activation) (None, 35, 35, 64) 0 batch_normalization_28[0][0]
____________________________________________________________________________________________________
conv2d_29 (Conv2D) (None, 35, 35, 96) 55296 activation_28[0][0]
____________________________________________________________________________________________________
batch_normalization_29 (BatchNor (None, 35, 35, 96) 288 conv2d_29[0][0]
____________________________________________________________________________________________________
activation_29 (Activation) (None, 35, 35, 96) 0 batch_normalization_29[0][0]
____________________________________________________________________________________________________
conv2d_27 (Conv2D) (None, 17, 17, 384) 995328 mixed2[0][0]
____________________________________________________________________________________________________
conv2d_30 (Conv2D) (None, 17, 17, 96) 82944 activation_29[0][0]
____________________________________________________________________________________________________
batch_normalization_27 (BatchNor (None, 17, 17, 384) 1152 conv2d_27[0][0]
____________________________________________________________________________________________________
batch_normalization_30 (BatchNor (None, 17, 17, 96) 288 conv2d_30[0][0]
____________________________________________________________________________________________________
activation_27 (Activation) (None, 17, 17, 384) 0 batch_normalization_27[0][0]
____________________________________________________________________________________________________
activation_30 (Activation) (None, 17, 17, 96) 0 batch_normalization_30[0][0]
____________________________________________________________________________________________________
max_pooling2d_3 (MaxPooling2D) (None, 17, 17, 288) 0 mixed2[0][0]
____________________________________________________________________________________________________
mixed3 (Concatenate) (None, 17, 17, 768) 0 activation_27[0][0]
activation_30[0][0]
max_pooling2d_3[0][0]
____________________________________________________________________________________________________
conv2d_35 (Conv2D) (None, 17, 17, 128) 98304 mixed3[0][0]
____________________________________________________________________________________________________
batch_normalization_35 (BatchNor (None, 17, 17, 128) 384 conv2d_35[0][0]
____________________________________________________________________________________________________
activation_35 (Activation) (None, 17, 17, 128) 0 batch_normalization_35[0][0]
____________________________________________________________________________________________________
conv2d_36 (Conv2D) (None, 17, 17, 128) 114688 activation_35[0][0]
____________________________________________________________________________________________________
batch_normalization_36 (BatchNor (None, 17, 17, 128) 384 conv2d_36[0][0]
____________________________________________________________________________________________________
activation_36 (Activation) (None, 17, 17, 128) 0 batch_normalization_36[0][0]
____________________________________________________________________________________________________
conv2d_32 (Conv2D) (None, 17, 17, 128) 98304 mixed3[0][0]
____________________________________________________________________________________________________
conv2d_37 (Conv2D) (None, 17, 17, 128) 114688 activation_36[0][0]
____________________________________________________________________________________________________
batch_normalization_32 (BatchNor (None, 17, 17, 128) 384 conv2d_32[0][0]
____________________________________________________________________________________________________
batch_normalization_37 (BatchNor (None, 17, 17, 128) 384 conv2d_37[0][0]
____________________________________________________________________________________________________
activation_32 (Activation) (None, 17, 17, 128) 0 batch_normalization_32[0][0]
____________________________________________________________________________________________________
activation_37 (Activation) (None, 17, 17, 128) 0 batch_normalization_37[0][0]
____________________________________________________________________________________________________
conv2d_33 (Conv2D) (None, 17, 17, 128) 114688 activation_32[0][0]
____________________________________________________________________________________________________
conv2d_38 (Conv2D) (None, 17, 17, 128) 114688 activation_37[0][0]
____________________________________________________________________________________________________
batch_normalization_33 (BatchNor (None, 17, 17, 128) 384 conv2d_33[0][0]
____________________________________________________________________________________________________
batch_normalization_38 (BatchNor (None, 17, 17, 128) 384 conv2d_38[0][0]
____________________________________________________________________________________________________
activation_33 (Activation) (None, 17, 17, 128) 0 batch_normalization_33[0][0]
____________________________________________________________________________________________________
activation_38 (Activation) (None, 17, 17, 128) 0 batch_normalization_38[0][0]
____________________________________________________________________________________________________
average_pooling2d_4 (AveragePool (None, 17, 17, 768) 0 mixed3[0][0]
____________________________________________________________________________________________________
conv2d_31 (Conv2D) (None, 17, 17, 192) 147456 mixed3[0][0]
____________________________________________________________________________________________________
conv2d_34 (Conv2D) (None, 17, 17, 192) 172032 activation_33[0][0]
____________________________________________________________________________________________________
conv2d_39 (Conv2D) (None, 17, 17, 192) 172032 activation_38[0][0]
____________________________________________________________________________________________________
conv2d_40 (Conv2D) (None, 17, 17, 192) 147456 average_pooling2d_4[0][0]
____________________________________________________________________________________________________
batch_normalization_31 (BatchNor (None, 17, 17, 192) 576 conv2d_31[0][0]
____________________________________________________________________________________________________
batch_normalization_34 (BatchNor (None, 17, 17, 192) 576 conv2d_34[0][0]
____________________________________________________________________________________________________
batch_normalization_39 (BatchNor (None, 17, 17, 192) 576 conv2d_39[0][0]
____________________________________________________________________________________________________
batch_normalization_40 (BatchNor (None, 17, 17, 192) 576 conv2d_40[0][0]
____________________________________________________________________________________________________
activation_31 (Activation) (None, 17, 17, 192) 0 batch_normalization_31[0][0]
____________________________________________________________________________________________________
activation_34 (Activation) (None, 17, 17, 192) 0 batch_normalization_34[0][0]
____________________________________________________________________________________________________
activation_39 (Activation) (None, 17, 17, 192) 0 batch_normalization_39[0][0]
____________________________________________________________________________________________________
activation_40 (Activation) (None, 17, 17, 192) 0 batch_normalization_40[0][0]
____________________________________________________________________________________________________
mixed4 (Concatenate) (None, 17, 17, 768) 0 activation_31[0][0]
activation_34[0][0]
activation_39[0][0]
activation_40[0][0]
____________________________________________________________________________________________________
conv2d_45 (Conv2D) (None, 17, 17, 160) 122880 mixed4[0][0]
____________________________________________________________________________________________________
batch_normalization_45 (BatchNor (None, 17, 17, 160) 480 conv2d_45[0][0]
____________________________________________________________________________________________________
activation_45 (Activation) (None, 17, 17, 160) 0 batch_normalization_45[0][0]
____________________________________________________________________________________________________
conv2d_46 (Conv2D) (None, 17, 17, 160) 179200 activation_45[0][0]
____________________________________________________________________________________________________
batch_normalization_46 (BatchNor (None, 17, 17, 160) 480 conv2d_46[0][0]
____________________________________________________________________________________________________
activation_46 (Activation) (None, 17, 17, 160) 0 batch_normalization_46[0][0]
____________________________________________________________________________________________________
conv2d_42 (Conv2D) (None, 17, 17, 160) 122880 mixed4[0][0]
____________________________________________________________________________________________________
conv2d_47 (Conv2D) (None, 17, 17, 160) 179200 activation_46[0][0]
____________________________________________________________________________________________________
batch_normalization_42 (BatchNor (None, 17, 17, 160) 480 conv2d_42[0][0]
____________________________________________________________________________________________________
batch_normalization_47 (BatchNor (None, 17, 17, 160) 480 conv2d_47[0][0]
____________________________________________________________________________________________________
activation_42 (Activation) (None, 17, 17, 160) 0 batch_normalization_42[0][0]
____________________________________________________________________________________________________
activation_47 (Activation) (None, 17, 17, 160) 0 batch_normalization_47[0][0]
____________________________________________________________________________________________________
conv2d_43 (Conv2D) (None, 17, 17, 160) 179200 activation_42[0][0]
____________________________________________________________________________________________________
conv2d_48 (Conv2D) (None, 17, 17, 160) 179200 activation_47[0][0]
____________________________________________________________________________________________________
batch_normalization_43 (BatchNor (None, 17, 17, 160) 480 conv2d_43[0][0]
____________________________________________________________________________________________________
batch_normalization_48 (BatchNor (None, 17, 17, 160) 480 conv2d_48[0][0]
____________________________________________________________________________________________________
activation_43 (Activation) (None, 17, 17, 160) 0 batch_normalization_43[0][0]
____________________________________________________________________________________________________
activation_48 (Activation) (None, 17, 17, 160) 0 batch_normalization_48[0][0]
____________________________________________________________________________________________________
average_pooling2d_5 (AveragePool (None, 17, 17, 768) 0 mixed4[0][0]
____________________________________________________________________________________________________
conv2d_41 (Conv2D) (None, 17, 17, 192) 147456 mixed4[0][0]
____________________________________________________________________________________________________
conv2d_44 (Conv2D) (None, 17, 17, 192) 215040 activation_43[0][0]
____________________________________________________________________________________________________
conv2d_49 (Conv2D) (None, 17, 17, 192) 215040 activation_48[0][0]
____________________________________________________________________________________________________
conv2d_50 (Conv2D) (None, 17, 17, 192) 147456 average_pooling2d_5[0][0]
____________________________________________________________________________________________________
batch_normalization_41 (BatchNor (None, 17, 17, 192) 576 conv2d_41[0][0]
____________________________________________________________________________________________________
batch_normalization_44 (BatchNor (None, 17, 17, 192) 576 conv2d_44[0][0]
____________________________________________________________________________________________________
batch_normalization_49 (BatchNor (None, 17, 17, 192) 576 conv2d_49[0][0]
____________________________________________________________________________________________________
batch_normalization_50 (BatchNor (None, 17, 17, 192) 576 conv2d_50[0][0]
____________________________________________________________________________________________________
activation_41 (Activation) (None, 17, 17, 192) 0 batch_normalization_41[0][0]
____________________________________________________________________________________________________
activation_44 (Activation) (None, 17, 17, 192) 0 batch_normalization_44[0][0]
____________________________________________________________________________________________________
activation_49 (Activation) (None, 17, 17, 192) 0 batch_normalization_49[0][0]
____________________________________________________________________________________________________
activation_50 (Activation) (None, 17, 17, 192) 0 batch_normalization_50[0][0]
____________________________________________________________________________________________________
mixed5 (Concatenate) (None, 17, 17, 768) 0 activation_41[0][0]
activation_44[0][0]
activation_49[0][0]
activation_50[0][0]
____________________________________________________________________________________________________
conv2d_55 (Conv2D) (None, 17, 17, 160) 122880 mixed5[0][0]
____________________________________________________________________________________________________
batch_normalization_55 (BatchNor (None, 17, 17, 160) 480 conv2d_55[0][0]
____________________________________________________________________________________________________
activation_55 (Activation) (None, 17, 17, 160) 0 batch_normalization_55[0][0]
____________________________________________________________________________________________________
conv2d_56 (Conv2D) (None, 17, 17, 160) 179200 activation_55[0][0]
____________________________________________________________________________________________________
batch_normalization_56 (BatchNor (None, 17, 17, 160) 480 conv2d_56[0][0]
____________________________________________________________________________________________________
activation_56 (Activation) (None, 17, 17, 160) 0 batch_normalization_56[0][0]
____________________________________________________________________________________________________
conv2d_52 (Conv2D) (None, 17, 17, 160) 122880 mixed5[0][0]
____________________________________________________________________________________________________
conv2d_57 (Conv2D) (None, 17, 17, 160) 179200 activation_56[0][0]
____________________________________________________________________________________________________
batch_normalization_52 (BatchNor (None, 17, 17, 160) 480 conv2d_52[0][0]
____________________________________________________________________________________________________
batch_normalization_57 (BatchNor (None, 17, 17, 160) 480 conv2d_57[0][0]
____________________________________________________________________________________________________
activation_52 (Activation) (None, 17, 17, 160) 0 batch_normalization_52[0][0]
____________________________________________________________________________________________________
activation_57 (Activation) (None, 17, 17, 160) 0 batch_normalization_57[0][0]
____________________________________________________________________________________________________
conv2d_53 (Conv2D) (None, 17, 17, 160) 179200 activation_52[0][0]
____________________________________________________________________________________________________
conv2d_58 (Conv2D) (None, 17, 17, 160) 179200 activation_57[0][0]
____________________________________________________________________________________________________
batch_normalization_53 (BatchNor (None, 17, 17, 160) 480 conv2d_53[0][0]
____________________________________________________________________________________________________
batch_normalization_58 (BatchNor (None, 17, 17, 160) 480 conv2d_58[0][0]
____________________________________________________________________________________________________
activation_53 (Activation) (None, 17, 17, 160) 0 batch_normalization_53[0][0]
____________________________________________________________________________________________________
activation_58 (Activation) (None, 17, 17, 160) 0 batch_normalization_58[0][0]
____________________________________________________________________________________________________
average_pooling2d_6 (AveragePool (None, 17, 17, 768) 0 mixed5[0][0]
____________________________________________________________________________________________________
conv2d_51 (Conv2D) (None, 17, 17, 192) 147456 mixed5[0][0]
____________________________________________________________________________________________________
conv2d_54 (Conv2D) (None, 17, 17, 192) 215040 activation_53[0][0]
____________________________________________________________________________________________________
conv2d_59 (Conv2D) (None, 17, 17, 192) 215040 activation_58[0][0]
____________________________________________________________________________________________________
conv2d_60 (Conv2D) (None, 17, 17, 192) 147456 average_pooling2d_6[0][0]
____________________________________________________________________________________________________
batch_normalization_51 (BatchNor (None, 17, 17, 192) 576 conv2d_51[0][0]
____________________________________________________________________________________________________
batch_normalization_54 (BatchNor (None, 17, 17, 192) 576 conv2d_54[0][0]
____________________________________________________________________________________________________
batch_normalization_59 (BatchNor (None, 17, 17, 192) 576 conv2d_59[0][0]
____________________________________________________________________________________________________
batch_normalization_60 (BatchNor (None, 17, 17, 192) 576 conv2d_60[0][0]
____________________________________________________________________________________________________
activation_51 (Activation) (None, 17, 17, 192) 0 batch_normalization_51[0][0]
____________________________________________________________________________________________________
activation_54 (Activation) (None, 17, 17, 192) 0 batch_normalization_54[0][0]
____________________________________________________________________________________________________
activation_59 (Activation) (None, 17, 17, 192) 0 batch_normalization_59[0][0]
____________________________________________________________________________________________________
activation_60 (Activation) (None, 17, 17, 192) 0 batch_normalization_60[0][0]
____________________________________________________________________________________________________
mixed6 (Concatenate) (None, 17, 17, 768) 0 activation_51[0][0]
activation_54[0][0]
activation_59[0][0]
activation_60[0][0]
____________________________________________________________________________________________________
conv2d_65 (Conv2D) (None, 17, 17, 192) 147456 mixed6[0][0]
____________________________________________________________________________________________________
batch_normalization_65 (BatchNor (None, 17, 17, 192) 576 conv2d_65[0][0]
____________________________________________________________________________________________________
activation_65 (Activation) (None, 17, 17, 192) 0 batch_normalization_65[0][0]
____________________________________________________________________________________________________
conv2d_66 (Conv2D) (None, 17, 17, 192) 258048 activation_65[0][0]
____________________________________________________________________________________________________
batch_normalization_66 (BatchNor (None, 17, 17, 192) 576 conv2d_66[0][0]
____________________________________________________________________________________________________
activation_66 (Activation) (None, 17, 17, 192) 0 batch_normalization_66[0][0]
____________________________________________________________________________________________________
conv2d_62 (Conv2D) (None, 17, 17, 192) 147456 mixed6[0][0]
____________________________________________________________________________________________________
conv2d_67 (Conv2D) (None, 17, 17, 192) 258048 activation_66[0][0]
____________________________________________________________________________________________________
batch_normalization_62 (BatchNor (None, 17, 17, 192) 576 conv2d_62[0][0]
____________________________________________________________________________________________________
batch_normalization_67 (BatchNor (None, 17, 17, 192) 576 conv2d_67[0][0]
____________________________________________________________________________________________________
activation_62 (Activation) (None, 17, 17, 192) 0 batch_normalization_62[0][0]
____________________________________________________________________________________________________
activation_67 (Activation) (None, 17, 17, 192) 0 batch_normalization_67[0][0]
____________________________________________________________________________________________________
conv2d_63 (Conv2D) (None, 17, 17, 192) 258048 activation_62[0][0]
____________________________________________________________________________________________________
conv2d_68 (Conv2D) (None, 17, 17, 192) 258048 activation_67[0][0]
____________________________________________________________________________________________________
batch_normalization_63 (BatchNor (None, 17, 17, 192) 576 conv2d_63[0][0]
____________________________________________________________________________________________________
batch_normalization_68 (BatchNor (None, 17, 17, 192) 576 conv2d_68[0][0]
____________________________________________________________________________________________________
activation_63 (Activation) (None, 17, 17, 192) 0 batch_normalization_63[0][0]
____________________________________________________________________________________________________
activation_68 (Activation) (None, 17, 17, 192) 0 batch_normalization_68[0][0]
____________________________________________________________________________________________________
average_pooling2d_7 (AveragePool (None, 17, 17, 768) 0 mixed6[0][0]
____________________________________________________________________________________________________
conv2d_61 (Conv2D) (None, 17, 17, 192) 147456 mixed6[0][0]
____________________________________________________________________________________________________
conv2d_64 (Conv2D) (None, 17, 17, 192) 258048 activation_63[0][0]
____________________________________________________________________________________________________
conv2d_69 (Conv2D) (None, 17, 17, 192) 258048 activation_68[0][0]
____________________________________________________________________________________________________
conv2d_70 (Conv2D) (None, 17, 17, 192) 147456 average_pooling2d_7[0][0]
____________________________________________________________________________________________________
batch_normalization_61 (BatchNor (None, 17, 17, 192) 576 conv2d_61[0][0]
____________________________________________________________________________________________________
batch_normalization_64 (BatchNor (None, 17, 17, 192) 576 conv2d_64[0][0]
____________________________________________________________________________________________________
batch_normalization_69 (BatchNor (None, 17, 17, 192) 576 conv2d_69[0][0]
____________________________________________________________________________________________________
batch_normalization_70 (BatchNor (None, 17, 17, 192) 576 conv2d_70[0][0]
____________________________________________________________________________________________________
activation_61 (Activation) (None, 17, 17, 192) 0 batch_normalization_61[0][0]
____________________________________________________________________________________________________
activation_64 (Activation) (None, 17, 17, 192) 0 batch_normalization_64[0][0]
____________________________________________________________________________________________________
activation_69 (Activation) (None, 17, 17, 192) 0 batch_normalization_69[0][0]
____________________________________________________________________________________________________
activation_70 (Activation) (None, 17, 17, 192) 0 batch_normalization_70[0][0]
____________________________________________________________________________________________________
mixed7 (Concatenate) (None, 17, 17, 768) 0 activation_61[0][0]
activation_64[0][0]
activation_69[0][0]
activation_70[0][0]
____________________________________________________________________________________________________
conv2d_73 (Conv2D) (None, 17, 17, 192) 147456 mixed7[0][0]
____________________________________________________________________________________________________
batch_normalization_73 (BatchNor (None, 17, 17, 192) 576 conv2d_73[0][0]
____________________________________________________________________________________________________
activation_73 (Activation) (None, 17, 17, 192) 0 batch_normalization_73[0][0]
____________________________________________________________________________________________________
conv2d_74 (Conv2D) (None, 17, 17, 192) 258048 activation_73[0][0]
____________________________________________________________________________________________________
batch_normalization_74 (BatchNor (None, 17, 17, 192) 576 conv2d_74[0][0]
____________________________________________________________________________________________________
activation_74 (Activation) (None, 17, 17, 192) 0 batch_normalization_74[0][0]
____________________________________________________________________________________________________
conv2d_71 (Conv2D) (None, 17, 17, 192) 147456 mixed7[0][0]
____________________________________________________________________________________________________
conv2d_75 (Conv2D) (None, 17, 17, 192) 258048 activation_74[0][0]
____________________________________________________________________________________________________
batch_normalization_71 (BatchNor (None, 17, 17, 192) 576 conv2d_71[0][0]
____________________________________________________________________________________________________
batch_normalization_75 (BatchNor (None, 17, 17, 192) 576 conv2d_75[0][0]
____________________________________________________________________________________________________
activation_71 (Activation) (None, 17, 17, 192) 0 batch_normalization_71[0][0]
____________________________________________________________________________________________________
activation_75 (Activation) (None, 17, 17, 192) 0 batch_normalization_75[0][0]
____________________________________________________________________________________________________
conv2d_72 (Conv2D) (None, 8, 8, 320) 552960 activation_71[0][0]
____________________________________________________________________________________________________
conv2d_76 (Conv2D) (None, 8, 8, 192) 331776 activation_75[0][0]
____________________________________________________________________________________________________
batch_normalization_72 (BatchNor (None, 8, 8, 320) 960 conv2d_72[0][0]
____________________________________________________________________________________________________
batch_normalization_76 (BatchNor (None, 8, 8, 192) 576 conv2d_76[0][0]
____________________________________________________________________________________________________
activation_72 (Activation) (None, 8, 8, 320) 0 batch_normalization_72[0][0]
____________________________________________________________________________________________________
activation_76 (Activation) (None, 8, 8, 192) 0 batch_normalization_76[0][0]
____________________________________________________________________________________________________
max_pooling2d_4 (MaxPooling2D) (None, 8, 8, 768) 0 mixed7[0][0]
____________________________________________________________________________________________________
mixed8 (Concatenate) (None, 8, 8, 1280) 0 activation_72[0][0]
activation_76[0][0]
max_pooling2d_4[0][0]
____________________________________________________________________________________________________
conv2d_81 (Conv2D) (None, 8, 8, 448) 573440 mixed8[0][0]
____________________________________________________________________________________________________
batch_normalization_81 (BatchNor (None, 8, 8, 448) 1344 conv2d_81[0][0]
____________________________________________________________________________________________________
activation_81 (Activation) (None, 8, 8, 448) 0 batch_normalization_81[0][0]
____________________________________________________________________________________________________
conv2d_78 (Conv2D) (None, 8, 8, 384) 491520 mixed8[0][0]
____________________________________________________________________________________________________
conv2d_82 (Conv2D) (None, 8, 8, 384) 1548288 activation_81[0][0]
____________________________________________________________________________________________________
batch_normalization_78 (BatchNor (None, 8, 8, 384) 1152 conv2d_78[0][0]
____________________________________________________________________________________________________
batch_normalization_82 (BatchNor (None, 8, 8, 384) 1152 conv2d_82[0][0]
____________________________________________________________________________________________________
activation_78 (Activation) (None, 8, 8, 384) 0 batch_normalization_78[0][0]
____________________________________________________________________________________________________
activation_82 (Activation) (None, 8, 8, 384) 0 batch_normalization_82[0][0]
____________________________________________________________________________________________________
conv2d_79 (Conv2D) (None, 8, 8, 384) 442368 activation_78[0][0]
____________________________________________________________________________________________________
conv2d_80 (Conv2D) (None, 8, 8, 384) 442368 activation_78[0][0]
____________________________________________________________________________________________________
conv2d_83 (Conv2D) (None, 8, 8, 384) 442368 activation_82[0][0]
____________________________________________________________________________________________________
conv2d_84 (Conv2D) (None, 8, 8, 384) 442368 activation_82[0][0]
____________________________________________________________________________________________________
average_pooling2d_8 (AveragePool (None, 8, 8, 1280) 0 mixed8[0][0]
____________________________________________________________________________________________________
conv2d_77 (Conv2D) (None, 8, 8, 320) 409600 mixed8[0][0]
____________________________________________________________________________________________________
batch_normalization_79 (BatchNor (None, 8, 8, 384) 1152 conv2d_79[0][0]
____________________________________________________________________________________________________
batch_normalization_80 (BatchNor (None, 8, 8, 384) 1152 conv2d_80[0][0]
____________________________________________________________________________________________________
batch_normalization_83 (BatchNor (None, 8, 8, 384) 1152 conv2d_83[0][0]
____________________________________________________________________________________________________
batch_normalization_84 (BatchNor (None, 8, 8, 384) 1152 conv2d_84[0][0]
____________________________________________________________________________________________________
conv2d_85 (Conv2D) (None, 8, 8, 192) 245760 average_pooling2d_8[0][0]
____________________________________________________________________________________________________
batch_normalization_77 (BatchNor (None, 8, 8, 320) 960 conv2d_77[0][0]
____________________________________________________________________________________________________
activation_79 (Activation) (None, 8, 8, 384) 0 batch_normalization_79[0][0]
____________________________________________________________________________________________________
activation_80 (Activation) (None, 8, 8, 384) 0 batch_normalization_80[0][0]
____________________________________________________________________________________________________
activation_83 (Activation) (None, 8, 8, 384) 0 batch_normalization_83[0][0]
____________________________________________________________________________________________________
activation_84 (Activation) (None, 8, 8, 384) 0 batch_normalization_84[0][0]
____________________________________________________________________________________________________
batch_normalization_85 (BatchNor (None, 8, 8, 192) 576 conv2d_85[0][0]
____________________________________________________________________________________________________
activation_77 (Activation) (None, 8, 8, 320) 0 batch_normalization_77[0][0]
____________________________________________________________________________________________________
mixed9_0 (Concatenate) (None, 8, 8, 768) 0 activation_79[0][0]
activation_80[0][0]
____________________________________________________________________________________________________
concatenate_1 (Concatenate) (None, 8, 8, 768) 0 activation_83[0][0]
activation_84[0][0]
____________________________________________________________________________________________________
activation_85 (Activation) (None, 8, 8, 192) 0 batch_normalization_85[0][0]
____________________________________________________________________________________________________
mixed9 (Concatenate) (None, 8, 8, 2048) 0 activation_77[0][0]
mixed9_0[0][0]
concatenate_1[0][0]
activation_85[0][0]
____________________________________________________________________________________________________
conv2d_90 (Conv2D) (None, 8, 8, 448) 917504 mixed9[0][0]
____________________________________________________________________________________________________
batch_normalization_90 (BatchNor (None, 8, 8, 448) 1344 conv2d_90[0][0]
____________________________________________________________________________________________________
activation_90 (Activation) (None, 8, 8, 448) 0 batch_normalization_90[0][0]
____________________________________________________________________________________________________
conv2d_87 (Conv2D) (None, 8, 8, 384) 786432 mixed9[0][0]
____________________________________________________________________________________________________
conv2d_91 (Conv2D) (None, 8, 8, 384) 1548288 activation_90[0][0]
____________________________________________________________________________________________________
batch_normalization_87 (BatchNor (None, 8, 8, 384) 1152 conv2d_87[0][0]
____________________________________________________________________________________________________
batch_normalization_91 (BatchNor (None, 8, 8, 384) 1152 conv2d_91[0][0]
____________________________________________________________________________________________________
activation_87 (Activation) (None, 8, 8, 384) 0 batch_normalization_87[0][0]
____________________________________________________________________________________________________
activation_91 (Activation) (None, 8, 8, 384) 0 batch_normalization_91[0][0]
____________________________________________________________________________________________________
conv2d_88 (Conv2D) (None, 8, 8, 384) 442368 activation_87[0][0]
____________________________________________________________________________________________________
conv2d_89 (Conv2D) (None, 8, 8, 384) 442368 activation_87[0][0]
____________________________________________________________________________________________________
conv2d_92 (Conv2D) (None, 8, 8, 384) 442368 activation_91[0][0]
____________________________________________________________________________________________________
conv2d_93 (Conv2D) (None, 8, 8, 384) 442368 activation_91[0][0]
____________________________________________________________________________________________________
average_pooling2d_9 (AveragePool (None, 8, 8, 2048) 0 mixed9[0][0]
____________________________________________________________________________________________________
conv2d_86 (Conv2D) (None, 8, 8, 320) 655360 mixed9[0][0]
____________________________________________________________________________________________________
batch_normalization_88 (BatchNor (None, 8, 8, 384) 1152 conv2d_88[0][0]
____________________________________________________________________________________________________
batch_normalization_89 (BatchNor (None, 8, 8, 384) 1152 conv2d_89[0][0]
____________________________________________________________________________________________________
batch_normalization_92 (BatchNor (None, 8, 8, 384) 1152 conv2d_92[0][0]
____________________________________________________________________________________________________
batch_normalization_93 (BatchNor (None, 8, 8, 384) 1152 conv2d_93[0][0]
____________________________________________________________________________________________________
conv2d_94 (Conv2D) (None, 8, 8, 192) 393216 average_pooling2d_9[0][0]
____________________________________________________________________________________________________
batch_normalization_86 (BatchNor (None, 8, 8, 320) 960 conv2d_86[0][0]
____________________________________________________________________________________________________
activation_88 (Activation) (None, 8, 8, 384) 0 batch_normalization_88[0][0]
____________________________________________________________________________________________________
activation_89 (Activation) (None, 8, 8, 384) 0 batch_normalization_89[0][0]
____________________________________________________________________________________________________
activation_92 (Activation) (None, 8, 8, 384) 0 batch_normalization_92[0][0]
____________________________________________________________________________________________________
activation_93 (Activation) (None, 8, 8, 384) 0 batch_normalization_93[0][0]
____________________________________________________________________________________________________
batch_normalization_94 (BatchNor (None, 8, 8, 192) 576 conv2d_94[0][0]
____________________________________________________________________________________________________
activation_86 (Activation) (None, 8, 8, 320) 0 batch_normalization_86[0][0]
____________________________________________________________________________________________________
mixed9_1 (Concatenate) (None, 8, 8, 768) 0 activation_88[0][0]
activation_89[0][0]
____________________________________________________________________________________________________
concatenate_2 (Concatenate) (None, 8, 8, 768) 0 activation_92[0][0]
activation_93[0][0]
____________________________________________________________________________________________________
activation_94 (Activation) (None, 8, 8, 192) 0 batch_normalization_94[0][0]
____________________________________________________________________________________________________
mixed10 (Concatenate) (None, 8, 8, 2048) 0 activation_86[0][0]
mixed9_1[0][0]
concatenate_2[0][0]
activation_94[0][0]
____________________________________________________________________________________________________
avg_pool (GlobalAveragePooling2D (None, 2048) 0 mixed10[0][0]
____________________________________________________________________________________________________
dense_1 (Dense) (None, 32) 65568 avg_pool[0][0]
____________________________________________________________________________________________________
dropout_1 (Dropout) (None, 32) 0 dense_1[0][0]
____________________________________________________________________________________________________
predictions (Dense) (None, 2) 66 dropout_1[0][0]
====================================================================================================
Total params: 21,868,418
Trainable params: 21,833,986
Non-trainable params: 34,432
____________________________________________________________________________________________________
None
Trainable weights
[<tf.Variable 'conv2d_1/kernel:0' shape=(3, 3, 3, 32) dtype=float32_ref>, <tf.Variable 'batch_normalization_1/beta:0' shape=(32,) dtype=float32_ref>, <tf.Variable 'conv2d_2/kernel:0' shape=(3, 3, 32, 32) dtype=float32_ref>, <tf.Variable 'batch_normalization_2/beta:0' shape=(32,) dtype=float32_ref>, <tf.Variable 'conv2d_3/kernel:0' shape=(3, 3, 32, 64) dtype=float32_ref>, <tf.Variable 'batch_normalization_3/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'conv2d_4/kernel:0' shape=(1, 1, 64, 80) dtype=float32_ref>, <tf.Variable 'batch_normalization_4/beta:0' shape=(80,) dtype=float32_ref>, <tf.Variable 'conv2d_5/kernel:0' shape=(3, 3, 80, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_5/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_9/kernel:0' shape=(1, 1, 192, 64) dtype=float32_ref>, <tf.Variable 'batch_normalization_9/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'conv2d_7/kernel:0' shape=(1, 1, 192, 48) dtype=float32_ref>, <tf.Variable 'conv2d_10/kernel:0' shape=(3, 3, 64, 96) dtype=float32_ref>, <tf.Variable 'batch_normalization_7/beta:0' shape=(48,) dtype=float32_ref>, <tf.Variable 'batch_normalization_10/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'conv2d_6/kernel:0' shape=(1, 1, 192, 64) dtype=float32_ref>, <tf.Variable 'conv2d_8/kernel:0' shape=(5, 5, 48, 64) dtype=float32_ref>, <tf.Variable 'conv2d_11/kernel:0' shape=(3, 3, 96, 96) dtype=float32_ref>, <tf.Variable 'conv2d_12/kernel:0' shape=(1, 1, 192, 32) dtype=float32_ref>, <tf.Variable 'batch_normalization_6/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'batch_normalization_8/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'batch_normalization_11/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'batch_normalization_12/beta:0' shape=(32,) dtype=float32_ref>, <tf.Variable 'conv2d_16/kernel:0' shape=(1, 1, 256, 64) dtype=float32_ref>, <tf.Variable 'batch_normalization_16/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'conv2d_14/kernel:0' shape=(1, 1, 256, 48) dtype=float32_ref>, <tf.Variable 'conv2d_17/kernel:0' shape=(3, 3, 64, 96) dtype=float32_ref>, <tf.Variable 'batch_normalization_14/beta:0' shape=(48,) dtype=float32_ref>, <tf.Variable 'batch_normalization_17/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'conv2d_13/kernel:0' shape=(1, 1, 256, 64) dtype=float32_ref>, <tf.Variable 'conv2d_15/kernel:0' shape=(5, 5, 48, 64) dtype=float32_ref>, <tf.Variable 'conv2d_18/kernel:0' shape=(3, 3, 96, 96) dtype=float32_ref>, <tf.Variable 'conv2d_19/kernel:0' shape=(1, 1, 256, 64) dtype=float32_ref>, <tf.Variable 'batch_normalization_13/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'batch_normalization_15/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'batch_normalization_18/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'batch_normalization_19/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'conv2d_23/kernel:0' shape=(1, 1, 288, 64) dtype=float32_ref>, <tf.Variable 'batch_normalization_23/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'conv2d_21/kernel:0' shape=(1, 1, 288, 48) dtype=float32_ref>, <tf.Variable 'conv2d_24/kernel:0' shape=(3, 3, 64, 96) dtype=float32_ref>, <tf.Variable 'batch_normalization_21/beta:0' shape=(48,) dtype=float32_ref>, <tf.Variable 'batch_normalization_24/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'conv2d_20/kernel:0' shape=(1, 1, 288, 64) dtype=float32_ref>, <tf.Variable 'conv2d_22/kernel:0' shape=(5, 5, 48, 64) dtype=float32_ref>, <tf.Variable 'conv2d_25/kernel:0' shape=(3, 3, 96, 96) dtype=float32_ref>, <tf.Variable 'conv2d_26/kernel:0' shape=(1, 1, 288, 64) dtype=float32_ref>, <tf.Variable 'batch_normalization_20/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'batch_normalization_22/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'batch_normalization_25/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'batch_normalization_26/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'conv2d_28/kernel:0' shape=(1, 1, 288, 64) dtype=float32_ref>, <tf.Variable 'batch_normalization_28/beta:0' shape=(64,) dtype=float32_ref>, <tf.Variable 'conv2d_29/kernel:0' shape=(3, 3, 64, 96) dtype=float32_ref>, <tf.Variable 'batch_normalization_29/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'conv2d_27/kernel:0' shape=(3, 3, 288, 384) dtype=float32_ref>, <tf.Variable 'conv2d_30/kernel:0' shape=(3, 3, 96, 96) dtype=float32_ref>, <tf.Variable 'batch_normalization_27/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_30/beta:0' shape=(96,) dtype=float32_ref>, <tf.Variable 'conv2d_35/kernel:0' shape=(1, 1, 768, 128) dtype=float32_ref>, <tf.Variable 'batch_normalization_35/beta:0' shape=(128,) dtype=float32_ref>, <tf.Variable 'conv2d_36/kernel:0' shape=(7, 1, 128, 128) dtype=float32_ref>, <tf.Variable 'batch_normalization_36/beta:0' shape=(128,) dtype=float32_ref>, <tf.Variable 'conv2d_32/kernel:0' shape=(1, 1, 768, 128) dtype=float32_ref>, <tf.Variable 'conv2d_37/kernel:0' shape=(1, 7, 128, 128) dtype=float32_ref>, <tf.Variable 'batch_normalization_32/beta:0' shape=(128,) dtype=float32_ref>, <tf.Variable 'batch_normalization_37/beta:0' shape=(128,) dtype=float32_ref>, <tf.Variable 'conv2d_33/kernel:0' shape=(1, 7, 128, 128) dtype=float32_ref>, <tf.Variable 'conv2d_38/kernel:0' shape=(7, 1, 128, 128) dtype=float32_ref>, <tf.Variable 'batch_normalization_33/beta:0' shape=(128,) dtype=float32_ref>, <tf.Variable 'batch_normalization_38/beta:0' shape=(128,) dtype=float32_ref>, <tf.Variable 'conv2d_31/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'conv2d_34/kernel:0' shape=(7, 1, 128, 192) dtype=float32_ref>, <tf.Variable 'conv2d_39/kernel:0' shape=(1, 7, 128, 192) dtype=float32_ref>, <tf.Variable 'conv2d_40/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_31/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_34/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_39/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_40/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_45/kernel:0' shape=(1, 1, 768, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_45/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_46/kernel:0' shape=(7, 1, 160, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_46/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_42/kernel:0' shape=(1, 1, 768, 160) dtype=float32_ref>, <tf.Variable 'conv2d_47/kernel:0' shape=(1, 7, 160, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_42/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'batch_normalization_47/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_43/kernel:0' shape=(1, 7, 160, 160) dtype=float32_ref>, <tf.Variable 'conv2d_48/kernel:0' shape=(7, 1, 160, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_43/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'batch_normalization_48/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_41/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'conv2d_44/kernel:0' shape=(7, 1, 160, 192) dtype=float32_ref>, <tf.Variable 'conv2d_49/kernel:0' shape=(1, 7, 160, 192) dtype=float32_ref>, <tf.Variable 'conv2d_50/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_41/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_44/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_49/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_50/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_55/kernel:0' shape=(1, 1, 768, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_55/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_56/kernel:0' shape=(7, 1, 160, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_56/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_52/kernel:0' shape=(1, 1, 768, 160) dtype=float32_ref>, <tf.Variable 'conv2d_57/kernel:0' shape=(1, 7, 160, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_52/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'batch_normalization_57/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_53/kernel:0' shape=(1, 7, 160, 160) dtype=float32_ref>, <tf.Variable 'conv2d_58/kernel:0' shape=(7, 1, 160, 160) dtype=float32_ref>, <tf.Variable 'batch_normalization_53/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'batch_normalization_58/beta:0' shape=(160,) dtype=float32_ref>, <tf.Variable 'conv2d_51/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'conv2d_54/kernel:0' shape=(7, 1, 160, 192) dtype=float32_ref>, <tf.Variable 'conv2d_59/kernel:0' shape=(1, 7, 160, 192) dtype=float32_ref>, <tf.Variable 'conv2d_60/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_51/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_54/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_59/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_60/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_65/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_65/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_66/kernel:0' shape=(7, 1, 192, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_66/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_62/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'conv2d_67/kernel:0' shape=(1, 7, 192, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_62/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_67/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_63/kernel:0' shape=(1, 7, 192, 192) dtype=float32_ref>, <tf.Variable 'conv2d_68/kernel:0' shape=(7, 1, 192, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_63/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_68/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_61/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'conv2d_64/kernel:0' shape=(7, 1, 192, 192) dtype=float32_ref>, <tf.Variable 'conv2d_69/kernel:0' shape=(1, 7, 192, 192) dtype=float32_ref>, <tf.Variable 'conv2d_70/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_61/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_64/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_69/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_70/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_73/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_73/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_74/kernel:0' shape=(1, 7, 192, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_74/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_71/kernel:0' shape=(1, 1, 768, 192) dtype=float32_ref>, <tf.Variable 'conv2d_75/kernel:0' shape=(7, 1, 192, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_71/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'batch_normalization_75/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_72/kernel:0' shape=(3, 3, 192, 320) dtype=float32_ref>, <tf.Variable 'conv2d_76/kernel:0' shape=(3, 3, 192, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_72/beta:0' shape=(320,) dtype=float32_ref>, <tf.Variable 'batch_normalization_76/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_81/kernel:0' shape=(1, 1, 1280, 448) dtype=float32_ref>, <tf.Variable 'batch_normalization_81/beta:0' shape=(448,) dtype=float32_ref>, <tf.Variable 'conv2d_78/kernel:0' shape=(1, 1, 1280, 384) dtype=float32_ref>, <tf.Variable 'conv2d_82/kernel:0' shape=(3, 3, 448, 384) dtype=float32_ref>, <tf.Variable 'batch_normalization_78/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_82/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'conv2d_79/kernel:0' shape=(1, 3, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_80/kernel:0' shape=(3, 1, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_83/kernel:0' shape=(1, 3, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_84/kernel:0' shape=(3, 1, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_77/kernel:0' shape=(1, 1, 1280, 320) dtype=float32_ref>, <tf.Variable 'batch_normalization_79/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_80/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_83/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_84/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'conv2d_85/kernel:0' shape=(1, 1, 1280, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_77/beta:0' shape=(320,) dtype=float32_ref>, <tf.Variable 'batch_normalization_85/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'conv2d_90/kernel:0' shape=(1, 1, 2048, 448) dtype=float32_ref>, <tf.Variable 'batch_normalization_90/beta:0' shape=(448,) dtype=float32_ref>, <tf.Variable 'conv2d_87/kernel:0' shape=(1, 1, 2048, 384) dtype=float32_ref>, <tf.Variable 'conv2d_91/kernel:0' shape=(3, 3, 448, 384) dtype=float32_ref>, <tf.Variable 'batch_normalization_87/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_91/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'conv2d_88/kernel:0' shape=(1, 3, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_89/kernel:0' shape=(3, 1, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_92/kernel:0' shape=(1, 3, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_93/kernel:0' shape=(3, 1, 384, 384) dtype=float32_ref>, <tf.Variable 'conv2d_86/kernel:0' shape=(1, 1, 2048, 320) dtype=float32_ref>, <tf.Variable 'batch_normalization_88/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_89/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_92/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'batch_normalization_93/beta:0' shape=(384,) dtype=float32_ref>, <tf.Variable 'conv2d_94/kernel:0' shape=(1, 1, 2048, 192) dtype=float32_ref>, <tf.Variable 'batch_normalization_86/beta:0' shape=(320,) dtype=float32_ref>, <tf.Variable 'batch_normalization_94/beta:0' shape=(192,) dtype=float32_ref>, <tf.Variable 'dense_1/kernel:0' shape=(2048, 32) dtype=float32_ref>, <tf.Variable 'dense_1/bias:0' shape=(32,) dtype=float32_ref>, <tf.Variable 'predictions_1/kernel:0' shape=(32, 2) dtype=float32_ref>, <tf.Variable 'predictions_1/bias:0' shape=(2,) dtype=float32_ref>]
In [7]:
# Data generators for feeding training/testing images to the model.
model.load_weights('catdog_pretrain.h5')
train_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
train_dir, # this is the target directory
target_size=IMSIZE, # all images will be resized to 299x299 Inception V3 input
batch_size=32,
class_mode='categorical')
test_datagen = ImageDataGenerator(rescale=1./255)
test_generator = test_datagen.flow_from_directory(
test_dir, # this is the target directory
target_size=IMSIZE, # all images will be resized to 299x299 Inception V3 input
batch_size=32,
class_mode='categorical')
model.fit_generator(
train_generator,
steps_per_epoch = 5,
epochs = 5000,
validation_data = test_generator,
verbose = 2,
validation_steps = 1)
model.save_weights('catdog_pretrain.h5') # always save your weights after training or during training
# img_path = '../data/sport3/validation/hockey/img_2997.jpg'
# img = image.load_img(img_path, target_size=IMSIZE)
# x = image.img_to_array(img)
# x = np.expand_dims(x, axis=0)
# x = inception.preprocess_input(x)
# preds = model.predict(x)
# print('Predicted:', preds)
Found 20000 images belonging to 2 classes.
Found 5000 images belonging to 2 classes.
Epoch 1/5
5s - loss: 0.1886 - acc: 0.9375 - val_loss: 0.0826 - val_acc: 0.9688
Epoch 2/5
5s - loss: 0.2309 - acc: 0.8937 - val_loss: 0.0888 - val_acc: 0.9688
Epoch 3/5
5s - loss: 0.2073 - acc: 0.9437 - val_loss: 0.1387 - val_acc: 0.9375
Epoch 4/5
5s - loss: 0.1345 - acc: 0.9500 - val_loss: 0.0397 - val_acc: 1.0000
Epoch 5/5
5s - loss: 0.0970 - acc: 0.9813 - val_loss: 0.0983 - val_acc: 0.9688
In [ ]:
model.load_weights('catdog_pretrain.h5')
img_path = '../data/dog1.jpg'
img = image.load_img(img_path, target_size=IMSIZE)
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = inception.preprocess_input(x)
preds = model.predict(x)
print('Predicted:', preds)
Content source: MockyJoke/numbers
Similar notebooks: