NeuralNetworks

A resource-conscious neural network implementation for MCUs

MIT License

Stars
73
Committers
2

Bot releases are visible (Hide)

NeuralNetworks - 🕸️ NeuralNetworks

Published by GiorgosXou 3 months ago

Donate Discord Server

NeuralNetworks - 🕸️ NeuralNetworks

Published by GiorgosXou 4 months ago

  • Added:
    • _2_OPTIMIZE 0B00000010 aka REDUCE_RAM_STATIC_REFERENCE_FOR_MULTIPLE_NN_OBJECTS. Or in other words: REDUCE_RAM_STATIC_REFERENCE-optimization support for when using multiple NN objects in your sketch interchangeably. Meaning no more need for manual updating of NN.me ...

Donate Discord Server

NeuralNetworks - 🕸️ NeuralNetworks

Published by GiorgosXou 4 months ago

[!WARNING]
Due to #37 being an issue for many versions of new arduino-cores, I highly-suggest to replace binary-constants in your sketches with the prefix 0 like so: #define _1_OPTIMIZE B00000000 --> #define _1_OPTIMIZE 0B00000000.

Donate

NeuralNetworks - 🕸️ NeuralNetworks

Published by GiorgosXou 5 months ago

  • Added:
    • Version message during compilation
    • Reminder REDUCE_RAM_WEIGHTS_LVL2 message during compilation
  • Fixed:
    • #35 unnecessary inline declaration of array, causing issues with old versions of gcc
    • #34 Misleading message for multiple custom functions
    • Potential ODR violation
  • Replaced:
    • ATtiny85 compilation message, with a more important one related to NN.print()

[!NOTE]
Special thanks to Grzegorz Kuduk for using and referencing my library into his master's thesis "Distributed machine learning in a microcontroller network" PDF.

Donate

NeuralNetworks - 🕸️ NeuralNetworks

Published by GiorgosXou 5 months ago

Bumping up version because I accidently forgot to do so in library.properties and Arduino's library-manager won't show\update-to the latest version otherwise. Additionally: updated README.md and resolved another typo, and issue related to previous version should be resolved when this log gets updated.

NeuralNetworks - 🕸️ NeuralNetworks

Published by GiorgosXou 7 months ago

[!NOTE]
I want to really thanks @ripred for his kind and honest words, especially for "... You did a great job on this and should be proud.". But also, I want to thanks Ivo Ljubičić for using my library in his ✨ master thesis named "Artificial skin concept for human-robot physical interaction". And last but not least @pjurczen for giving me the spark I needed when he said "... I'd love to see this feature added!".

(Additionally: Note that all feature are compatible with almost all optimization use cases)

Donate

NeuralNetworks - 🕸️ NeuralNetworks

Published by GiorgosXou 11 months ago

  • Added support for:
    • Internal EEPROM, SD
    • 8-byte double precision
    • Custom activation functions
    • Basic ESP32-S3 SIMD instructions
  • Fixed:
    • Multiple #define - compiler warnings
    • Many issues related to ESP32 compilation
    • #14 #17 #18 #19 #20 #21 #22 #23

[!NOTE]
Special thanks to the "National Institute of Telecommunications Research and Training- National University of Engineering, Perú" for using and referencing my library into their beautiful article

Donate

NeuralNetworks - Simple MLP - NeuralNetwork Library

Published by GiorgosXou about 3 years ago

NeuralNetworks - Simple MLP - NeuralNetwork Library

Published by GiorgosXou over 3 years ago

  • Crucial fix for back-propagation with "multiple activation functions".
  • Support for "multiple activation function" use without defining Functions.
  • Fixed const pointer ISSUE .
  • Minor fixes.
NeuralNetworks - Simple MLP - NeuralNetwork Library

Published by GiorgosXou over 3 years ago

Support for:

  • More Activation Functions.
  • Activation Functions Per Layer.
  • Optimizations based on user's Preference.
NeuralNetworks - Simple MLP - NeuralNetwork Library

Published by GiorgosXou almost 4 years ago

NeuralNetworks - Simple MLP - NeuralNetwork Library

Published by GiorgosXou over 5 years ago

  • Optimazed Algorithm For Less SRAM Usage.
  • Only Sigmoid Activation Function.
  • Use of PROGMEM.
Badges
Extracted from project README
Donate Donate Donate