Create Simple Image Classification Network Using Deep Network Designer
This example shows how to create and train a simple convolutional neural network for deep learning classification using Deep Network Designer. Convolutional neural networks are essential tools for deep learning and are especially suited for image recognition.
In this example, you:
Import image data.
Define the network architecture.
Specify training options.
Train the network.
Load Data
Load the digit sample data as an image datastore. The imageDatastore
function automatically labels the images based on folder names. The data set has 10 classes and each image in the data set is 28-by-28-by-1 pixels.
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
Open Deep Network Designer. Create a network, import and visualize data, and train the network using Deep Network Designer.
deepNetworkDesigner
To create a blank network, pause on Blank Network and click New.
To import the image datastore, select the Data tab and click Import Data > Import Image Classification Data. Select imds
as the data source. Set aside 30% of the training data to use as validation data. Randomly allocate observations to the training and validation sets by selecting Randomize.
Import the data by clicking Import.
Define Network Architecture
In the Designer pane, define the convolutional neural network architecture. Drag layers from the Layer Library and connect them. To quickly search for layers, use the Filter layers search box in the Layer Library pane. To edit the properties of a layer, click the layer and edit the values in the Properties pane.
Connect layers in this order:
imageInputLayer
with theInputSize
property set to28,28,1
convolution2dLayer
batchNormalizationLayer
reluLayer
fullyConnectedLayer
with theOutputSize
property set to10
softmaxLayer
classificationLayer
For more information about deep learning layers, see List of Deep Learning Layers.
Train Network
Specify the training options and train the network.
On the Training tab, click Training Options. For this example, set the maximum number of epochs to 5 and keep the other default settings. Set the training options by clicking OK. For more information about training options, see Set Up Parameters and Train Convolutional Neural Network.
Train the network by clicking Train.
The accuracy is the fraction of labels that the network predicts correctly. In this case, more than 97% of the predicted labels match the true labels of the validation set.
To export the trained network to the workspace, on the Training tab, click Export.
For next steps in deep learning, you can try using pretrained networks for other tasks. Solve new classification problems on your image data with transfer learning. For example, see Get Started with Transfer Learning. To learn more about pretrained networks, see Pretrained Deep Neural Networks.
See Also
trainingOptions
| Deep Network
Designer