X-LINUX-AI Tool

Revision as of 14:24, 6 June 2024 by Registered User

This article aims to give general information about the x-linux-ai tool. presenting its core features, potential applications, and benefits to users seeking to leverage its capabilities within STM32MPU.

1. Description[edit source]

The X-LINUX-AI Tool is a software solution designed to verify the current version of X-LINUX-AI and display a comprehensive list of all available features and applications. It simplifies the management and utilization of AI (Artificial Intelligence) capabilities on devices running OpenSTLinux. The tool is essential for effectively managing AI packages, making it invaluable for a wide range of applications, from industrial to educational purposes.The main key features of X-LINUX-AI TOOL :

  • Simplifiy AI package management: The X-LINUX-AI Tool offers a user-friendly interface for managing AI-related software packages. Users can:
    • Install packages
    • Uninstall packages
    • Display all the available packages
  • Display AI features: The X-LINUX-AI Tool lists all features and applications available for a specific version of X-LINUX-AI.

2. X-LINUX-AI Tool installation[edit source]

Warning white.png Warning
The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA0048). The detailed content licenses can be found here.

After having configured the AI OpenSTLinux package you can install the X-LINUX-AI components.

    apt-get install x-linux-ai-tool

3. How to use X-LINUX-AI Tool:[edit source]

Info white.png Information
The x-linux-ai binary can be found in the /usr/bin directory.
Usage:	x-linux-ai -[option]

-v --version            : Show X-LINUX-AI current version if it is installed
-f --supported-features : Print all supported frameworks in this X-LINUX-AI version
-l --list               : Print installed and ready-to-install packages
-i --install <pkg>      : Install   X-LINUX-AI  package
-r --remove  <pkg>      : Remove    X-LINUX-AI  package
-h --help               : Show    this help

3.1. Usage Example[edit source]

  • To show the version of x-linux-ai:
    x-linux-ai -v
X-LINUX-AI version: v5.0.0
  • To display x-linux-ai features:
    x-linux-ai -f
root@stm32mp1:# x-linux-ai -f

Features:
 * TensorFlow™ Lite 2.11.0 with XNNPACK delegate activated 
 * Coral Edge TPU™ 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 
 * ONNX Runtime™  1.14.0 with XNNPACK execution engine activated 
 * OpenCV 4.7.x 
 * Python™ 3.11.x 
 * Support of Sony™ IMX335 5Mpx sensor with use of DCMIPP and internal ISP 
 * Support for the OpenSTLinux AI package repository allowing the installation of a prebuilt package using apt-* utilities 
 * Application  : 
   * Image Classification : 
       * C++ / Python™ example using TensorFlow™ Lite based on the MobileNet v3 quantized model 
       * C++ / Python™ example using Coral Edge TPU™ based on the MobileNet v1 quantized model and compiled for the Edge TPU™ 
       * Python™ example using ONNX Runtime based on the MobileNet v3 quantized model 
       * C++  example using Network Binary Graph based on MobileNet v3 quantized model 
   * Object Detection : 
     * C++ example using TensorFlow™ Lite based on the COCO SSD MobileNet v1 quantized model 
     * Python™ example using TensorFlow™ Lite based on the YoloV4-tiny quantized model 
     * C++ / Python™ example using Coral Edge TPU™ based on the COCO SSD MobileNet v1 quantized model and compiled for the Edge TPU™ 
     * C++ / Python™ example using ONNX Runtime based on the COCO SSD MobileNet v1 quantized model 
   * Face Recognition : 
     * C++ example using proprietary model capable of recognizing the face of a known (enrolled) user. Contact the local STMicroelectronics support for more information about this application or send a request to edge.ai@st.com 
   * Human Pose Estimation 
     * Python™ example using TensorFlow™ Lite based on Movenet SinglePose Lightning quantized model 
   * Semantic Segmentation 
     * Python™ example using TensorFlow™ Lite based on DeepLabV3 quantized model 
 * Application support for the 1080p, 720p, 480p, and 272p display configurations 
 * 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] STM32MP25-beta repository 
  
 ## Further information on how to install and how to use X-LINUX-AI Starter package 
 <https://wiki.st.com/stm32mp25-beta-v5/wiki/X-LINUX-AI_Starter_package> 
  
 ## Further information on how to install and how to use X-LINUX-AI Developer package 
 <https://wiki.st.com/stm32mp25-beta-v5/wiki/X-LINUX-AI_Developer_package> 
  
 ## Further information on how to install and how to use X-LINUX-AI Distribution package 
 <https://wiki.st.com/stm32mp25-beta-v5/wiki/X-LINUX-AI_Distribution_package> 
  
 ## Application samples

Find more information on the wiki page: https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package
  • To display x-linux-ai packages list:
    x-linux-ai -l
root@stm32mp1:# x-linux-ai -l

 [installed]	    coral-edgetpu-benchmark
 [installed]	    libedgetpu2
 [installed]	    libtensorflow-lite2
 [installed]	    tflite-vx-delegate
 [installed]	    tim-vx
 [installed]	    x-linux-ai-benchmark

 [not installed]    coral-image-classification-cpp
 [not installed]    coral-image-classification-python
 [not installed]    coral-models-coco-ssd-mobilenetv1
 [not installed]    coral-models-mobilenetv1
 [not installed]    coral-object-detection-cpp
 [not installed]    coral-object-detection-python
 [not installed]    libcoral2
 [not installed]    libtensorflow-lite-tools
 [not installed]    onnx-image-classification-python
 [not installed]    onnx-models-coco-ssd-mobilenetv1
 [not installed]    onnx-models-mobilenetv1
 [not installed]    onnx-models-mobilenetv3
 [not installed]    onnx-object-detection-cpp
 [not installed]    onnx-object-detection-python
 [not installed]    onnxruntime
 [not installed]    onnxruntime-tools
 [not installed]    onnxruntime-unit-tests
 [not installed]    packagegroup-x-linux-ai
 [not installed]    packagegroup-x-linux-ai-coral
 [not installed]    packagegroup-x-linux-ai-npu
 [not installed]    packagegroup-x-linux-ai-onnxruntime
 [not installed]    packagegroup-x-linux-ai-tflite
 [not installed]    python3-libtensorflow-lite
 [not installed]    python3-onnxruntime
 [not installed]    python3-pycoral
 [not installed]    tflite-face-recognition-cpp
 [not installed]    tflite-image-classification-cpp
 [not installed]    tflite-image-classification-python
 [not installed]    tflite-models-coco-ssd-mobilenetv1
 [not installed]    tflite-models-deeplabv3
 [not installed]    tflite-models-mobilenetv1
 [not installed]    tflite-models-mobilenetv3
 [not installed]    tflite-models-movenet-singlepose-lightning
 [not installed]    tflite-models-yolov4-tiny
 [not installed]    tflite-object-detection-cpp
 [not installed]    tflite-object-detection-python
 [not installed]    tflite-pose-estimation-python
 [not installed]    tflite-semantic-segmentation-python
 [not installed]    tim-vx-tools
  • To install x-linux-ai packages:
    x-linux-ai -i <package>
root@stm32mp25-revab:~# x-linux-ai -i onnxruntime
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  onnxruntime
0 upgraded, 1 newly installed, 0 to remove and 16 not upgraded.
Need to get 0 B/6089 kB of archives.
After this operation, 0 B of additional disk space will be used.

The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA).
The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses.

Selecting previously unselected package onnxruntime.
(Reading database ... 18419 files and directories currently installed.)
Preparing to unpack .../onnxruntime_1.14.0+git0+6ccaeddefa-r0_arm64.deb ...
Unpacking onnxruntime (1.14.0+git0+6ccaeddefa-r0) ...
Setting up onnxruntime (1.14.0+git0+6ccaeddefa-r0) ...
N: Ignoring file 'packages.openstlinux.st.com.list.tmp' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
onnxruntime has been installed successfully.
  • To uninstall X-LINUX-AI packages:
    x-linux-ai -r <package>
root@stm32mp25-revab:~# x-linux-ai -r onnxruntime
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  onnxruntime
0 upgraded, 0 newly installed, 1 to remove and 16 not upgraded.
After this operation, 0 B of additional disk space will be used.

The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA).
The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses.

(Reading database ... 18423 files and directories currently installed.)
Removing onnxruntime (1.14.0+git0+6ccaeddefa-r0) ...
N: Ignoring file 'packages.openstlinux.st.com.list.tmp' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
onnxruntime has been removed successfully.