github.com/mlpack/mlpack

mlpack: a fast, header-only C++ machine learning library

Open this visualization on its own page →

Contributors

347

Lines of Code

152,322

From

2007-03-14

To

2022-01-26

About mlpack/mlpack

mlpack is a fast, header-only C++ machine learning library designed as a versatile toolkit for machine learning researchers and practitioners. It implements a wide array of machine learning algorithms and functions with an intuitive C++ interface, aiming to serve as a machine learning analog to LAPACK. The library's lightweight C++ implementation makes it suitable for both production environments and interactive prototyping through C++ notebooks.

Beyond its core C++ interface, mlpack provides extensive language bindings including Python, R, Julia, and Go, as well as command-line programs for accessibility across different workflows. The library depends on Armadillo for linear algebra, ensmallen for optimization, and cereal for serialization, and it requires a C++17 compiler. It bundles several header-only libraries like STB for image loading and httplib for dataset downloads to minimize external dependencies.

The project emphasizes practical usability through comprehensive documentation, quickstart guides for multiple languages, and an examples repository showcasing real-world applications. It is fiscally sponsored by NumFOCUS and operates under an open governance model, making it a community-driven resource for machine learning development.

Share this video