Registered User m (Jean Christophe Trotin moved page X-LINUX-AI OpenSTLinux expansion package to X-LINUX-AI OpenSTLinux Expansion Package without leaving a redirect: Uppercase for "Expansion" and "Package") |
Registered User m (→Prerequisites) |
||
Line 46: | Line 46: | ||
===Prerequisites=== | ===Prerequisites=== | ||
* Flash the Starter Package on your SDCard | |||
::[[Getting_started/STM32MP1_boards/STM32MP157x-DK2/Let%27s_start/Populate_the_target_and_boot_the_image|STM32MP157x-DKx Starter Package procedure]] | ::[[Getting_started/STM32MP1_boards/STM32MP157x-DK2/Let%27s_start/Populate_the_target_and_boot_the_image|STM32MP157x-DKx Starter Package procedure]] | ||
::or | ::or | ||
::[[Getting_started/STM32MP1_boards/STM32MP157x-EV1/Let%27s_start/Populate_the_target_and_boot_the_image|STM32MP157x-EV1 Starter Package procedure]] | ::[[Getting_started/STM32MP1_boards/STM32MP157x-EV1/Let%27s_start/Populate_the_target_and_boot_the_image|STM32MP157x-EV1 Starter Package procedure]] | ||
* Your board has an internet connection either through the network cable or through a WiFi connection. | |||
{{Info| | {{Info| | ||
If your internet access depends on a proxy server, you should define the http_proxy environment variable with the following command before any <code>apt-*</code> commands: | If your internet access depends on a proxy server, you should define the http_proxy environment variable with the following command before any <code>apt-*</code> commands: |
Revision as of 17:10, 6 July 2020

X-LINUX-AI is an STM32 MPU OpenSTLinux Expansion Package that targets artificial intelligence for STM32MP1 Series devices.
It contains Linux AI frameworks, as well as application examples to get started with some basic use cases such as computer vision (CV).
It is composed of an OpenEmbedded meta layer, named meta-st-stm32mpu-ai, to be added on top of the STM32MP1 Distribution Package.
It brings a complete and coherent easy-to-build / install environment to take advantage of AI on STM32MP1 Series devices.
1. Version v2.0.0[edit source]
![]() |
This version has been validated against the OpenSTLinux ecosystem release v2.0.0 ![]() |
1.1. Contents[edit source]
- TensorFlow Lite[1] 2.2.0
- Coral Edge TPU[2] accelerator support
- armNN[3] 20.05
- OpenCV[4] 4.1.x
- Python[5] 3.8.x (enabling Pillow module)
- Support STM32MP15xF[6] devices operating at up to 800MHz
- Python and C++ application samples
- Image classification using TensorFlow Lite based on MobileNet v1 quantized model
- Object detection using TensorFlow Lite based on COCO SSD MobileNet v1 quantized model
- Image classification using Coral Edge TPU based on MobileNet v1 quantized model and compiled for the Coral Edge TPU
- Object detection using Coral Edge TPU based on COCO SSD MobileNet v1 quantized model and compiled for the Coral Edge TPU
- Image classification using armNN TensorFlow Lite parser based on MobileNet v1 float model
- Object detection using armNN TensorFlow Lite parser based on COCO SSD MobileNet v1 quantized model
1.2. Validated hardware[edit source]
As any software expansion package, the X-LINUX-AI is supported on all STM32MP1 Series and it has been validated on the following boards:
1.3. Software structure[edit source]
1.4. Install from the OpenSTLinux AI package repository[edit source]
![]() |
The STMicroelectronics packages repository service is provided for evaluation purposes only, its content may be updated at any time without notice and is therefore not approved for use in production. |
All the generated X-LINUX-AI packages are available from the OpenSTLinux AI package repository service hosted at the non-browsable URL http://extra.packages.openstlinux.st.com/AI.
This repository contains AI packages that can be simply installed using apt-* utilities, which the same as those used on a Debian system:
- the main group contains the selection of AI packages whose installation is automatically tested by STMicroelectronics
- the updates group is reserved for future uses such as package revision update.
You can install them individually or by package group.
1.4.1. Prerequisites[edit source]
- Flash the Starter Package on your SDCard
- Your board has an internet connection either through the network cable or through a WiFi connection.
![]() |
If your internet access depends on a proxy server, you should define the http_proxy environment variable with the following command before any
Board $> export http_proxy='http://<proxy url>:<proxy port>/'
|
1.4.2. Configure the AI OpenSTLinux package repository[edit source]
Once the board is booted, execute the following command in the console in order to configure the AI OpenSTLinux package repository:
AI/2.0/pool/config/a/apt-openstlinux-ai/apt-openstlinux-ai_1.0_armhf.deb Board $> apt-get install ./apt-openstlinux-ai_1.0_armhf.debBoard $> wget http://extra.packages.openstlinux.st.com/
![]() |
This command may issue the following warning message (or similar):
N: Can't drop privileges for downloading as file '/home/root/apt-openstlinux-ai_1.0_armhf.deb'
couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
You can safely ignore it. |
Then synchronize the AI OpenSTLinux package repository.
Board $> apt-get update
1.4.3. Install AI packages[edit source]
![]() |
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 here. |
1.4.3.1. Install all X-LINUX-AI packages[edit source]
Command | Description |
---|---|
apt-get install packagegroup-x-linux-ai |
Install all the X-LINUX-AI packages (TensorFlow Lite, Edge TPU, armNN, application samples and tools) |
1.4.3.3. Install individual packages[edit source]
![]() |
If you need more information about how to use apt-* utilities check the Package repository for OpenSTLinux distribution article. |
1.5. Re-generate X-LINUX-AI OpenSTLinux distribution[edit source]
With the following procedure, you can re-generate the complete distribution enabling the X-LINUX-AI expansion package.
This procedure is mandatory if you want to update frameworks by yourself, or if you want to modify the application samples.
For further details, please expand the contents...
2. How to use the X-LINUX-AI Expansion Package[edit source]
2.1. Material needed[edit source]
To use the X-LINUX-AI-CV OpenSTLinux Expansion Package, choose one of the following materials:
- STM32MP157C-DK2[7] + an UVC USB WebCam
- STM32MP157C-EV1[8] with the built in camera
- STM32MP157A-EV1[9] with the built in camera
Optional:
- Coral USB Edge TPU[2] accelerator
2.2. Boot the OpenSTlinux Starter Package[edit source]
At the end of the boot sequence, the demo launcher application appears on the screen.
2.3. Install the X-LINUX-AI[edit source]
![]() |
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 here. |
After having configured the AI OpenSTLinux package you can install the X-LINUX-AI components.
Board $> apt-get install packagegroup-x-linux-ai
And restart the demo launcher
Board $> systemctl restart weston@root
2.4. Launch an AI application sample[edit source]
Once the demo launcher is restarted, notice that it is slightly different because new AI application samples have been installed.
The demo laucher has the following appearance, and you can navigate into the different screens by using the NEXT or BACK buttons.
Screens 2, 3 and 4 contain AI application samples that are described within dedicated article available in the X-LINUX-AI application samples zoo page.
2.5. Enjoy running your own NN models[edit source]
The above examples provide application samples to demonstrate how to execute models easily on the STM32MP1.
You are free to update the C/C++ application or Python scripts for your own purposes, using your own NN models.
Source code locations are provided in application sample pages.
3. References[edit source]