Skip to content

Latest commit

 

History

History
85 lines (65 loc) · 3.23 KB

README.md

File metadata and controls

85 lines (65 loc) · 3.23 KB

gaml

Build Status

A C++ generic programming library for machine learning, developped by Frédéric Pennerath, Jérémy Fix and Hervé Frezza-Buet.

Documentation

The directory contains several source packages, the documentation for each of them can be found in the doc directory as a doxygen generated html file.

For example, the documentation of gaml-libsvm is accessible from doc/gaml-libsvm/index.html

C++17

The compilation of gaml requires C++-17, which means you need gcc >= 7. On ubuntu 16.04, the latest installed gcc is version 5, therefore you need to do the following :

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100 --slave /usr/bin/g++ g++ /usr/bin/g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 150 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --config gcc

You may need to adapt the update-alternatives install depending on the versions that are installed on your system.

Unix Installation

First, get the files in some directory where you compile things.

cd my_directory
git clone https://github.com/HerveFrezza-Buet/gaml
cd gaml

Then, you can install all packages as follows. The commands below concern the installation of the gaml package, the installation of the other packages is similar. For Ubuntu or a Fedora-32bit architecture:

mkdir -p gaml/build
cd gaml/build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j
sudo make install
cd ../..

For a Fedora-64bit architecture:

mkdir -p gaml/build
cd gaml/build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64
make -j
sudo make install
cd ../..

The default installation uses GNU compilers gcc/g++. However clang is also supported. Just set CC and CXX environment variables as follows before running cmake.

export CC= /usr/bin/clang
export CXX= /usr/bin/clang++

The available packages are :

gaml
The core library. It provide generic tools for usual data handling in machine learning.
gaml-datasets
Various standard datasets in the gaml framework
gaml-linear
Linear learning (LASSO and LARS) with gaml.
gaml-libsvm
Libsvm support. libsvm should be installed first.
gaml-xtree
Extreme decision trees support.
gaml-mlp
Multi-layer perceptron support. easykf should be installed first.

Related projects

Libsvm
SVM algorithms.
easykf
C++ kalman filtering
vq3
C++ generic vector quantization
RLlib
C++ generic reinforcement learning