Deep Learning Code Generation Fundamentals - MATLAB & Simulink (original) (raw)
Functions, objects, and workflows that you can use to generate code for deep learning networks
You can use MATLAB® Coder™ with Deep Learning Toolbox™ to generate C++ code from a trained CNN. You can then 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.
Functions
codegen | Generate C/C++ code fromMATLAB code |
---|---|
coder.loadDeepLearningNetwork | Load deep learning network model |
coder.DeepLearningConfig | Create deep learning code generation configuration objects |
coder.DeepLearningCodeConfig | Parameters to configure deep learning code generation that does not depend on third-party libraries (Since R2021a) |
coder.ARMNEONConfig | Parameters to configure deep learning code generation with the ARM Compute Library |
coder.CMSISNNConfig | Parameters to configure deep learning code generation with the CMSIS-NN library for Cortex-M targets (Since R2022a) |
coder.MklDNNConfig | Parameters to configure deep learning code generation with the Intel Math Kernel Library for Deep Neural Networks |
analyzeNetworkForCodegen | Analyze deep learning network for code generation (Since R2022b) |
coder.regenerateDeepLearningParameters | Regenerate files containing network learnables and states parameters (Since R2021b) |
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. - Analyze Network for Code Generation
Check code generation compatibility of a deep learning network. - 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 aSeriesNetwork
,DAGNetwork
,yolov2ObjectDetector
,ssdObjectDetector
, ordlnetwork
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 third-party libraries. - Optimize C/C++ Code Performance for Deep Learning Applications without Deep Learning Libraries
Code generation configuration settings that optimize the performance of the generated C/C++ code for a deep learning network. - 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. - Generate int8 Code for Deep Learning Networks
Quantize and generate code for a pretrained convolutional neural network. - Generate bfloat16 Code for Deep Learning Networks
Perform learnables compression and generate C/C++ code in Brain Floating Point format, bfloat16. - Update Network Parameters After Code Generation
Perform post code generation updates of deep learning network parameters.
Related Information
- Get Started with Deep Learning Toolbox (Deep Learning Toolbox)
- Deep Learning with GPU Coder (GPU Coder)
Featured Examples
Generate Digit Images Using Variational Autoencoder on Intel CPUs
Generate code for a trained VAE dlnetwork to generate hand-drawn digits.
Cross Compile Deep Learning Code for ARM Neon Targets
Generate library or executable code on host computer for deployment on ARM hardware target.
Post-Code-Generation Update of Deep Learning Network Parameters
Incrementally update the network learnables of a deep learning network application running on edge devices such as Raspberry Pi. This example uses a cart-pole reinforcement learning application to illustrate: