Supported Layers for C Code Generation of Quantized Networks
R2026bThe layers in a quantized neural network that are supported for C code generation depend on the choice of code generation workflow.
To generate C code for a quantized network, use one of these approaches.
Generate C code in MATLAB® with the
codegen(MATLAB Coder) function from MATLAB Coder™. For an example of this workflow, see Generate C Code from Quantized Networks in MATLAB. For more details about support for neural networks for this workflow, see Networks and Layers Supported for Code Generation (MATLAB Coder).Generate C code in Simulink® from Deep Learning Network blocks with Embedded Coder® or Simulink Coder. For an example of this workflow, see Generate C Code for Quantized Networks with Simulink Network Blocks. For more details about support for neural networks for this workflow, see Networks and Layers Supported for Code Generation (MATLAB Coder).
Generate C code in Simulink from Deep Learning Layers blocks with Embedded Coder or Simulink Coder. For an example of this workflow, see Export Quantized Networks to Simulink and Generate Code. For more details about support for neural networks for this workflow, see List of Deep Learning Layer Blocks and Subsystems.
Input Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
imageInputLayer | ||
sequenceInputLayer | ||
featureInputLayer |
Convolution and Fully Connected Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
convolution1dLayer | ||
convolution2dLayer | ||
groupedConvolution2dLayer | ||
fullyConnectedLayer |
Recurrent Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
lstmLayer | ||
gruLayer | ||
lstmProjectedLayer | ||
gruProjectedLayer |
Activation Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
reluLayer | ||
leakyReluLayer | ||
preluLayer | ||
clippedReluLayer | ||
tanhLayer | ||
softmaxLayer | ||
sigmoidLayer |
Normalization Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
batchNormalizationLayer |
Utility Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
dropoutLayer | ||
spatialDropoutLayer | ||
flattenLayer | ||
scalingLayer | ||
identityLayer | ||
reshapeLayer | ||
permuteLayer | ||
sliceLayer | ||
formatLayer | ||
depthToSpace2dLayer (Image Processing Toolbox) | ||
spaceToDepthLayer (Image Processing Toolbox) |
Note
The identityLayer, dropoutLayer, and spatialDropoutLayer layers can be quantized if you use the prepareNetwork function during the quantization workflow. For more
information, see Considerations for Supported Layers for Quantization.
Pooling Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
averagePooling1dLayer | ||
averagePooling2dLayer | ||
globalAveragePooling1dLayer | ||
globalAveragePooling2dLayer | ||
globalMaxPooling1dLayer | ||
globalMaxPooling2dLayer | ||
maxPooling1dLayer | ||
maxPooling2dLayer |
Combination Layers
| Layer | codegen and Deep Learning Network Blocks
Workflows | Deep Learning Layers Blocks Workflow |
|---|---|---|
additionLayer | ||
multiplicationLayer | ||
concatenationLayer | ||
depthConcatenationLayer |
See Also
dlquantizer | Deep Network
Quantizer