X-LINUX-AI OpenSTLinux Expansion Package

Revision as of 14:04, 27 June 2024 by Registered User
Applicable for STM32MP13x lines, STM32MP15x lines

AI X-LINUX-AI-logo.png


1. What is X-LINUX-AI?[edit source]

X-LINUX-AI is a free of charge open-source software package dedicated to AI.
It is a complete ecosystem that allow developers working with OpenSTLinux to create AI-based application very easily.

  • All-in-one AI solutions for the entire STM32 MPU boards More info green.png
  • Pre-integrated into Linux distribution based on ST environment
  • Include AI frameworks to execute Neural Network models
  • Include AI model benchmark application tools for MPU
  • Easy application prototyping using Python language and AI frameworks Python API
  • C++ API for embedded high-performance applications
  • Optimized open-source solutions provided with source codes that allow extensive code reuse and time savings
  • Delivered under GitHub as a Yocto meta-layer


What is x linux ai.png

2. X-LINUX-AI Software stack introduction[edit source]

X-LINUX-AI is an STM32 MPU OpenSTLinux Expansion Package that targets artificial intelligence for STM32MPx Series devices.
It contains Linux AI frameworks, development tools, as well as application examples to get started with some basic AI use cases such as computer vision.
It is composed of an OpenEmbedded meta layer, named meta-st-x-linux-ai, to be added on top of the STM32MPx Distribution Package. It brings a complete and coherent easy-to-build / install environment to take advantage of AI on STM32MPx Series devices.


Depending on the STM32MPU series X-LINUX-AI supports inference execution either on Neural Processing Unit (NPU), Graphics Processing Unit (GPU) or Cortex-A (with multi-threading).

X-LINUX-AI supported inference engine VS sSTM32MPUs series

2.1. Seamless integration of common AI frameworks[edit source]


X-LINUX-AI software structure.png


2.2. AI framework details[edit source]

2.2.1. STAI MPU framework structure[edit source]

X-LINUX-AI stai fw details.png


2.2.2. OpenVX runtime[edit source]

X-LINUX-AI openvx fw details.png



2.2.3. Tensorflow Lite runtime[edit source]

X-LINUX-AI tflite fw details.png


2.2.4. ONNX runtime[edit source]

X-LINUX-AI Onnx fw details.png


3. X-LINUX-AI v5.1.0[edit source]

Info white.png Information
This version is compatible with Yocto Project® build system Mickledore (v4.2.4) and has been validated against the OpenSTLinux ecosystem release v5.1.0 More info.png and validated on STM32MP1 series' boards More info green.png and STM32MP2 series' boards More info green.png

.

3.1. Contents[edit source]

  • AI Frameworks :
    • New.png STAI_MPU Unified API based on OpenVX™(STM32MP25x only), TensorFlow™ Lite, Coral Edge TPU™ and ONNX Runtime™ compatible with all STM32MPU series
    • New.png TIM-VX™ [1] 1.1.57 (STM32MP25x only)
    • TensorFlow™ [2] Lite 2.11.0 (CPU only) with XNNPACK delegate activated
    • ONNX Runtime™ [3] 1.14.0 (CPU only) with XNNPACK execution engine activated
    • Coral Edge TPU™ '[4] accelerator native support
      • libedgetpu 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
      • libcoral 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
      • PyCoral 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
Warning white.png Warning
The face recognition binary is available on demand. Please contact the local STMicroelectronics support for more information about this application or send a request to edge.ai@st.com
  • On-target utilities:
    • New.png X-LINUX-AI tool suite: software information, management of AI packages, and benchmarking of neural network models.
    • Support for a wide range of image sensors and camera modules for STM32 MPUs including:
      • IMX335 (5MP) for STM32MP2 with the use of its internal ISP
      • GC2145
      • OV5640 for STM32MP13xx
  • Host tools:
    • ST Edge AI tool for NBG generation
    • X-LINUX-AI SDK add-on extending the OpenSTLinux SDK with AI functionality to develop and build an AI application easily. The X-LINUX-AI SDK add-on supports all the above frameworks. It is available from the X-LINUX-AI product page

3.2. Validated hardware[edit source]

X-LINUX-AI v5.1.0 is supported on all STM32MP1 series' boards More info green.png and STM32MP2 series' boards More info green.png and it has been validated on the following boards:

  • STM32MP257F-EV1 Evaluation board More info green.png
  • STM32MP157F-DK2 Discovery kit More info green.png
  • STM32MP135F-DK Discovery kit More info green.png


4. X-LINUX-AI package[edit source]

X-LINUX-AI Starter package

X-LINUX-AI Starter package

Quickly and easily bring AI on STM32MPUs series

X-LINUX-AI Developer package

X-LINUX-AI Developer package

The X-LINUX-AI SDK add-on extends the OpenSTLinux SDK
with AI functionality to develop and build an AI application easily

X-LINUX-AI Distribution package

X-LINUX-AI Distribution package
It is an OpenEmbedded meta-layer to be added on top of the STM32MPx Distribution Package to generate AI packages




5. Next steps...[edit source]

Artificial intelligence application zoo

AI - Application examples

Discover the AI applications delivered in X-LINUX-AI.

How to articles

How to articles

Articles dedicated to use the different X-LINUX-AI frameworks

Tools

Tools

Articles dedicated to use the different X-LINUX-AI Tools


6. Archives Archive box.png[edit source]

X-LINUX-AI release Release note
X-LINUX-AI v5.0.0 X-LINUX-AI_OpenSTLinux_Expansion_Package#X-LINUX-AI_v5-0-0 page for the v5 ecosystem releases (in archived wiki)
X-LINUX-AI v3.0.0 X-LINUX-AI_OpenSTLinux_Expansion_Package#X-LINUX-AI_v3-0-0 page for the v4 ecosystem releases (in archived wiki)
X-LINUX-AI v2.2.0 X-LINUX-AI_OpenSTLinux_Expansion_Package_-_v2.2.0#X-LINUX-AI_v2-2-0 page for the v4 ecosystem releases (in archived wiki)
X-LINUX-AI v2.1.1 X-LINUX-AI_OpenSTLinux_Expansion_Package#X-LINUX-AI_v2-1-1 page for the v3 ecosystem releases (in archived wiki)
X-LINUX-AI v2.1.0 X-LINUX-AI_OpenSTLinux_Expansion_Package#X-LINUX-AI_v2-1-0 page for the v2 ecosystem releases (in archived wiki)
X-LINUX-AI v2.0.0 X-LINUX-AI_OpenSTLinux_Expansion_Package#X-LINUX-AI_v2-0-0 page for the v2 ecosystem releases (in archived wiki)


7. References[edit source]