Train convolutional neural networks from scratch or use pretrained
networks to quickly learn new tasks

Create new deep networks for image classification and regression tasks by defining the network architecture and training the network from scratch. You can also use transfer learning to take advantage of the knowledge provided by a pretrained network to learn new patterns in new data. Fine-tuning a pretrained image classification network with transfer learning is typically much faster and easier than training from scratch. Using pretrained deep networks enables you to quickly learn new tasks without defining and training a new network, having millions of images, or having a powerful GPU.

After defining the network architecture, you must define training
parameters using the `trainingOptions`

function. You
can then train the network using `trainNetwork`

. Use the trained
network to predict class labels or numeric responses.

You can train a convolutional neural network on a CPU, a GPU, multiple
CPUs or GPUs, or in parallel on a cluster or in the cloud. Training on a GPU
or in parallel requires Parallel
Computing Toolbox™. Using a GPU requires a CUDA^{®} enabled NVIDIA^{®} GPU with compute capability 3.0 or higher. Specify the
execution environment using the `trainingOptions`

function.

Deep Network Designer | Design, visualize, and train deep learning networks |

ConfusionMatrixChart Properties | Confusion matrix chart appearance and behavior |

**Classify Image Using GoogLeNet**

This example shows how to classify an image using the pretrained deep convolutional neural network GoogLeNet.

**Classify Webcam Images Using Deep Learning**

This example shows how to classify images from a webcam in real time using the pretrained deep convolutional neural network GoogLeNet.

**Transfer Learning with Deep Network Designer**

Interactively fine-tune a pretrained deep learning network to learn a new image classification task.

**Train Deep Learning Network to Classify New Images**

This example shows how to use transfer learning to retrain a convolutional neural network to classify a new set of images.

**Extract Image Features Using Pretrained Network**

This example shows how to extract learned image features from a pretrained convolutional neural network and use those features to train an image classifier.

**Transfer Learning Using AlexNet**

This example shows how to fine-tune a pretrained AlexNet convolutional neural network to perform classification on a new collection of images.

**Pretrained Deep Neural Networks**

Learn how to download and use pretrained convolutional neural networks for classification, transfer learning and feature extraction.

**Create Simple Deep Learning Network for Classification**

This example shows how to create and train a simple convolutional neural network for deep learning classification.

**Build Networks with Deep Network Designer**

Interactively build and edit deep learning networks.

**Train Convolutional Neural Network for Regression**

This example shows how to fit a regression model using convolutional neural networks to predict the angles of rotation of handwritten digits.

Discover all the deep learning layers in MATLAB^{®}.

**Specify Layers of Convolutional Neural Network**

Learn about the layers of a convolutional neural network (ConvNet), and the order they appear in a ConvNet.

**Generate MATLAB Code from Deep Network Designer**

Generate MATLAB code to recreate designing and training a network in Deep Network Designer.

**Train Residual Network for Image Classification**

This example shows how to create a deep learning neural network with residual connections and train it on CIFAR-10 data.

**Train Generative Adversarial Network (GAN)**

This example shows how to train a generative adversarial network (GAN) to generate images.

**Train Conditional Generative Adversarial Network (CGAN)**

This example shows how to train a conditional generative adversarial network (CGAN) to generate images.

**Image Captioning Using Attention**

This example shows how to train a deep learning model for image captioning using attention.

**Train Network Using Custom Training Loop**

This example shows how to train a network that classifies handwritten digits with a custom learning rate schedule.

**Train Network with Multiple Outputs**

This example shows how to train a deep learning network with multiple outputs that predict both labels and angles of rotations of handwritten digits.

**Train a Siamese Network to Compare Images**

This example shows how to train a Siamese network to identify similar images of handwritten characters.

Discover deep learning capabilities in MATLAB using convolutional neural networks for classification and regression, including pretrained networks and transfer learning, and training on GPUs, CPUs, clusters, and clouds.

**Set Up Parameters and Train Convolutional Neural Network**

Learn how to set up training parameters for a convolutional neural network.

**Preprocess Images for Deep Learning**

Learn how to resize images for training, prediction, and classification, and how to preprocess images using data augmentation, transformations, and specialized datastores.

**Preprocess Volumes for Deep Learning**

Read and preprocess volumetric image and label data for 3-D deep learning.

Learn how to use datastores in deep learning applications.

**Convert Classification Network into Regression Network**

This example shows how to convert a trained classification network into a regression network.

Learn how to improve the accuracy of deep learning networks.

Discover data sets for various deep learning tasks.