nthnn/diwa

By nthnn

Updated about 1 month ago

Lightweight simple implementation of Artificial Neural Network for multiple architecture target.

Image
Data Science
Machine Learning & AI
1

19



Diwa: Tiny AI/ML Library

GCC Build CIEmscripten Build CIArduino CIArduino LintArduino ReleaseLicense: MIT

Diwa is a lightweight library providing a simple implementation of Feedforward Artificial Neural Networks (ANNs) for microcontrollers such as ESP32, ESP8266, RP2040, and similar development boards (specially boards with PSRAM); it is also compatible for desktop environments (Windows, MacOS, and Linux-based OSes), WebAssembly, and even PSP gaming consoles. It is designed for resource-constrained environments but can be used with non-Arduino platform projects, offering a streamlined solution for tasks that require neural network capabilities.

Diwa stands out as a straightforward and effective solution for implementing artificial neural networks on microcontrollers. Key features include:

  • Lightweight: Designed for resource-constrained microcontroller environments yet can still be used within non-Arduino environments.
  • Simple Implementation: Provides a basic yet effective implementation of a Feedforward ANN.
  • Easy Integration: Suitable for microcontrollers like ESP8266, ESP32, and RP2040. Also compatible with desktop environments, WebAssembly, and even PSP gaming console.
  • Training Support: Includes methods for training the neural network using backpropagation.
Note
Diwa is primarily intended for lightweight applications. For more intricate tasks, consider using advanced machine learning libraries on more powerful platforms.

See live demo on Wokwi.

Docker Pull Command

docker pull nthnn/diwa