Created: 2014-05-19 15:49
Updated: 2014-12-26 15:09
License: mit



EffictiveRBM is a python version restricted boltzmann machine tools for solve problems or build more complex model. The effictive means this is a fast rbm tools, it accelerate by cython and multi-process. It has been used to build the autoencoder model which descript by Hinton.

How to Use

First, initialize an RBM with the desired number of visible, hidden units and process number.
Then train the rbm model with Iterator and params which descript in rbm.py

rbm = ParallelRBM(self.converter.dimensionality, 1000, 5)
rbm.train(DefaultBatchIterator(100, self.converter.train_images), max_epochs = 20, batch = 100)


  • NumPy: normal computing
  • Scipy: faster sigmoid computing

Optional dependencies

  • Cython: Only necessary to run the faster version. Version 0.17.1 or higher.
  • matplotlib: For plotting some data



The MIT License (MIT)

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more