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.
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)
- Cython: Only necessary to run the faster version. Version 0.17.1 or higher.
- matplotlib: For plotting some data
- A Practical guide to training restricted Boltzmann machines, by Geoffrey Hinton.
- Reducing the Dimensionality of data with neural networks, by Geoffrey Hinton.
- Learning Deep Architectures for AI, by Yoshua Bengio.
The MIT License (MIT)