VGG19
Very Deep Convolutional Networks for Large-Scale Image Recognition (ICLR 2015)
In this work we investigate the effect of the convolutional network depth on its accuracy in the large-scale image recognition setting. Our main contribution is a thorough evaluation of networks of increasing depth using an architecture with very small ( 3 × 3) convolution filters, which shows that a significant improvement on the prior-art configurations can be achieved by pushing the depth to 16–19 weight layers. These findings were the basis of our ImageNet Challenge 2014 submission, where our team secured the first and the second places in the localisation and classification tracks respectively. We also show that our representations generalise well to other datasets, where they achieve state-of-the-art results. We have made our two best-performing ConvNet models publicly available to facilitate further research on the use of deep visual representations in computer vision.
Implementations
from keras.applications.vgg19 import VGG19
VGG19(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
VGG19 model, with weights pre-trained on ImageNet.
This model can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 224x224.
Arguments
- include_top: whether to include the 3 fully-connected layers at the top of the network.
- weights: one of
None
(random initialization) or'imagenet'
(pre-training on ImageNet). - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified if
include_top
isFalse
(otherwise the input shape has to be(224, 224, 3)
(with'channels_last'
data format) or(3, 224, 224)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g.(200, 200, 3)
would be one valid value. - pooling: Optional pooling mode for feature extraction when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional layer.'avg'
means that global average pooling will be applied to the output of the last convolutional layer, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
(@ keras.io ) https://keras.io/applications/#vgg19