Deep Learning 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 network architectures such as generative adversarial networks (GANs) and Siamese networks using automatic differentiation, custom training loops, and shared weights. With the Deep Network Designer app, you can design, analyze, and train networks graphically. The Experiment Manager app helps you manage multiple deep learning experiments, keep track of training parameters, analyze results, and compare code from different experiments. You can visualize layer activations and graphically 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 DarkNet-53, ResNet-50, NASNet, SqueezeNet and many other pretrained models.
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 and Amazon EC2® GPU instances (with MATLAB® Parallel Server™).
Learn the basics of Deep Learning Toolbox
Train convolutional neural networks from scratch or use pretrained networks to quickly learn new tasks
Create and train networks for time series classification, regression, and forecasting tasks
Interactively build and train networks, manage experiments, plot training progress, assess accuracy, explain predictions, tune training options, and visualize features learned by a network
Scale up deep learning with multiple GPUs locally or in the cloud and train multiple networks interactively or in batch jobs
Extend deep learning workflows with computer vision, image processing, automated driving, signals, audio, text analytics, and computational finance
Import, export, and customize deep learning networks, and customize layers, training loops, and loss functions
Manage and preprocess data for deep learning
Generate C/C++, CUDA®, or HDL code and deploy deep learning networks
Perform regression, classification, clustering, and model nonlinear dynamic systems using shallow neural networks