MathWorks’ MATLAB 2018b release serves up a number of new features, including the Deep Learning Toolbox that supports development of machine-learning applications. Other new features include the 5G Toolbox, NVIDIA Cloud, and DGX support plus Sensor Fusion and Tracking.
The Deep Learning Toolbox supports convolutional neural networks (CNNs) and long short-term memory (LSTM) networks for classification and regression on image, time-series, and text data. It alleviates MATLAB users from having to work with other machine-learning frameworks, although it can also import and export models to frameworks like PyTorch, MXNet, Caffe, and TensorFlow-Keras using the ONNIX, the open neural network exchange format.
Developers can take advantage of MATLAB’s deep-neural-network (DNN) support from MATLAB code (see codelist below). MATLAB Coder or GPU Coder can be used to generate C++ and CUDA code for deployment on Intel using MMKL-DNN, ARM using the ARM Compute Library, and NVIDIA Tegra platforms using NVIDIA’s numerous libraries.
im = snapshot(camera); % Take a picture
image(im); % Show the picture
im = imresize(im,[227 227]); % Resize the picture for alexnet
label = classify(net,im); % Classify the picture
title(char(label)); % Show the class label
Eight lines of MATLAB code are all that’s needed to take advantage of a classification network to identify images using an AlexNet model.
Coding is just part of the story, though. The Deep Network Designer (see figure) provides a way to use pretrained models including SqueezeNet, Inception-v3, ResNet-101, GoogLeNet, and VGG-19, as well as developing new models. It can be used in conjunction with the MATLAB Image Labeler application, where users can view and label images for semantic segmentation. Developers are able to create domain-specific workflows for ground-truth labeling information for images, videos, and audio clips.
The Deep Network Designer can be used to fine-tune pretrained deep-learning networks.
The toolbox can also be applied to train large datasets by taking advantage of distributed computation via multicore processors and GPUs on the desktop using the Parallel Computing Toolbox. Developers could take advantage of the cloud, too. The Deep Learning Toolbox supports Amazon EC2 P2, P3, and G3 GPU instances using the MATLAB Distributed Computing Server. The toolbox also supports Amazon AWS and Microsoft Azure.