.. include:: /keyword.rst .. _ml-common: ================================ Machine Learning Developer Guide ================================ .. contents:: Sections :local: :depth: 1 .. toctree:: :hidden: Genio 350-EVK Genio 510/700-EVK Genio 1200-EVK Neuron SDK Model Hub TAO on Genio Common Q&A Neuron Development Workflow -------------------------------- Overview ======== Due to the different hardware on each platform, the |IOT-YOCTO| provides different machine learning software stacks for the developer. Table 1 shows the hardware difference on different boards. Table 2 shows the difference in machine learning software stacks on different boards. .. csv-table:: Table 1. Hardware Devices on Board :class: longtable :file: /_asset/tables/ml-platform-hw-acc-devices.csv :width: 65% :widths: 20 100 100 100 100 .. note:: For the introduction of hardware devices, please refer to :ref:`Hardware Devices ` .. csv-table:: Table 2. Software Stack on Board :class: longtable :file: /_asset/tables/ml-platform-sw-stack.csv :width: 65% :widths: 140 100 100 100 100 100 -------------------------------- Reference Boards ================ |IOT-YOCTO| provides different machine learning software stacks on different SoC platforms. Please find more details about machine learning on each reference board: - :doc:`Genio 350-EVK Machine Learning `. - :doc:`Genio 510/700-EVK Machine Learning `. - :doc:`Genio 1200-EVK Machine Learning `. Model Hub ========= |IOT-YOCTO| provides a list of models that are usable on G510, G700 and G1200. Please go to :doc:`Model Hub section ` to download them. Common Q&A ========== Frequently asked questions for machine learning are collected and record in: - :doc:`Common Q&A `. Appendix ======== .. _ml_hw-devices: Hardware Devices **************** GPU ^^^ The GPU provides neural network acceleration for floating point models. - ARM-based platforms could support GPU neural network acceleration via Arm NN and the Arm Compute Library. - Non-ARM platforms could support GPU neural network acceleration via Google’s TensorFlow Lite GPU delegate. This GPU delegate can accelerate a wide selection of TFLite operations. .. note:: On |IOT-YOCTO|, we support both of the above GPU neural network accelerations. VPU ^^^ The Vision Processing Unit (VPU) offers general-purpose Digital Signal Processing (DSP) capabilities, with special hardware for accelerating complex imaging and computer vision algorithms. The VPU also offers outstanding performance while running AI models. MDLA ^^^^ The MediaTek Deep Learning Accelerator (MDLA) is a powerful and efficient Convolutional Neural Network (CNN) accelerator. The MDLA is capable of achieving high AI benchmark results with high Multiply-Accumulate (MAC) utilization rates. The design integrates MAC units with dedicated function blocks, which handle activation functions, element-wise operations, and pooling layers.