Soletta Machine Learning
Soletta Machine Learning is an open source machine learning library for development of IoT devices. It provides APIs to handle with client side AI and an easy to use flow-based Soletta module.
Initially supporting neural networks and fuzzy logic learning, using well established open source libraries, it could be easily extended to support others.
Building
Dependencies
This project depends on:
-
fuzzylite:
-
FANN (Fast Artificial Neural Network Library):
-
Soletta:
Some distros (like Fedora, Ubuntu), has packaged FANN and fuzzylite.
Linux
Build and install all dependencies At the moment, it's required to do a minor fix on fuzzylite/fuzzylite.pc.in: Replace
Cflags: -I${includedir}/fl
by
Cflags: -I${includedir}
Alternativelly it's possible to provide a cmake with extra cflags:
$ cmake -DCMAKE_C_FLAGS="-I/path/to/proper/header/dir/"
After dependencies setup and installation, build machine-learning running: Using both engines:
$ cmake -DFUZZY_ENGINE=ON -DANN_ENGINE=ON .
or
$ cmake .
$ make
Using only the neural networks engine:
$ cmake -DFUZZY_ENGINE=OFF .
$ make
Using only the Fuzzy engine:
$ cmake -DANN_ENGINE=OFF .
$ make
Docs
To build docs run:
$ make doc