Gabriel Ha, MathWorks
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 DarkNet53, 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™).
Deep Learning Toolbox provides algorithms and tools for creating, training, and analyzing deep networks. You can use deep learning with CNNs for image classification and deep learning with LSTM networks for time series and sequence data. Deep Learning Toolbox comes with numerous prebuilt examples you can leverage, including classifying moving objects in a scene and detecting facial features with regression. You can also build advanced network architectures like GANs and Siamese networks using custom training loops, shared weights, and automatic differentiation.
In 20a, we’re introducing Experiment Manager app to manage multiple deep learning experiments. You can keep track of training parameters, analyze results, and compare code from different experiments as well as use visualization tools such as training plots and confusion matrices to evaluate trained models. We’ve also updated the Deep Network Designer app for easy selection of existing pretrained models at the start for transfer learning workflows, or you can also design a network from scratch using the drag-and-drop interface that allows you to visualize the layers and connections and add learnable layer parameters. In 20a, after designing and analyzing your network, you can import your data, inspect your data, set training options like learning rate and number of epochs, and finally train the network you designed, all in the app itself. Finally, export your network to the workspace, or generate its corresponding MATLAB code so your colleagues can easily reproduce and refine your work.
You can create network architectures from scratch or by utilizing transfer learning with pretrained networks like ResNet and Inception. Deep Learning Toolbox supports interoperability with other frameworks including TensorFlow, PyTorch, and MXNet. You can also import networks and network architectures from TensorFlow-Keras and Caffe. And since Deep Learning Toolbox supports the ONNX model format, you can import models, leverage MATLAB for tasks like visualizing and optimizing your network, and then export your model for use in other deep learning frameworks.
You can speed up training on a single- or multiple-GPU workstation or scale to clusters and clouds, including NVIDIA GPU Cloud and Amazon EC2 GPU instances.
Deep Learning Toolbox can be used in conjunction with code generation tools, enabling you to deploy deep learning algorithms to targets like NVIDIA GPUs and Intel and ARM processors. This auto-generated code provides a significant performance boost in inference applications.
If you need a smaller footprint of your network you trained, you can also perform int8 quantization on the model and target NVIDIA GPUs for embedded deployment.
For more information about Deep Learning Toolbox, please check out the Deep Learning Toolbox product page, and don’t hesitate to contact us with any questions.