The Microchip ATmega328 MCU included in the Arduino UNO board and its numerous clones is compatible with the Sipeed TinyMaix open-source machine learning library, which is built for microcontrollers and is small enough to operate on it.
According to the developer, "TinyMaix is built for executing AI neural network models on resources restricted MCUs [Microcontroller Units], which [is] typically dubbed tinyML." Since TinyMaix was developed as part of a weekend hackathon, it is easy to read through in 30 minutes and will aid tinyML beginners in understanding how it functions.
TinyMaix, which was written over the course of a weekend, is just as little as you would anticipate: The amazing demonstration in which it runs a handwritten digit recognition model on an ATmega328 microcontroller with just 2kB of static RAM (SRAM) and 32kB of flash storage is made feasible by the project's main source code, which comprises just 400 lines.
TinyMaix intends to be a straightforward tinyML infer[erence] library, according to Sipeed. "It does not utilize libs like CMSIS-NN and gives up a lot of new functionality. Following this design objective, compiling TinyMaix now only requires five files."
In its initial version, TinyMaix supports RISC-RV32P V's and RV64V architectures, INT8 and FP32 precision modes, and Arm's SIMD, NEON, and MVEI acceleration instructions. INT16 mode, support for MobileNetV2 above the existing MobileNetV1 limit, and Winograd convolution optimization for improved performance are just a few of the potential future improvements listed by Sipeed. However, the business has said that it would not include features like BF16 compatibility or GPU acceleration. It states, "TinyMaix is for MCUs." Not for powerful computers or smartphones.
On the project's GitHub repository, you can find complete instructions for usage, training, and model conversion from Keras H5 or TensorFlow Lite, as well as the source code released under the permissive Apache 2.0 license. Although it was not yet accessible at the time of writing, Sipeed is also attempting to add support for MaixHub's online model training.