Project details for DeeBNet, a new object oriented MATLAB toolbox for Deep Belief Networks

Screenshot DeeBNet, a new object oriented MATLAB toolbox for Deep Belief Networks 2.0

by keyvanrad - July 11, 2015, 14:09:24 CET [ Project Homepage BibTeX Download ]

view (6 today), download ( 0 today ), 4 subscriptions


The DeeBNet (Deep Belief Network) is an object oriented MATLAB toolbox to provide tools for conducting research using Deep Belief Networks. The toolbox has two packages with some classes and functions for managing data and sampling methods and also has some classes to define different RBMs and DBN.

DataClasses package has one class to manage training, testing and validation of data. The DataStore class has some useful functions such as normalize and shuffle functions for normalizing and shuffling of data. The second package includes the implementation of some different sampling methods. These sampling methods are Gibbs, CD, PCD and FEPCD, where FEPCD is our new sampling method.

The toolbox has also six types of RBM classes. The first one, RBM class, is an abstract class that defines all necessary functions (such as training method) and features (like sampler object) in all types of RBMs and therefore , we can't create an object from it. Other RBM classes are inherited from this abstract class. These RBMs are GenerativeRBM, DiscriminativeRBM, SparseRBM, SparseGenerativeRBM and SparseDiscriminativeRBM. The SparseRBM can use three different types of sparsity methods where one of them is our new method namely “normal sparse RBM method”.

In addition, some useful codes are implemented. These codes are the functions to read different datasets and different scripts showing how the toolbox can be used in different applications (MNIST for image recognition, ISOLET for speech recognition and 20 Newsgroups for text categorization) and can be applied to different problems (classification, feature extraction, data reconstructing, noise reduction, new data generation, etc).

Changes to previous version:

Initial Announcement on

BibTeX Entry: Download
URL: Project Homepage
Supported Operating Systems: Platform Independent
Data Formats: Matlab
Tags: Classification, Deep Belief Networks, Feature Extraction, Artificial Neural Network, Matlab Toolbox, Restricted Boltzmann Machine
Archive: download here

Other available revisons

Version Changelog Date

New in toolbox

  • Using GPU in Backpropagation
  • Revision of some demo scripts
  • Function approximation with multiple outputs
  • Feature extraction with GRBM in first layer


June 26, 2016, 16:19:55

New in toolbox

  • Bug fix in changing learning rate.
  • Expanded generateData function in using after backpropagation.
  • Expanded reconstructData function in using after backpropagation.


January 19, 2016, 08:13:41

New in toolbox

  • Editing toolbox for using in Octave.


January 9, 2016, 10:44:13

New in toolbox

  • Bug was fixed for computeBatchSize function in Linux.
  • Revision of some demo scripts. cardinal
September 5, 2015, 14:14:16

New features

  • GPU support (about 5 times faster than CPU - test in GPU: NVIDEA GeForce GTX 780 CPU: AMD FX 8150 Eight-Core 3.6 GHz)
  • Cast DBN parameters to single and double data types
  • Sparsity in RBM with three different methods
  • Plotting bases function
  • Classification and feature extraction on 20 Newsgroups datasets
  • Code correction in using back propagation.
  • Runtime and memory code optimization in Normalization and Shuffling


July 23, 2015, 07:12:22

Initial Announcement on

July 11, 2015, 14:09:24


No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.