Pylearn2 is still undergoing rapid development. Don’t expect a clean road without bumps! If you find a bug please write to firstname.lastname@example.org. If you’re a Pylearn2 developer and you find a bug, please write a unit test for it so the bug doesn’t come back!
Pylearn2 is a machine learning library. Most of its functionality is built on top of Theano. This means you can write Pylearn2 plugins (new models, algorithms, etc) using mathematical expressions, and Theano will optimize and stabilize those expressions for you, and compile them to a backend of your choice (CPU or GPU).
There is no PyPI download yet, so Pylearn2 cannot be installed using e.g. pip. You must check out the bleeding-edge/development version from GitHub using:
git clone git://github.com/lisa-lab/pylearn2.git
To make Pylearn2 available in your Python installation, run the following command in the top-level pylearn2 directory (which should have been created by the previous command):
python setup.py develop
You may need to use sudo to invoke this command with administrator privileges. If you do not have such access (or would rather not add Pylearn2 to the global site-packages for whatever reason), you can install the relevant links inside the user site-packages directory by issuing the command:
python setup.py develop --user
This command will also compile the Cython extensions required for e.g. pylearn2.train_extensions.window_flip.
Alternatively, you can make Pylearn2 available by adding the installation directory to your PYTHONPATH environment variable, but note that changing your PYTHONPATH alone won’t compile the Cython extensions (you will need to make sure the extension .so files are built and accessible within the source tree, e.g. with python setup.py build_ext --inplace).
For some tutorials and tests you will also need to set your PYLEARN2_DATA_PATH variable. On Linux, the best way to do this is to add a line to your ~/.bashrc file:
Note that this is only an example, and if you are not in the LISA lab, you will need to choose a directory path that is valid on your filesystem. Simply choose a path where it will be convenient for you to store datasets for use with Pylearn2.
Pylearn2 in a box uses Vagrant to easily create a new VM installed with Pylearn2 and the necessary packages.
PyYAML is required for most functionality.
PIL is required for some image-related functionality.
matplotlib is required for some plotting functionality.
Pylearn2 is released under the 3-claused BSD license, so it may be used for commercial purposes. The license does not require anyone to cite Pylearn2, but if you use Pylearn2 in published research work we encourage you to cite this article:
Pylearn2 is primarily developed by academics, and so citations matter a lot to us. As an added benefit, you increase Pylearn2’s exposure and potential user (and developer) base, which is to the benefit of all users of Pylearn2. Thanks in advance!
Roughly in order of what you’ll want to check out: