Overview
Introduction
This user manual describes the NMSIS NN software library, a collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Nuclei N/NX Class Processors cores.
The library is divided into a number of functions each covering a specific category:
Activation Functions
BasicMath Functions
Concatenation Functions
Convolution Functions
Fully-Connected Functions
LSTM Functions
NNSupport Functions
Pooling Functions
Reshape Functions
Softmax Functions
SVD Functions
The library has separate functions for operating on different weight and activation data types including 8-bit integers (q7_t) and 16-bit integers (q15_t). The descrition of the kernels are included in the function description.
The implementation details are also described in this paper CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs .
Block Diagram
Examples
The library ships with a number of examples which demonstrate how to use the library functions.
Pre-processor Macros
Each library project have different pre-processor macros controlled via CMakeLists.txt.
This library is only built for little endian targets.