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)