CMSIS-NN is a software framework that is optimized for the low-level neural network (NN) functions on Arm Cortex-M microcontrollers. CMSIS-NN is often called by TFLu in order to interact directly with the microcontroller hardware, but developers can make calls directly to CMSIS-NN from their application code if necessary. CMSIS-NN can be summed up as a collection of neural network functions that includes important features such as the following:
- A minimal memory footprint
- Optimizations specific to neural networks, such as data layout and offline weight ordering
- Improved performance using Cortex-M SIMD instructions
The following diagram provides the reader with an overview of what they can expect to find in CMSIS-NN. A more detailed discussion about the framework is beyond the scope of this book: