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 Network支持包。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 Network支持包。

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 theLayersproperty. The network has 47 layers. There are 19 layers with learnable weights: 16 convolutional layers, and 3 fully connected layers.

net.Layers
ans = 47 x1层与层:数组1输入图像放大e Input 224x224x3 images with 'zerocenter' normalization 2 'conv1_1' Convolution 64 3x3x3 convolutions with stride [1 1] and padding [1 1 1 1] 3 'relu1_1' ReLU ReLU 4 'conv1_2' Convolution 64 3x3x64 convolutions with stride [1 1] and padding [1 1 1 1] 5 'relu1_2' ReLU ReLU 6 'pool1' Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0] 7 'conv2_1' Convolution 128 3x3x64 convolutions with stride [1 1] and padding [1 1 1 1] 8 'relu2_1' ReLU ReLU 9 'conv2_2' Convolution 128 3x3x128 convolutions with stride [1 1] and padding [1 1 1 1] 10 'relu2_2' ReLU ReLU 11 'pool2' Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0] 12 'conv3_1' Convolution 256 3x3x128 convolutions with stride [1 1] and padding [1 1 1 1] 13 'relu3_1' ReLU ReLU 14 'conv3_2' Convolution 256 3x3x256 convolutions with stride [1 1] and padding [1 1 1 1] 15 'relu3_2' ReLU ReLU 16 'conv3_3' Convolution 256 3x3x256 convolutions with stride [1 1] and padding [1 1 1 1] 17 'relu3_3' ReLU ReLU 18 'conv3_4' Convolution 256 3x3x256 convolutions with stride [1 1] and padding [1 1 1 1] 19 'relu3_4' ReLU ReLU 20 'pool3' Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0] 21 'conv4_1' Convolution 512 3x3x256 convolutions with stride [1 1] and padding [1 1 1 1] 22 'relu4_1' ReLU ReLU 23 'conv4_2' Convolution 512 3x3x512 convolutions with stride [1 1] and padding [1 1 1 1] 24 'relu4_2' ReLU ReLU 25 'conv4_3' Convolution 512 3x3x512 convolutions with stride [1 1] and padding [1 1 1 1] 26 'relu4_3' ReLU ReLU 27 'conv4_4' Convolution 512 3x3x512 convolutions with stride [1 1] and padding [1 1 1 1] 28 'relu4_4' ReLU ReLU 29 'pool4' Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0] 30 'conv5_1' Convolution 512 3x3x512 convolutions with stride [1 1] and padding [1 1 1 1] 31 'relu5_1' ReLU ReLU 32 'conv5_2' Convolution 512 3x3x512 convolutions with stride [1 1] and padding [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

Baidu
map