A C++ generic programming library for machine learning, developped by Frédéric Pennerath, Jérémy Fix and Hervé Frezza-Buet.
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
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.
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.