Deep Learning Code Generation Fundamentals
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 from MATLAB 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 a
SeriesNetwork
,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)