Skip to content

Commit fc56201

Browse files
mguSTMvinceab
authored andcommitted
X-LINUX-AI v5.1.0
Signed-off-by: Maxence GUILHIN <[email protected]>
1 parent 54aabad commit fc56201

File tree

3 files changed

+46
-36
lines changed

3 files changed

+46
-36
lines changed

README.md

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
21
<p align="center">
32
<img width="720" src="https://raw.githubusercontent.com/STMicroelectronics/meta-st-stm32mpu-ai/master/x-linux-ai-logo.png">
43
</p>
54

6-
X-LINUX-AI version: v5.0.0
5+
X-LINUX-AI version: v5.1.0
76

87
X-LINUX-AI is a free of charge open-source software package dedicated to AI.
98
It is a complete ecosystem that allow developers working with OpenSTLinux to create AI-based application very easily.
@@ -20,8 +19,8 @@ X-LINUX-AI OpenEmbedded meta layer to be integrated into OpenSTLinux distributio
2019
It contains recipes for AI frameworks, tools and application examples for STM32MPx series
2120

2221
## Compatibility
23-
The X-LINUX-AI OpenSTLinux Expansion Package v5.0.0 is compatible with the Yocto Project™ build system Mickledore.
24-
It is validated over the OpenSTLinux Distribution v5.0 on STM32MP157F-DK2 with a USB image sensor, on STM32MP157F-EV1 with its built-in camera module, and on STM32MP135F-DK with its built-in camera module
22+
The X-LINUX-AI OpenSTLinux Expansion Package v5.1.0 is compatible with the Yocto Project™ build system Mickledore.
23+
It is validated over the OpenSTLinux Distribution v5.1.0 on STM32MP25x and STM32MP1x series.
2524

2625
## Versioning
2726
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.
@@ -31,27 +30,38 @@ The X-LINUX-AI generic versioning v**x**.**y**.**z** is built as follows:
3130
* **z**: patch version to introduce bug fixes. A patch version is implemented in a backward compatible manner.
3231

3332
## Available frameworks and tools within the meta-layer
34-
[X-LINUX-AI v5.0.0 expansion package](https://wiki.st.com/stm32mpu/wiki/Category:X-LINUX-AI_expansion_package):
35-
* XNNPACK support for TensorFlow™ Lite and ONNX Runtime, with about 20% to 30% performance gain for quantized networks on a 32-bit system
36-
* TensorFlow™ Lite 2.11.0 with XNNPACK delegate activated
37-
* ONNX Runtime 1.14.0 with XNNPACK execution engine activated
38-
* OpenCV 4.7.x
39-
* Python™ 3.10.x (enabling Pillow module)
40-
* Coral Edge TPU™ accelerator native support
41-
* libedgetpu 2.0.0 (Gouper) aligned with TensorFlow™ Lite 2.11.0
42-
* libcoral 2.0.0 (Gouper) aligned with TensorFlow™ Lite 2.11.0
43-
* PyCoral 2.0.0 (Gouper) aligned with TensorFlow™ Lite 2.11.0
44-
* Support for the OpenSTLinux AI package repository allowing the installation of a prebuilt package using apt-* utilities
45-
* Application samples
46-
* C++ / Python™ image classification example using TensorFlow™ Lite based on the MobileNet v1 quantized model
47-
* C++ / Python™ object detection example using TensorFlow™ Lite based on the COCO SSD MobileNet v1 quantized model
48-
* C++ / Python™ image classification example using Coral Edge TPU™ based on the MobileNet v1 quantized model and compiled for the Edge TPU™
49-
* C++ / Python™ object detection example using Coral Edge TPU™ based on the COCO SSD MobileNet v1 quantized model and compiled for the Edge TPU™
50-
* C++ face recognition application 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 [email protected]
51-
* Python™ image classification example using ONNX Runtime based on the MobileNet v1 quantized model
52-
* C++ / Python™ object detection example using ONNX Runtime based on the COCO SSD MobileNet v1 quantized model
53-
* Application support for the 720p, 480p, and 272p display configurations
54-
* 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](https://www.st.com/en/embedded-software/x-linux-ai.html) product page
33+
[X-LINUX-AI v5.1.0 expansion package](https://wiki.st.com/stm32mpu/wiki/Category:X-LINUX-AI_expansion_package):
34+
* AI Frameworks:
35+
* STAI_MPU Unified API based on OpenVX™(STM32MP25x only), TensorFlow™ Lite, Coral Edge TPU™ and ONNX Runtime™ compatible with all STM32MPU series
36+
* TIM-VX™ 1.1.57 (STM32MP25x only)
37+
* TensorFlow™ Lite 2.11.0 (CPU only) with XNNPACK delegate activated
38+
* ONNX Runtime™ 1.14.0 (CPU only) with XNNPACK execution engine activated
39+
* Coral Edge TPU™ accelerator native support
40+
* libedgetpu 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
41+
* libcoral 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
42+
* PyCoral 2.0.0 (Grouper) aligned with TensorFlow™ Lite 2.11.0
43+
44+
* Out of the box applications:
45+
* Image classification :
46+
* C++ / Python™ example using STAI_MPU Unified API]] based on the MobileNet v1 and v2 quantized models
47+
* Object detection :
48+
* C++ / Python™ example using STAI_MPU Unified API]] based on the SSD MobileNet v1 and v2 quantized models
49+
* Python™ example using STAI_MPU Unified API]] based on YoloV8n pose quantized model
50+
* Semantic segmentation :
51+
* Python™ example using STAI_MPU Unified API]] based on DeepLabV3 quantized model
52+
* Face recognition:
53+
* C++ example using proprietary model capable of recognizing the face of a known (enrolled) user.
54+
* Contact the local STMicroelectronics support for more information about this application or send a request to [email protected]
55+
* Note: applications are based on Gstreamer 1.22.x, GTK 3.x, OpenCV 4.7.x, Pillow, Python 3
56+
57+
* Utilities:
58+
* X-LINUX-AI tool suite provides tools for software information, AI packages management and Neural Network models benchmarking.
59+
* Support wide range of image sensors for ST MPU including IMX335 (5MP) for MP2 with use of internal ISP, GC2145 and OV5640 for STM32MP13x
60+
* Support for the OpenSTLinux AI package repository allowing the installation of a prebuilt package using apt-*
61+
62+
* Host tools:
63+
* ST Edge AI tool for NBG generation
64+
* 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
5565

5666
## Further information on how to install and how to use X-LINUX-AI Starter package
5767
<https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_Starter_package>

recipes-devtools/x-linux-ai/files/x-linux-ai-tool/x-linux-ai-tool.cc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -206,15 +206,15 @@ std::string exec_command(const char* cmd) {
206206
int main(int argc, char *argv[])
207207
{
208208
process_args(argc, argv);
209-
std::string command = "ls /var/lib/apt/lists/*_AI_*_main_*";
210-
std::string ostl_pkg_path = "/var/lib/dpkg/status";
211-
std::string x_pkg_path = exec_command(command.c_str());
212-
213-
if (!x_pkg_path.empty() && x_pkg_path.back() == '\n') {
214-
x_pkg_path.pop_back();
215-
}
216209

217210
if (list) {
211+
std::string command = "ls /var/lib/apt/lists/*_AI_*_main_*";
212+
std::string ostl_pkg_path = "/var/lib/dpkg/status";
213+
std::string x_pkg_path = exec_command(command.c_str());
214+
215+
if (!x_pkg_path.empty() && x_pkg_path.back() == '\n') {
216+
x_pkg_path.pop_back();
217+
}
218218
print_pkgs(ostl_pkg_path, x_pkg_path);
219219
}
220220
else if (to_install && argc == 3) {
@@ -224,12 +224,12 @@ int main(int argc, char *argv[])
224224
manage_pkgs(argc, argv,false);
225225
}
226226
else if (version) {
227-
std::cout << "\nX-LINUX-AI version: " << README_VERSION << std::endl;
227+
std::cout << "\nX-LINUX-AI version: " << README_VERSION << "\n" << std::endl;
228228
}
229229
else if (features) {
230230
std::cout << "\nFeatures:\n " << README_FEATURES << std::endl;
231231
std::cout << "\nFind more information on the wiki page: https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package" << std::endl;
232-
std::cout << "\nApplications:\n " << README_APPLI << std::endl;
232+
std::cout << "\nApplications:\n " << README_APPLI << "\n" << std::endl;
233233
}
234234
else{
235235
print_help(argc, argv);

recipes-devtools/x-linux-ai/x-linux-ai-tool_5.1.0.bb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ do_configure() {
2929
xpkg_ver=$(sed -n 's/^.*X-LINUX-AI version: //p' README_sym)
3030

3131
# Get features
32-
xpkg_fea=$(sed -n '/^*.TensorFlow/,${p;/^*.Application.samples/q}' README_sym | sed '$d' | sed '1s/^//;$!s/$/ \\n \\/;$s/$//')
32+
xpkg_fea=$(sed -n '/^* AI Frameworks:/,/^* Out of the box applications:/{/^* Out of the box applications:/!p}' README_sym | sed '$d' | sed '1d; $!s/$/ \\n \\/')
3333

3434
# Get applications
35-
xpkg_app=$(sed -n '/^*.Application.samples/,${p;/^*.Application.support/q}' README_sym | sed '1d;$d' | sed '1s/^//;$!s/$/ \\n \\/;$s/$//' | sed 's/^\ *//g' )
35+
xpkg_app=$(sed -n '/^* Out of the box applications:/,/^* Utilities:/{/^* Utilities:/!p}' README_sym | sed '$d' | sed '1d; $!s/$/ \\n \\/')
3636

3737
# Get wiki link
3838
xpkg_link=$(grep -o 'https://wiki.st.com/stm32mp.*Starter_package>' README_sym | sed 's/>$//')

0 commit comments

Comments
 (0)