TinyMaix  by sipeed

TinyML inference library for microcontrollers

created 3 years ago
997 stars

Top 38.1% on sourcepulse

GitHubView on GitHub
Project Summary

TinyMaix is a lightweight neural network inference library designed for microcontrollers (TinyML), prioritizing ease of use and minimal resource consumption. It enables developers to run AI models on resource-constrained embedded systems, targeting hobbyists and engineers working with microcontrollers.

How It Works

TinyMaix employs a C-based architecture with core code under 400 lines, achieving a .text section size of less than 3KB. It supports INT8, FP32, and FP16 model formats, with experimental FP8 support, and can convert models from Keras H5 or TensorFlow Lite. The library offers multi-architecture acceleration, including ARM SIMD/NEON/MVEI, RV32P, RV64V, CSKYV2, and x86 SSE2, allowing for optimized performance on various platforms.

Quick Start & Requirements

  • Install: pip install git+https://github.com/sipeed/TinyMaix@master
  • Dependencies: TensorFlow <= 2.14.1 (requires Python <= 3.11).
  • Resources: Tested on Arduino ATmega328 (32KB Flash, 2KB RAM) for MNIST.
  • Documentation: Introduction to tinyML, Benchmark

Highlighted Details

  • Core code under 400 lines, .text section < 3KB.
  • Low RAM consumption, runnable on Arduino ATmega328 (2KB RAM).
  • Supports INT8/FP32/FP16 models, experimental FP8.
  • Multi-architecture acceleration (ARM SIMD/NEON/MVEI, RV32P, etc.).

Maintenance & Community

Licensing & Compatibility

  • License: Not explicitly stated in the README, but examples and code suggest permissive usage. Further clarification is recommended for commercial applications.

Limitations & Caveats

  • Python 3.12 is not supported by the required TensorFlow version (<= 2.14).
  • Features like MaxPool and AvgPool are currently implemented using strides, not dedicated operations.
  • Some advanced features like Concat OP and Winograd Convolution Optimization are listed as "Features maybe added" and may increase RAM consumption or code size.
Health Check
Last commit

6 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
35 stars in the last 90 days

Explore Similar Projects

Starred by George Hotz George Hotz(Author of tinygrad; Founder of the tiny corp, comma.ai), Anton Bukov Anton Bukov(Cofounder of 1inch Network), and
16 more.

tinygrad by tinygrad

0.2%
30k
Minimalist deep learning framework for education and exploration
created 4 years ago
updated 8 hours ago
Feedback? Help us improve.