© 2020 NXP B.V.
NXP eIQ™ Machine Learning Software
Development Environment for i.MX
Applications Processors
1. Introduction
Machine Learning (ML) is a computer science domain
that has its roots in the 1960s. ML provides algorithms
capable of finding patterns and rules in data. ML is a
category of algorithm that allows software applications
to become more accurate in predicting outcomes
without being explicitly programmed. The basic
premise of ML is to build algorithms that can receive
input data and use statistical analysis to predict an
output while updating outputs as new data becomes
available.
In 2010, the so-called deep learning started. It is a
fast-growing subdomain of ML, based on Neural
Networks (NN). Inspired by the human brain, deep
learning achieved state-of-the-art results in various
tasks; for example, Computer Vision (CV) and Natural
Language Processing (NLP). Neural networks are
capable of learning complex patterns from millions of
examples. A huge adaptation is expected in the
embedded world, where NXP is the leader. NXP
created eIQ machine learning software for i.MX
applications processors, a set of ML tools which allows
developing and deploying ML applications on the
i.MX 8 family of devices.
Document Number:
Rev.
1. Introduction ....................................................................... 1
2. NXP eIQ software introduction ......................................... 2
3. Yocto installation guide ..................................................... 3
3.1. Prerequisites............................................................ 4
3.2. Building NXP eIQ software support using Yocto
Project tools .......................................................................... 4
4. OpenCV getting started guide ............................................ 8
4.1. OpenCV DNN demos ............................................. 8
4.2. OpenCV standard machine learning demos ...........15
5. Arm Compute Library getting started guide .................... 19
5.1. Running DNN with random weight and inputs ......19
5.2. Running AlexNet using graph API ........................20
6. TensorFlow getting started guide ..................................... 20
6.1. Running benchmark application ............................21
7. TensorFlow Lite getting started guide ............................. 22
7.1. Running benchmark application ............................22
7.2. Running image classification example ..................23
8. Arm NN getting started guide .......................................... 25
8.1. Running Arm NN tests ..........................................25
8.2. Using Arm NN in a custom C/C++ application .....33
9. ONNX Runtime getting started guide .............................. 34
9.1. Running ONNX Runtime test ................................35
10. Security for machine learning .......................................... 35
10.1. Adversarial examples .............................................36
10.2. Model cloning ........................................................38
10.3. Model Inversion .....................................................40
10.4. Library Usage ........................................................41
11. References ....................................................................... 42
12. Revision history ............................................................... 43