- Last edited 5 months ago ago
X-LINUX-AI expansion package
- 1 What is X-LINUX-AI?
- 2 X-LINUX-AI Software stack introduction
- 3 Versioning
- 4 X-LINUX-AI v5.0.0
- 5 X-LINUX-AI package
- 6 Next steps...
- 7 Archives
- 8 References
1 What is X-LINUX-AI?
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
- 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
2 X-LINUX-AI Software stack introduction
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-stm32mpu-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.
2.1 Seamless integration of common AI frameworks
2.2 AI framework details
2.2.1 Tensorflow Lite runtime
2.2.2 ONNX runtime
Since its release v5.0.0, the major versioning of the X-LINUX-AI OpenSTLinux Expansion Package is aligned on the major versioning of the OpenSTLinux Distribution. This prevents painful backward compatibility attempts and makes dependencies straightforward.
The generic versioning X-LINUX-AI vx.y.z is built as follows:
- x: major version matching the OpenSTLinux Distribution major version. Each new major version is incompatible with previous OpenSTLinux Distribution versions.
- y: minor version, which is changed when new functionalities are added to the X-LINUX-AI OpenSTLinux Expansion Package in a backward compatible manner.
- z: patch version to introduce bug fixes. A patch version is implemented in a backward compatible manner.
4 X-LINUX-AI v5.0.0
- XNNPACK  support for TensorFlow™ Lite and ONNX Runtime, with about 20% to 30% performance gain for quantized networks on a 32-bit system
- TensorFlow™ Lite 2.11.0 with XNNPACK delegate activated
- ONNX Runtime 1.14.0 with XNNPACK execution engine activated
- Coral Edge TPU™ accelerator native support
- libedgetpu 2.0.0 (Gouper) aligned with TensorFlow™ Lite 2.11.0
- libcoral 2.0.0 (Gouper) aligned with TensorFlow™ Lite 2.11.0
- PyCoral 2.0.0 (Gouper) aligned with TensorFlow™ Lite 2.11.0
- OpenCV 4.7.x
- Gstreamer  1.22.x
- Python™ 3.10.x (enabling Pillow module)
- Application samples
- C++ / Python Object detection using ONNX™ Runtime COCO SSD MobileNet v1 quantized model
- Python image classification using ONNX™ Runtime based on MobileNet v1 quantized model
- C++ / Python image classification using TensorFlow™ Lite based on MobileNet v1 quantized model
- C++ / Python object detection using TensorFlow™ Lite based on COCO SSD MobileNet v1 quantized model
- C++ / Python image classification using Coral Edge TPU™ based on MobileNet v1 quantized model and compiled for the Coral Edge TPU™
- C++ / Python object detection using Coral Edge TPU™ based on COCO SSD MobileNet v1 quantized model and compiled for the Coral Edge TPU™
- C++ face recognition using TensorFlow™ Lite models capable of recognizing the face of a known (enrolled) user (available on demand)
- Application support for the 720p, 480p, and 272p display configurations
- C++/Python application camera pipeline update to use GtkWaylandsink and achieve better performance
- 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 provides support for all the above frameworks. It is available from the X-LINUX-AI product page
4.2 Validated hardware
As any software expansion package, the X-LINUX-AI is supported on all STM32MP1 series and it has been validated on the following boards:
5 X-LINUX-AI package
X-LINUX-AI Starter package
Quickly and easily bring AI on STM32MPUs series
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
It is an OpenEmbedded meta-layer to be added on top of the STM32MPx Distribution Package to generate AI packages
6 Next steps...
AI - Application examples
Discover the AI applications delivered in X-LINUX-AI.
How to articles
Articles dedicated to use the different X-LINUX-AI frameworks
7 Archives 
|X-LINUX-AI release||Release note|
|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)|
This category has the following 2 subcategories, out of 2 total.