0% found this document useful (0 votes)
79 views

Artificial Intelligence (AI) Software Expansion For STM32Cube

Uploaded by

NewRiverX
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views

Artificial Intelligence (AI) Software Expansion For STM32Cube

Uploaded by

NewRiverX
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

X-CUBE-AI

Data brief

Artificial intelligence (AI) software expansion for STM32Cube

Features
• Generation of an STM32-optimized library from pre-trained Neural Network
models
• Support various Deep Learning frameworks such as Keras, Caffe, ConvnetJS,
and Lasagne
• Easy portability across different STM32 microcontrollers series through
STM32Cube™ integration
• Free, user-friendly license terms

Description
X-CUBE-AI is an STM32Cube™ Expansion Package part of the STM32Cube.AI
ecosystem and extending STM32CubeMX capabilities with automatic conversion of
pre-trained Neural Network and integration of generated optimized library into the
user's project. The easiest way to use it is to download it inside the STM32CubeMX
tool (version 5.0.1 or newer) as described in user manual Getting started with X-
CUBE-AI Expansion Package for artificial intelligence (AI).
The X-CUBE-AI Expansion Package offers also several means to validate Neural
Network models both on desktop PC and STM32, as well as measure performance
on STM32 devices without user handmade ad hoc C code.

Product status link

X-CUBE-AI

DB3788 - Rev 2 - January 2019 www.st.com


For further information contact your local STMicroelectronics sales office.
X-CUBE-AI
Ordering information

1 Ordering information

X-CUBE-AI is available for free download from the www.st.com website.

DB3788 - Rev 2 page 2/8


X-CUBE-AI
Detailed description

2 Detailed description

Figure 1 sketches the integration of X-CUBE-AI in STM32 AI environment.

Figure 1. X-CUBE-AI overview

2.1 What is STM32Cube™?


STM32Cube™ is an STMicroelectronics original initiative to significantly improve designer's productivity by
reducing development effort, time and cost. STM32Cube™ covers the whole STM32 portfolio.
STM32Cube™ includes:
• A set of user-friendly software development tools to cover project development from the conception to the
realization, among which:
– STM32CubeMX, a graphical software configuration tool that allows the automatic generation of C
initialization code using graphical wizards.
– STM32CubeProgrammer (STM32CubeProg), a programming tool available in graphical and command-
line versions.
– STM32CubeMonitor-Power (STM32CubeMonPwr), a monitoring tool to measure and help in the
optimization of the power consumption of the MCU.
• STM32Cube™ MCU Packages, comprehensive embedded-software platforms specific to each
microcontroller series (such as STM32CubeF4 for the STM32F4 Series), which include:
– STM32Cube™ hardware abstraction layer (HAL), ensuring maximized portability across the STM32
portfolio.
– STM32Cube™ low-layer APIs, ensuring the best performance and footprints with a high degree of user
control over the HW
– A consistent set of middleware components such as RTOS, USB, TCP/IP, and graphics.
– All embedded software utilities with full sets of peripheral and applicative examples.

2.2 How does this package complement STM32Cube™?


The X-CUBE-AI Expansion Package extends STM32CubeMX by providing an automatic neural network library
generator optimized in computation and memory (RAM and Flash) that converts pre-trained Neural Networks from
most used Deep Learning frameworks (such as Caffe, Keras, Lasagne, and ConvnetJS) into a library that is
automatically integrated in the final user project. The project is automatically setup, ready for compilation and
execution on the STM32 microcontroller.
X-CUBE-AI also extends STM32CubeMX by adding, for the project creation, specific MCU and board filtering to
select the right devices that fit specific criteria requirements (such as RAM or Flash size) for a user's Neural
Network.

DB3788 - Rev 2 page 3/8


X-CUBE-AI
How does this package complement STM32Cube™?

The X-CUBE-AI tool can generate three kinds of projects:


• system performance project running on the STM32 MCU allowing the accurate measurement of the Neural
Network inference CPU load and memory usage
• validation project that validates incrementally the results returned by the Neural Network, stimulated by
either random or user test data, on both desktop PC and STM32 Arm® Cortex®-M-based MCU embedded
environment
• application template project allowing the building of an application including multi-network support
Note: Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.

DB3788 - Rev 2 page 4/8


X-CUBE-AI
License

3 License

X-CUBE-AI is delivered under the Mix Ultimate Liberty+OSS+3rd-party V1 software license agreement
(SLA0048).
The software components provided in this package come with different license schemes as shown in Table 1.

Table 1. Software component license agreements

Software
Owner License
component

Copyright (c) 2008 Andrew Collette and contributors


http://h5py.alven.org (see note).
h5py 3-Clause BSD
All rights reserved.
Note: refer to http://docs.h5py.org/en/stable/licenses.html.
All contributions by François Chollet:
Copyright (c) 2015 - 2018, François Chollet.
All rights reserved.
All contributions by Google:
Copyright (c) 2015 - 2018, Google, Inc.
All rights reserved.
Keras The MIT License
All contributions by Microsoft:
Copyright (c) 2017 - 2018, Microsoft, Inc.
All rights reserved.
All other contributions:
Copyright (c) 2015 - 2018, the respective contributors.
All rights reserved.
Copyright (c) 2012-2013 Matplotlib Development Team; All Rights
matplotlib PSF(1)
Reserved
Copyright © 2005-2018, NumPy Developers.
numpy
All rights reserved.
Copyright (c) 2007–2018 The scikit-learn developers.
scikit-learn
All rights reserved.
3-Clause BSD
Copyright (C) 2011, the scikit-image team
scikit-image
All rights reserved.
Copyright © 2003-2013 SciPy Developers.
scipy
All rights reserved.
six Copyright (c) 2010-2018 Benjamin Peterson The MIT License

tensorflow Copyright 2018 The TensorFlow Authors. All rights reserved. Apache® License, Version 2.0

DB3788 - Rev 2 page 5/8


X-CUBE-AI
License

Software
Owner License
component

Copyright (c) 2008–2017, Theano Development Team All rights reserved.


Contains code from NumPy, Copyright (c) 2005-2016, NumPy Developers.
All rights reserved.
Contains CnMeM under the same license with this copyright: Copyright (c)
Theano 2015, NVIDIA CORPORATION. All rights reserved. 3-Clause BSD
Contains frozendict code from slezica’s python-frozendict
(https://github.com/slezica/python-frozendict/blob/master/frozendict/
__init__.py),
Copyright (c) 2012 Santiago Lezica. All rights reserved.
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
Python Software Foundation,
typing 2010, 2011, 2012, 2013, 2014 Python Software Foundation; All Rights
Version 2
Reserved
Lasagne Copyright (c) 2014-2015 Lasagne contributors The MIT License
Jinja2 Copyright (c) 2009 by the Jinja Team 3-Clause BSD
Copyright (C) 2004-2012, NetworkX Developers
Aric Hagberg <[email protected]>
networkx Dan Schult <[email protected]> Open source BSD
Pieter Swart <[email protected]>
All rights reserved.

1. Matplotlib only uses BSD-compatible code, and its license is based on the PSF license.

DB3788 - Rev 2 page 6/8


X-CUBE-AI

Revision history

Table 2. Document revision history

Date Version Changes

17-Dec-2018 1 Initial release.


3-Jan-2019 2 Updated Description.

DB3788 - Rev 2 page 7/8


X-CUBE-AI

IMPORTANT NOTICE – PLEASE READ CAREFULLY


STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST
products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST
products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of
Purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
© 2019 STMicroelectronics – All rights reserved

DB3788 - Rev 2 page 8/8

You might also like