microflow-rs
esp-nn
microflow-rs | esp-nn | |
---|---|---|
1 | 3 | |
59 | 118 | |
- | 9.3% | |
7.8 | 4.7 | |
3 months ago | 7 months ago | |
Rust | Assembly | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
microflow-rs
-
TinyML: Ultra-low power Machine Learning
I built a Rust TinyML compiler for my master thesis project: https://github.com/matteocarnelos/microflow-rs
It uses Rust procedural macros to evaluate the model at compile time and create a predict() function that performs inference on the given model. By doing so, I was able to strip down the binary way more than TensorFlow Lite for Microcontrollers and other engines. I even managed to run a speech command recognizer (TinyConv) on an 8-bit ATmega328 (Arduino Uno).
esp-nn
-
TinyML: Ultra-low power Machine Learning
There are a range of ML acceleration possible on existing chips. The basic 4-wide 8 bit integer SIMD extensions in NEON is available on basically all ARM Cortex M4F chips, which is already available 8+ years. It gives 4-5x speedup for neural networks.
The more recent ESP32-S3 has operations with up to 10x speedup, see https://github.com/espressif/esp-nn
Then there are RISCV chips with neural network co processors like Kendryte K210.
ARM has also defined a new set of extensions for NN acceleration, and reference designs for cores being ARM Cortex M85. Chips are becoming available this year.
-
[Discussion] Best practices for taking deep learning models to bare metal MCUs
https://github.com/espressif/esp-nn https://github.com/espressif/tflite-micro-esp-examples
-
Ask HN: What Are You Working on This Year?
The ESP32-S3 introduces vector instructions which are supported by TFLite already. See here - https://github.com/espressif/esp-nn#performance
S3 also supports Octal PSRAM vs the single lane SPI PSRAM found on the older ESP32-CAM style boards, should be 8x the bandwidth with all else equal. So far I've only seen the octal PSRAM's available on WROOM modules and it looks likes there only support for Espressif branded Octal PSRAM chips at this point.
What are some alternatives?
love - LÖVE is an awesome 2D game framework for Lua.
roqr - QR codes that will rock your world
Home Assistant - :house_with_garden: Open source home automation that puts local control and privacy first.
bevy - A refreshingly simple data-driven game engine built in Rust
linux-surface - Linux Kernel for Surface Devices