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.
This project depends on:
-
fuzzylite:
-
FANN (Fast Artificial Neural Network Library):
-
Soletta:
Some distros (like Fedora, Ubuntu), has packaged FANN and fuzzylite.
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
To build docs run:
$ make doc