Deep Learning with GPU Coder
Deep learning is a branch of machine learning that teaches computers to do what comes naturally to humans: learn from experience. The learning algorithms use computational methods to “learn” information directly from data without relying on a predetermined equation as a model. Deep learning uses convolutional neural networks (CNNs) to learn useful representations of data directly from images. Neural networks combine multiple nonlinear processing layers, using simple elements operating in parallel and inspired by biological nervous systems. Deep learning models are trained by using a large set of labeled data and neural network architectures that contain many layers, usually including some convolutional layers.
You can use GPU Coder™ in tandem with the Deep Learning Toolbox™ to generate code and deploy CNN on multiple embedded platforms that use NVIDIA® or ARM® GPU processors. The Deep Learning Toolbox provides simple MATLAB® commands for creating and interconnecting the layers of a deep neural network. The availability of pretrained networks and examples such as image recognition and driver assistance applications enable you to use GPU Coder for deep learning, without expert knowledge on neural networks, deep learning, or advanced computer vision algorithms.
|Generate C/C++ code from MATLAB code
|Generate code for a deep learning network to target the ARM Mali GPU
|Load deep learning network model
|Create deep learning code generation configuration objects
|Analyze deep learning network for code generation (Since R2022b)
|Regenerate files containing network learnables and states parameters (Since R2021b)
|Parameters to configure deep learning code generation with the CUDA Deep Neural Network library
|Parameters to configure deep learning code generation with the NVIDIA TensorRT library
|Configuration parameters for CUDA code generation from MATLAB code by using GPU Coder
|Create configuration object containing the parameters passed to
coder.checkGpuInstall for performing GPU code generation environment
checks (Since R2019a)
General Code Configuration
Deep Learning in MATLAB (Deep Learning Toolbox)
Discover deep learning capabilities in MATLAB using convolutional neural networks for classification and regression, including pretrained networks and transfer learning, and training on GPUs, CPUs, clusters, and clouds.
Learn About Convolutional Neural Networks (Deep Learning Toolbox)
An introduction to convolutional neural networks and how they work in MATLAB.
Pretrained Deep Neural Networks (Deep Learning Toolbox)
Learn how to download and use pretrained convolutional neural networks for classification, transfer learning and feature extraction.
Image Data Workflows (Deep Learning Toolbox)
Use pretrained networks or create and train networks from scratch for image classification and regression
Code Generation Overview
Overview of CUDA code generation workflow for convolutional neural networks.
Networks, layers, and classes supported for code generation.
Check code generation compatibility of a deep learning network.
Use deep learning arrays in MATLAB code intended for code generation.
Adhere to code generation limitations for deep learning arrays.
Architecture of the generated CNN class and its methods.
- Load Pretrained Networks for Code Generation
dlnetworkobject for code generation.
- Code Generation for Deep Learning Networks by Using cuDNN
Generate code for pretrained convolutional neural networks by using the cuDNN library.
- Code Generation for Deep Learning Networks by Using TensorRT
Generate code for pretrained convolutional neural networks by using the TensorRT library.
- Code Generation for Deep Learning Networks Targeting ARM Mali GPUs
Generate C++ code for prediction from a deep learning network targeting an ARM Mali GPU processor.
- Analyze Performance of Code Generated for Deep Learning Networks
Analyze and optimize the performance of the generated CUDA code for deep learning networks.
- Update Network Parameters After Code Generation
Perform post code generation updates of deep learning network parameters.
- Data Layout Considerations in Deep Learning
Fundamental data layout considerations for authoring example main functions.
- Quantization of Deep Neural Networks
Understand effects of quantization and how to visualize dynamic ranges of network convolution layers.
- Generate INT8 Code for Deep Learning Networks
Quantize and generate code for a pretrained convolutional neural network.
- Lane Detection Optimized with GPU Coder
Develop a deep learning lane detection application that runs on NVIDIA GPUs.
- Traffic Sign Detection and Recognition
Generate CUDA MEX for a traffic sign detection and recognition application that uses deep learning.
- Logo Recognition Network
Generate code and classify an input image into 32 logo categories.
- Code Generation for Semantic Segmentation Network That Uses U-net
Generate CUDA code for the U-Net deep learning network for image segmentation.
- Code Generation for Semantic Segmentation Network
Code generation for the
SegNetimage segmentation network.
- Code Generation for Denoising Deep Neural Network
Generate CUDA MEX from MATLAB code and denoise grayscale images by using the denoising convolutional neural network.
- Code Generation for Object Detection by Using YOLO v2
Generate CUDA MEX for a you only look once (YOLO) v2 object detector.
- Code Generation for Object Detection Using YOLO v3 Deep Learning Network
Generate CUDA MEX for a you only look once (YOLO) v3 object detector.
- Code Generation for Object Detection Using YOLO v4 Deep Learning
Generate standalone CUDA executable for a you only look once (YOLO) v4 object detector with custom layers.
- GPU Code Generation for Deep Learning Networks Using MATLAB Function Block
Simulate and generate code for deep learning models in Simulink using MATLAB function blocks.
- GPU Code Generation for Blocks from the Deep Neural Networks Library
Simulate and generate code for deep learning models in Simulink using library blocks.
- Targeting NVIDIA Embedded Boards
Build and deploy to NVIDIA GPU boards.