No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with laurent-dinh:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

NICE: Non-linear independent components estimation

This repository contains code (in pylearn2/) and hyperparameters (in exp/) for the paper:

"NICE: Non-linear independent components estimation" Laurent Dinh, David Krueger, Yoshua Bengio. ArXiv 2014.

Please cite this paper if you use the code in this repository as part of a published research project.

We are an academic lab, not a software company, and have no personnel devoted to documenting and maintaing this research code. Therefore this code is offered with minimal support. Exact reproduction of the numbers in the paper depends on exact reproduction of many factors, including the version of all software dependencies and the choice of underlying hardware (GPU model, etc). We used NVIDA Ge-Force GTX-580 graphics cards; other hardware will use different tree structures for summation and incur different rounding error. If you do not reproduce our setup exactly you should expect to need to re-tune your hyperparameters slight for your new setup.

Moreover, we have not integrated any unit tests for this code into Theano or Pylearn2 so subsequent changes to those libraries may break the code in this repository. If you encounter problems with this code, you should make sure that you are using the development branch of Pylearn2 and Theano, and use git checkout to go to a commit from approximately October 21, 2014. More precisely git checkout 3be2a6 (for Pylearn2) and git checkout 165eb4 (for Theano).

This code itself requires no installation besides making sure that the nice directory is in a directory in your PYTHONPATH. If installed correctly, python -c "import nice" will work. You must also install Pylearn2 and Pylearn2's dependencies (Theano, numpy, etc.)

Call pylearn2/scripts/ on the various yaml files in this repository to train the model for each dataset reported in the paper. The names of *.yaml are fairly self-explanatory.