PLearn (A C++ Machine Learning Library)

NOTE: PLearn is no longer developed nor maintained (kept for historical record).

PLearn was a C++ machine learning library, initiated in 1998 by Pascal Vincent, developed at Yoshua Bengio's lab (now Mila). It has been used for most of the research coming out of that Lab for about 10 years. Many people have contributed to it over these years.
Its development has long stopped, and it is kept around only for historical records. This was a time long before GPUs were used in ML, before Theano, before pytorch...

Initial motivation for the library

Machine Learning algorithms are usually described in scientific papers in a standard mathematical formulation, often framed as an optimization of a given cost function. PLearn is a C++ library that uses the object-oriented and operator overloading capabilities of the C++ language to allow, among other things, to express cost functions and their optimization as a standard C++ program, in a declarative manner that is as close as possible to their mathematical formalization.

Here is some draft documentation

Guides and tutorials

Source code

APIs (auto-generated doc)

SourceForge Logo