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
conf/local.conf file to include the eIQ packages in your Digi Embedded Yocto image:
IMAGE_INSTALL_append = " armnn tensorflow-lite onnxruntime ml-security opencv pytorch torchvision tvm deepview-rt-examples" PREFERRED_VERSION_tensorflow-lite = "2.4.1" PREFERRED_VERSION_glibc = "2.33"
ml-security is NXP’s additional machine learning security package
torchvision is package containing PyTorch files for computer vision
deepviewrt is a proprietary NXP neural network inference engine
|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.|
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.