Pretrained NASNet-Large convolutional neural network

NASNet-Large is a convolutional neural network that is trained on more than a million images from the ImageNet database [1]. The 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 331-by-331. For more pretrained networks in MATLAB®, see Pretrained Deep Neural Networks.

You can use classify to classify new images using the NASNet-Large model. Follow the steps of Classify Image Using GoogLeNet and replace GoogLeNet with NASNet-Large.

To retrain the network on a new classification task, follow the steps of Train Deep Learning Network to Classify New Images and load NASNet-Large instead of GoogLeNet.

NASNet-Large requires Computer Vision Toolbox™.


net = nasnetlarge



net = nasnetlarge returns a pretrained NASNet-Large convolutional neural network.

This function requires the Deep Learning Toolbox™ Model for NASNet-Large Network support package.


collapse all

Download and install the Deep Learning Toolbox Model for NASNet-Large Network support package.

Open the Add-On Explorer in MATLAB and search for NASNet-Large. Select the Deep Learning Toolbox Model for NASNet-Large Network support package. Download and install the support package by clicking Install. You can also download the network from MathWorks Deep Learning Toolbox Team.

Check that the installation is successful by typing nasnetlarge at the command line. If the required support package is installed, then the function returns a DAGNetwork object.

ans = 

  DAGNetwork with properties:

         Layers: [1244×1 nnet.cnn.layer.Layer]
    Connections: [1463×2 table]

You can use transfer learning to retrain the network to classify a new set of images.

Open the example Train Deep Learning Network to Classify New Images. The original example uses the GoogLeNet pretrained network. To perform transfer learning using a different network, load your desired pretrained network and follow the steps in the example.

Load the NASNet-Large network instead of GoogLeNet.

net = nasnetlarge

Follow the remaining steps in the example to retrain your network. You must replace the last learnable layer and the classification layer in your network with new layers for training. The example shows you how to find which layers to replace.

Output Arguments

collapse all

Pretrained NASNet-Large convolutional neural network, returned as a DAGNetwork object.


[1] ImageNet.

[2] Zoph, Barret, Vijay Vasudevan, Jonathon Shlens, and Quoc V. Le. "Learning Transferable Architectures for Scalable Image Recognition ." arXiv preprint arXiv:1707.07012 2, no. 6 (2017).

Introduced in R2019a