VGG-19
Info#
Only one version of VGG-19 has been built
@article{DBLP:journals/corr/SimonyanZ14a,
author = {Karen Simonyan and
Andrew Zisserman},
title = {Very Deep Convolutional Networks for Large-Scale Image Recognition},
journal = {CoRR},
volume = {abs/1409.1556},
year = {2014},
url = {http://arxiv.org/abs/1409.1556},
timestamp = {Wed, 01 Oct 2014 15:00:05 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/SimonyanZ14a},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
Keras Model Visulisation#
VGG-19
Keras Model Builds#
# Layer Cluster - 1
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(img_input)
x = Convolution2D(64, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(64, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = MaxPooling2D((2, 2), strides=(2, 2))(x)
# Layer Cluster - 2
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(128, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(128, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = MaxPooling2D((2, 2), strides=(2, 2))(x)
# Layer Cluster - 3
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(256, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(256, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(256, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(256, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = MaxPooling2D((2, 2), strides=(2, 2))(x)
# Layer Cluster - 4
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(512, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(512, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(512, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = ZeroPadding2D(padding=(1, 1), dim_ordering=DIM_ORDERING)(x)
x = Convolution2D(512, 3, 3,
activation='relu',
border_mode='same',
dim_ordering=DIM_ORDERING)(x)
x = MaxPooling2D((2, 2), strides=(2, 2))(x)
# Layer Cluster - 5 - Output Layer
x = Flatten()(x)
x = Dense(4096, activation='relu')(x)
x = Dropout(0.5)(x)
x = Dense(4096, activation='relu')(x)
x = Dropout(0.5)(x)
x = Dense(1000, activation='softmax')(x)