The NXP eIQ ML (edge intelligence machine learning) software environment provides tools to perform inference on embedded systems with neural network models. The software includes security features as well as optimizations that leverage the hardware capabilities of the i.MX8M Nano family for improved performance. Examples of applications that typically use neural network inference include object/pattern recognition, gesture control, voice processing, and sound monitoring.

eIQ includes support for five standard inference engines:

Performance numbers documented by NXP have been made with i.MX8M Plus, a CPU that has a dedicated Neural Processing Unit (NPU). Expect lower performance on ConnectCore 8M Nano. Differences in CPU speed and memory bus width can also affect performance.

Include eIQ packages in Digi Embedded Yocto

Edit your conf/local.conf file to include the eIQ packages in your Digi Embedded Yocto image:

IMAGE_INSTALL_append = " armnn pyarmnn tensorflow-lite onnxruntime ml-security opencv pytorch torchvision"
  • pyarmnn is an Arm NN (neural network) Python API package

  • ml-security is NXP’s additional machine learning security package

  • torchvision is package containing PyTorch files for computer vision

Including these packages increases the size of the rootfs image by more than 1 GiB. To minimize the increase in image size, select a subset of the packages depending on your needs.

More information

See NXP’s i.MX Machine Learning User’s Guide for more information on eIQ. See also the Security for Machine Learning Package application note for information on eIQ’s security features.