Oger toolbox

About the toolbox

The OrGanic Environment for Reservoir computing (Oger) toolbox is a Python toolbox, released under the LGPL, for rapidly building, training and evaluating modular learning architectures on large datasets. It builds functionality on top of the Modular toolkit for Data Processing (MDP). Using MDP, Oger provides:

  • Easily building, training and using modular structures of learning algorithms
  • A wide variety of state-of-the-art machine learning methods, such as PCA, ICA, SFA, RBMs, ... You can find the full list here.

 The Oger toolbox builds functionality on top of MDP, such as:

In addition, several additional MDP nodes are provided by Oger, such as a:

  • Reservoir node
  • Leaky reservoir node
  • Ridge regression node
  • Conditional Restricted Boltzmann Machine (CRBM) node
  • Perceptron node

Installing the toolbox

The required dependencies for Oger are:

Optional packages are:

Linux  

Dependencies

Most Linux distributions have the required dependencies listed above in their package repositories. For instance, on Ubuntu you can install the dependencies with:

sudo apt-get install python-numpy python-scipy python-mdp

Ulrich Bernert of Planet GmbH has kindly provided this HOWTO on installing Oger and its dependencies on Suse 11.*.

Tarball install

You can download the latest stable version of Oger, version 1.1.2,  here. Unpack the tarball somewhere, and run the included setup script as follows: 

sudo python setup.py install

Repository install

First clone the Oger mercurial repository:

hg clone https://bitbucket.org/benjamin_schrauwen/organic-reservoir-computing-engine/ Oger

Then add the full path to the  ./Oger/src directory to your $PYTHONPATH environment variable. This way anytime you update the repository, the changes will be picked up in your python environment.

Mac OS/X

Dependencies

For Mac OS/X, the Scipy Superpack is a convenient way to install the latest versions of the required dependencies listed above. Note that has only been tested with the standard Python (2.6.4) included with Snow Leopard. 

Tarball/repository install

This is identical to the installation for Linux, described above. 

Windows

For Windows, the easiest option to install the required dependencies for Oger is to use the Python(x,y) installer. This is a scientific Python distribution which includes, a.o., the dependencies listed above but also other useful tools such as Eclipse and IPython.

Then, you can run this installer to setup Oger.

Datasets

Some of the examples included in the Oger package use dataset files. 

  • The analog_speech.py example uses this data.
  • The place_cells_sfa.py example uses this data.
  • The grammar_task.py example uses this data (leave the file compressed).
  • The DBN_classifier_demo.py example uses the MNIST dataset, which can be converted using this script.
  • The timittiny.py example uses the proprietary TIMIT dataset. The files can be extracted using this matlab script.

Getting started

There is a general tutorial and examples highlighting some key functions of Oger here. A pdf version of the tutorial pages is here.

API documentation

You can find an automatically generated API documentation here

Bugs and feature requests

You can submit bugs or requests for additional features using the issue tracking system at BitBucket for this repository. You can submit issues anonymously, but if you want to stay informed of the status of your issue, you should create an account.