Use MATLAB to Train on Jetson Nano

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Setup

Overview

To train the AI using MATLAB, I will write a script on MATLAB and then use GPU Coder to flash the function/model on the JetRacer. So all the debugging process will be on MATLAB.

Key Concepts

  • Deep Learning with MATLAB
  1. The fundamental of training an AI system is called deep learning. MATLAB provides a variety of helpful toolboxes, pre-trained networks, and tools to process data into useful input for an AI [1].
  2. The training can be stored as a model, usually in a .MAT format, which can be reused. Hence, we do not have to train a model every time we want to use it.
  3. Data preprocessing—including image resizing, augmentation, and normalization—is handled with MATLAB functions such as imageDatastore and augmentedImageDatastore.
Tabelle 6: Deep Learning with MATLAB Setup
# Description Pictures
1 Data Processing
  • Image resizing: Ensures all input images match the network’s expected dimensions. Consistent sizing improves training stability and speeds up batch processing.
  • Augmentation: Expands the dataset by applying random transformations—such as rotations, flips, translations, and color jitter—using imageDataAugmenter and augmentedImageDatastore. This reduces overfitting by exposing the model to varied examples without collecting new data.
  • Normalization: Scales pixel values to a common range (e.g., [0,1] or zero‐mean/unit‐variance). Normalized inputs ensure faster convergence and prevent numeric instability during training.
2 Model training Here is an important aspect of training because all training parameters, configurations and directions are ensured.
3 Output Trained networks are exported to a .mat file, encapsulating weights, architecture, and training metadata for reuse.


  • Gpu Coder
  1. GPU Coder generates optimized CUDA® C++ from your MATLAB® algorithms, unlocking the parallel compute power of the Jetson GPU for real-time processing on your JetRacer and improve 40 times the performance on the jetracer [2][3].
  2. Helps target GPUs for automotive applications.
Tabelle 7: GPU Coder Setup
# Description Pictures
1 Access GPU APP Matlab provides built-in app to generate Cuda compatible code.
Fig. 10: Gpu Coder APP
2 Select Entry-Point Function For CUDA code to be successfully generated, the MATLAB script must be a function. Hence, your script needs to be converted to a function.
Fig. 11: Gpu Coder Function
3 Select Input types A second file is required for the GPU Coder to Know what asre the inputs and Outputs
Fig. 12: Input Types
4 Select Targeted GPU The CUDA code can be Generated directly on the chosen device or generated on the main pc and manually transported on the device
5 Generate c/c++ Check for errors and Generated folders
Fig. 13: Generated Cuda Code