mlpack: Or, How I Learned To Stop Worrying And Love C++
mlpack: Or, How I Learned To Stop Worrying And Love C++


mlpack is a general-purpose flexible, fast machine learning library written in C++. The library aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. These algorithms are provided as simple command-line programs, Python bindings (and bindings to other languages), and also C++ classes which can then be integrated into larger-scale machine learning solutions. In this tutorial, I will introduce mlpack and discuss how it achieves its fast implementations via template metaprogramming and by implementing more
asymptotically efficient algorithms. Even though C++ is fairly unpopular for machine learning, I will show that it is possible to have easy, understandable, production-quality C++ machine learning code with mlpack. I will also give some examples of usage, including how we use mlpack inside of RelationalAI, and also talk about the future goals and development of the library.


Ryan Curtin is a Computer Scientist at RelationalAI. His Ph.D. work focused on fast algorithms for core machine learning tasks via the use of indexing structures such as kd-trees and other related structures. These accelerated algorithms enabled fast implementations of standard machine learning algorithms like nearest neighbor search, k-means clustering, and kernel density estimation; these implementations then formed the basis of the mlpack C++ machine learning library, which Ryan has maintained for nearly a decade. In his free time, he likes to restore broken pinball machines---and if they are ever restored to a working state, actually play them (thus helping them return to a non-working state).

Open Data Science




Open Data Science
One Broadway
Cambridge, MA 02142

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Consent to display content from - Youtube
Consent to display content from - Vimeo
Google Maps
Consent to display content from - Google