Main Content

Deep Learning with Images

Use pretrained networks to quickly learn new tasks or train convolutional neural networks from scratch

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 create models for new tasks without defining and training a new network, having millions of images, or having a powerful GPU. You can also create new deep networks for image classification and regression tasks by defining the network architecture and training the network from scratch.

You can train the network using the trainNetwork and trainingOptions function, or you can specify a custom training loop using dlnetwork objects or dlarray functions.

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 supported GPU device (for information on supported devices, see GPU Computing Requirements (Parallel Computing Toolbox)). Specify the execution environment using the trainingOptions function.