Quantization Workflow Prerequisites - MATLAB & Simulink (original) (raw)
Main Content
This page describes the products required to quantize, simulate, and deploy deep learning networks using Deep Learning Toolbox Model Compression Library. The prerequisites required depend on your selections at each stage of the quantization workflow.
Prerequisites for All Quantization Workflows
The following requirements apply to all stages of the quantization workflow.
- Deep Learning Toolbox™
- Deep Learning Toolbox Model Compression Library
Supported Networks and Layers
The target hardware associated with each execution environment determines the supported networks and layers for that environment. For a list of supported layers, seeSupported Layers for Quantization.
Prerequisites for Calibration
The prerequisites for calibration depend on your selection of calibration environment.
- Calibrate on host GPU —
- Parallel Computing Toolbox™
- GPU Coder™ Interface for Deep Learning
- CUDA® enabled NVIDIA® GPU with compute capability 3.5 or higher.
- Supported C/C++ Compiler
* On Windows®, theMinGW C/C++
compiler is not supported. UseMicrosoft Visual C++ 2022
,Microsoft Visual C++ 2019
, orMicrosoft Visual C++ 2017
.
* On Linux®, use a GCC C/C++ compiler.
For a list of supported compilers, see Supported and Compatible Compilers.
- Calibrate on host CPU —
- MATLAB® Coder™ Interface for Deep Learning or GPU Coder Interface for Deep Learning
Prerequisites for Quantization
The following are required to quantize your network for simulation in MATLAB using the quantize
function or the option in the Deep Network Quantizer app.
- When you use the MATLAB Execution Environment, a Fixed-Point Designer™ license is required for quantization.
- When you use the CPU Execution Environment, the quantization step is not supported.
- When you use any other Execution Environment for quantization, no additional prerequisites are required.
Prerequisites for Validation
The following are required to validate your quantized network for deployment using thevalidate
function or the Validate button in the Deep Network Quantizer app.
Execution Environment | Prerequisites for Validation |
---|---|
GPU | Parallel Computing ToolboxGPU Coder Interface for Deep LearningCUDA enabled NVIDIA GPU with compute capability 6.1, 6.3 or higher. Setting Up the Prerequisite Products (GPU Coder) |
FPGA | Deep Learning HDL Toolbox™Deep Learning HDL Toolbox Support Package for AMD FPGA and SoC DevicesDeep Learning HDL Toolbox Support Package for Intel® FPGA and SoC Deviceshdlsetuptoolpath (HDL Coder) |
CPU | MATLAB Coder Interface for Deep LearningMATLAB CoderEmbedded Coder®ARM Compute Library. For more information, see Prerequisites for Deep Learning with MATLAB Coder (MATLAB Coder) |
MATLAB | Fixed-Point Designer |
For CPU and GPU deployment, the software generates code for a deep neural network by quantizing the weights, biases, and activations of the convolution layers to 8-bit scaled integer data types. The quantization is performed by providing the calibration result file produced by the calibrate function to the codegen (MATLAB Coder) command.
Code generation does not support quantized deep neural networks produced by thequantize function.
Validation on target hardware for CPU, FPGA, and GPU execution environments is not supported in MATLAB Online™. For FPGA and GPU execution environments, validation can be performed through emulation on the MATLAB Online host. GPU validation can also be performed if GPU support has been added to your MATLAB Online Server™ cluster. For more information on GPU support for MATLAB Online, see Configure GPU Support in MATLAB Online Server (MATLAB Online Server).