Main Content

Deep Learning with MATLAB Coder

Generate C++ code for deep learning neural networks (requires Deep Learning Toolbox™)

Deep learning is a branch of machine learning that teaches computers to do what comes naturally to humans: learn from experience. The learning algorithms use computational methods to “learn” information directly from data without relying on a predetermined equation as a model. Deep learning uses convolutional neural networks (CNNs) to learn useful representations of data directly from images.

You can use MATLAB® Coder™ with Deep Learning Toolbox to generate C++ code from a trained CNN. You can deploy the generated code to an embedded platform that uses an Intel® or ARM® processor. You can also generate generic C or C++ code from a trained CNN that does not depend on any third-party libraries.

Deep Learning with MATLAB Coder is not supported in MATLAB Online™.

Functions

codegenGenerate C/C++ code from MATLAB code
coder.loadDeepLearningNetworkLoad deep learning network model
coder.DeepLearningConfigCreate deep learning code generation configuration objects
coder.ARMNEONConfigParameters to configure deep learning code generation with the ARM Compute Library
coder.MklDNNConfigParameters to configure deep learning code generation with the Intel Math Kernel Library for Deep Neural Networks
coder.getDeepLearningLayersGet the list of layers supported for code generation for a specific deep learning library
coder.regenerateDeepLearningParametersRegenerate files containing network learnables and states parameters

Topics

Prerequisites for Deep Learning with MATLAB Coder

Install products and configure environment for code generation for deep learning networks.

Workflow for Deep Learning Code Generation with MATLAB Coder

Generate code for prediction from a pretrained network.

Networks and Layers Supported for Code Generation

Choose a convolutional neural network that is supported for your target processor.

Code Generation for dlarray

Use deep learning arrays in MATLAB code intended for code generation.

dlarray Limitations for Code Generation

Adhere to code generation limitations for deep learning arrays.

Load Pretrained Networks for Code Generation

Create a SeriesNetwork, DAGNetwork, yolov2ObjectDetector, ssdObjectDetector, or dlnetwork object for code generation.

Generate Generic C/C++ Code for Deep Learning Networks

Generate C/C++ code for prediction from a deep learning network that does not depend on any third-party libraries.

Code Generation for Deep Learning Networks with MKL-DNN

Generate C++ code for prediction from a deep learning network, targeting an Intel CPU.

Code Generation for Deep Learning Networks with ARM Compute Library

Generate C++ code for prediction from a deep learning network, targeting an ARM processor.

Cross-Compile Deep Learning Code That Uses ARM Compute Library

Generate library or executable code on host computer for deployment on ARM hardware target.

Code Generation for Quantized Deep Learning Networks

Quantize and generate code for a pretrained convolutional neural network.

Update Network Parameters After Code Generation

Perform post code generation updates of deep learning network parameters.

Related Information

Featured Examples