Supported Networks, Layers, and Classes - MATLAB & Simulink (original) (raw)
GPU Coder™ supports code generation for series and directed acyclic graph (DAG) neural networks. This page provides a list of supported deep learning networks, layers and classes.
Note that the code generator represents characters in an 8-bit ASCII codeset that the locale setting determines. Therefore, the use of non-ASCII characters in class names, layer names, layer description, or network names might result in errors. For more information, seeEncoding of Characters in Code Generation.
Supported Pretrained Networks
You can train a neural network on either a CPU, a GPU, or multiple GPUs by using the Deep Learning Toolbox™ or use one of the pretrained networks listed in the table and generate CUDA® code.
These pretrained networks, available in Deep Learning Toolbox, are supported for code generation. You can use imagePretrainedNetwork (Deep Learning Toolbox) function to load these pretrained neural networks as dlnetwork (Deep Learning Toolbox) objects for code generation. Note that code generation does not support setting the name-value argumentWeights
of imagePretrainedNetwork
function to"none"
. For example, use this code to load a pretrained GoogLeNet neural network.
net = imagePretrainedNetwork("googlenet")
imagePretrainedNetwork Model Name Argument | CUDA | TensorRT and cuDNN |
---|---|---|
"alexnet" | ![]() |
![]() |
"darknet19" | ![]() |
![]() |
"darknet53" | ![]() |
![]() |
"densenet201" | ![]() |
![]() |
"efficientnetb0" | ![]() |
![]() |
"googlenet" | ![]() |
![]() |
"inceptionresnetv2" | ![]() |
![]() |
"inceptionv3" | ![]() |
![]() |
"mobilenetv2" | ![]() |
![]() |
"nasnetlarge" | ![]() |
|
"nasnetmobile" | ![]() |
|
"resnet18" | ![]() |
![]() |
"resnet50" | ![]() |
![]() |
"resnet101" | ![]() |
![]() |
"shufflenet" | ![]() |
|
"squeezenet" | ![]() |
![]() |
"vgg16" | ![]() |
![]() |
"vgg19" | ![]() |
![]() |
"xception" | ![]() |
![]() |
Additionally, you can use these functions to create neural networks for code generation.
Supported Layers
These layers are supported for code generation by GPU Coder for these target deep learning libraries.
Note
In the following tables, the information icon indicates that the network, layer, or class has limited code generation capabilities. You might see errors and unexpected behavior. For more information, see the Extended Capabilities section on the page for that network, layer, or class.
Input Layers
Convolution and Fully Connected Layers
Sequence Layers
Activation Layers
Utility Layers
Pooling and Unpooling Layers
Combination Layers
Transformer Layers
Object Detection Layers
Output Layers
Custom Keras Layers
Layer Name | CUDA | TensorRT and cuDNN |
---|---|---|
nnet.keras.layer.ClipLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.keras.layer.FlattenCStyleLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.keras.layer.GlobalAveragePooling2dLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.keras.layer.PreluLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.keras.layer.SigmoidLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.keras.layer.TanhLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.keras.layer.TimeDistributedFlattenCStyleLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.keras.layer.ZeroPadding2dLayer (Deep Learning Toolbox) | ![]() |
![]() |
Custom ONNX Layers
Layer Name | CUDA | TensorRT and cuDNN |
---|---|---|
nnet.onnx.layer.ClipLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.ElementwiseAffineLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.FlattenInto2dLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.FlattenLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.GlobalAveragePooling2dLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.IdentityLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.PreluLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.SigmoidLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.TanhLayer (Deep Learning Toolbox) | ![]() |
![]() |
nnet.onnx.layer.VerifyBatchSizeLayer (Deep Learning Toolbox) | ![]() |
![]() |
Custom Layers
Layer Name | CUDA | TensorRT and cuDNN |
---|---|---|
![]() ![]() ![]() |
![]() |
![]() |
Supported Classes
These classes are supported for code generation by GPU Coder for these target deep learning libraries.
See Also
Functions
Objects
- coder.gpuConfig | coder.CodeConfig | coder.EmbeddedCodeConfig | coder.gpuEnvConfig | coder.CuDNNConfig | coder.TensorRTConfig
Topics
- Pretrained Deep Neural Networks (Deep Learning Toolbox)
- Get Started with Transfer Learning (Deep Learning Toolbox)
- Create Simple Deep Learning Neural Network for Classification (Deep Learning Toolbox)
- Load Pretrained Networks for Code Generation
- Code Generation for Deep Learning Networks by Using cuDNN
- Code Generation for Deep Learning Networks by Using TensorRT
- Code Generation for Deep Learning Networks Targeting ARM Mali GPUs