Main Content

vgg19

VGG-19 convolutional neural network

  • VGG-19 network architecture

Description

VGG-19 is a convolutional neural network that is 19 layers deep. You can load a pretrained version of the network trained on more than a million images from the ImageNet database[1]. The pretrained network can classify images into 1000 object categories, such as keyboard, mouse, pencil, and many animals. As a result, the network has learned rich feature representations for a wide range of images. The network has an image input size of 224-by-224. For more pretrained networks in MATLAB®, seePretrained Deep Neural Networks.

You can useclassifyto classify new images using the VGG-19 network. Follow the steps ofClassify Image Using GoogLeNetand replace GoogLeNet with VGG-19.

To retrain the network on a new classification task, follow the steps ofTrain Deep Learning Network to Classify New Imagesand load VGG-19 instead of GoogLeNet.

example

net= vgg19returns a VGG-19 network trained on the ImageNet data set.

This function requires Deep Learning Toolbox™ Modelfor VGG-19 Networksupport package. If this support package is not installed, then the function provides a download link.

net= vgg19('Weights','imagenet')returns a VGG-19 network trained on the ImageNet data set. This syntax is equivalent tonet = vgg19.

layers= vgg19('Weights','none')returns the untrained VGG-19 network architecture. The untrained model does not require the support package.

Examples

collapse all

This example shows how to download and install Deep Learning Toolbox Modelfor VGG-19 Networksupport package.

Typevgg19at the command line.

vgg19

If Deep Learning Toolbox Modelfor VGG-19 Networksupport package is not installed, then the function provides a link to the required support package in the Add-On Explorer. To install the support package, click the link, and then clickInstall. Check that the installation is successful by typingvgg19at the command line.

vgg19
ans = SeriesNetwork with properties: Layers: [47×1 nnet.cnn.layer.Layer]

Visualize the network using Deep Network Designer.

deepNetworkDesigner(vgg19)

Explore other pretrained networks in Deep Network Designer by clickingNew.

Deep Network Designer start page showing available pretrained networks

If you need to download a network, pause on the desired network and clickInstallto open the Add-On Explorer.

Load a pretrained VGG-19 convolutional neural network and examine the layers and classes.

Usevgg19to load a pretrained VGG-19 network. The outputnetis aSeriesNetworkobject.

net = vgg19
net = SeriesNetwork with properties: Layers: [47×1 nnet.cnn.layer.Layer]

View the network architecture using theLayers财产。网络有47层。有19个layers with learnable weights: 16 convolutional layers, and 3 fully connected layers.

net.Layers
ans = 47x1层阵列,带有图层:1'输入'图像输入224x224x3图像,带有“ zerecenter”标准化2'conv1_1'卷积64 3x3x3卷积,步幅[1 1]和填充[1 1 1 1 1 1 1] 3'relu1_1'relu1_1'relu relu 4 relu relu 4'conv1_2'卷积64 3x3x64大步卷积[1 1]和填充[1 1 1 1] 5'relu1_2'relu 6'pool 6'pool 1'最大ploming 2x2 max poling 2x2 max poling ting stries [2 2]和填充[0 0 0 0 0 0]7'CORV2_1'卷积128 3x3x64大步[1 1]和填充[1 1 1 1] 8'RERU2_1'relu 9'Conv2_2'卷积128 3x3x128速降[1 1]和填充[1 1 1 1 1]10'relu2_2'relu relu 11'pool2'最大池2x2 max plies [2 2]和填充[2 2]和填充[0 0 0 0] 12'conv3_1'卷积256 3x3x128卷积,步幅[1 1]和填充[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] 13'relu3_1'relu relu 14'conv3_2'卷积256 3x3x256跨步幅[1 1]和填充[1 1 1 1] 15'relu3_2'relu3_2'relu 16'Conv3_3'Conv3_3'卷积256 3x3x256跨步幅[1 1]和步伐[1]和[1]和填充[1 1 1 1] 17'relu3_3'relu Relu 18'Conv3_4'卷积256 3x3x256步幅[1 1]和填充[1 1 1 1] 19'relu3_4'relu3_4'relu 20'relu 20'pool 20'pool 3 pool 3 pool 3 pool3 pool 3'最大池2x2最大池振步行[2 2]和填充[0 0 0] 21'CORV4_1'卷积512 3X3X256卷积卷积[1 1]和填充[1 1 1 1 1 1 1 1] 22'relu4_1'relu Relu 23'conv4_2'conv4_2'卷积512 3x3x512卷积步伐[1 1]和填充[1 1 1] 24'RERU4_2'RERU RELU RELU 25'CORV4_3'卷积512 3X3X512卷积卷积[1 1]和填充[1 1 1 1 1] 26'relu4_3'relu Relu 27'relu Relu 27'''conv4_4'卷积512 3x3x512大步卷积[1 1]和填充[1 1 1 1] 28'relu4_4'relu relu 29'pool 4 pool4 pool4'最大pl pliming 2x2 max plies plies in tiride [2 2]和填充[0 0 0 0 0] 30 30'conv5_1'卷积512 3x3x512大步卷积[1 1]和填充[1 1 1 1] 31'relu5_1'relu Relu 32'conv5_2'卷积512 3x3x512卷积与步幅[1 1]和填充[1 1 1] 33 'relu5_2' ReLU ReLU 34 'conv5_3' Convolution 512 3x3x512 convolutions with stride [1 1] and padding [1 1 1 1] 35 'relu5_3' ReLU ReLU 36 'conv5_4' Convolution 512 3x3x512 convolutions with stride [1 1] and padding [1 1 1 1] 37 'relu5_4' ReLU ReLU 38 'pool5' Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0] 39 'fc6' Fully Connected 4096 fully connected layer 40 'relu6' ReLU ReLU 41 'drop6' Dropout 50% dropout 42 'fc7' Fully Connected 4096 fully connected layer 43 'relu7' ReLU ReLU 44 'drop7' Dropout 50% dropout 45 'fc8' Fully Connected 1000 fully connected layer 46 'prob' Softmax softmax 47 'output' Classification Output crossentropyex with 'tench' and 999 other classes

To view the names of the classes learned by the network, you can view theClassesproperty of the classification output layer (the final layer). View the first 10 classes by specifying the first 10 elements.

net.Layers(end).Classes(1:10)
ans =10×1 categorical arraytench goldfish great white shark tiger shark hammerhead electric ray stingray cock hen ostrich

Output Arguments

collapse all

Pretrained VGG-19 convolutional neural network returned as aSeriesNetworkobject.

Untrained VGG-19 convolutional neural network architecture, returned as aLayerarray.

References

[1]ImageNet. http://www.image-net.org

[2] Russakovsky, O., Deng, J., Su, H., et al. “ImageNet Large Scale Visual Recognition Challenge.”International Journal of Computer Vision (IJCV). Vol 115, Issue 3, 2015, pp. 211–252

[3] Simonyan, Karen, and Andrew Zisserman. "Very deep convolutional networks for large-scale image recognition." arXiv preprint arXiv:1409.1556 (2014).

[4]Very Deep Convolutional Networks for Large-Scale Visual Recognitionhttp://www.robots.ox.ac.uk/~vgg/research/very_deep/

Extended Capabilities

Version History

Introduced in R2017a