Soletta Machine Learning is an open source machine learning library focused on development of IoT projects. It provides API to handle with client side AI and an easy to use flow-based Soletta module. Supports neural networks and fuzzy logic learning and can be easily extended to support others.
C C++ CMake Shell
Switch branches/tags
Nothing to show
Latest commit e59bc82 Jul 15, 2016 @bdilly bdilly Update code regarding recent API changes on Soletta
Signed-off-by: Bruno Dilly <bruno.dilly@intel.com>
Permalink
Failed to load latest commit information.
docs [Docs] Improve ANN introduction. Aug 6, 2015
examples samples: update wiki page reference Mar 24, 2016
simulator Change project license from BSD-3 clause to Apache 2.0 Mar 15, 2016
sml
soletta_module Update code regarding recent API changes on Soletta Jul 14, 2016
.gitignore Soletta machine learning initial commit Jul 23, 2015
AUTHORS Soletta machine learning initial commit Jul 23, 2015
CMakeLists.txt Soletta machine learning initial commit Jul 23, 2015
COPYING Change project license from BSD-3 clause to Apache 2.0 Mar 15, 2016
LICENSE Change project license from BSD-3 clause to Apache 2.0 Mar 15, 2016
README.md Add build status semaphore. Sep 15, 2015

README.md

Soletta Machine Learning

Coverity Scan Build Status Build Status

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:

    • Desc: A fuzzy logic control library written in C++.
    • Site
    • Source
  • FANN (Fast Artificial Neural Network Library):

    • Desc: An open source neural network library.
    • Site
    • Source
  • Soletta:

    • Desc: Soletta Project is a framework for making IoT devices.
    • Site
    • Source

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