Deep Learning Toolbox

Create, analyze, and train deep learning networks

Deep Learning Toolbox™ (formerly Neural Network Toolbox™) provides a framework for designing and implementing deep neural networks with algorithms, pretrained models, and apps. You can use convolutional neural networks (ConvNets, CNNs) and long short-term memory (LSTM) networks to perform classification and regression on image, time-series, and text data. You can build advanced network architectures such as generative adversarial networks (GANs) and Siamese networks using custom training loops, shared weights, and automatic differentiation. Apps and plots help you visualize activations, edit and analyze network architectures, and monitor training progress.

You can exchange models with TensorFlow™ and PyTorch through the ONNX™ format and import models from TensorFlow-Keras and Caffe. The toolbox supports transfer learning with a library of pretrained models (including NASNet, SqueezeNet, Inception-v3, and ResNet-101).

You can speed up training on a single- or multiple-GPU workstation (with Parallel Computing Toolbox™), or scale up to clusters and clouds, including NVIDIA GPU Cloud DGX systems and Amazon EC2® GPU instances (with MATLAB® Parallel Server™).

Getting Started

Learn the basics of Deep Learning Toolbox

Deep Learning with Images

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

Deep Learning with Time Series, Sequences, and Text

Create and train networks for time series classification, regression, and forecasting tasks

Deep Learning Tuning and Visualization

Plot training progress, assess accuracy, make predictions, tune training options, and visualize features learned by a network

Deep Learning in Parallel and in the Cloud

Scale up deep learning with multiple GPUs locally or in the cloud and train multiple networks interactively or in batch jobs

Deep Learning Applications

Extend deep learning workflows with computer vision, image processing, automated driving, signals, and audio

Deep Learning Import, Export, and Customization

Import, export, and customize deep learning networks, and customize layers, training loops, and loss functions

Deep Learning Data Preprocessing

Manage and preprocess data for deep learning

Deep Learning Code Generation

Generate MATLAB code or CUDA® and C++ code and deploy deep learning networks

Function Approximation, Clustering, and Control

Perform regression, classification, clustering, and model nonlinear dynamic systems using shallow neural networks