Mlpack


mlpack is a machine learning software library for C++, built on top of the Armadillo library. mlpack has an emphasis on scalability, speed, and ease-of-use. Its aim is to make machine learning possible for novice users by means of a simple, consistent API, while simultaneously exploiting C++ language features to provide maximum performance and maximum flexibility for expert users. Its intended target users are scientists and engineers.
It is open-source software distributed under the BSD license, making it useful for developing both open source and proprietary software. Releases 1.0.11 and before were released under the LGPL license. The project is supported by the Georgia Institute of Technology and contributions from around the world.

Miscellaneous features

Template classes for GRU, LSTM structures are available, thus the library also supports Recurrent Neural Networks.
There are bindings to R, Go, Julia, and Python. Its binding system is extensible to other languages.

Supported algorithms

Currently mlpack supports the following algorithms and models:
mlpack uses the mathematical optimization library for training many of the above models.