What is DBNsim

DBNsim is a web application for training and analysing Deep Belief Networks (DBNs). A Deep Belief Network is a particular type of artificial neural network; it is a stack of Restricted Boltzmann Machines (RBMs) that can be trained with an algorithm known as contrastive divergence. RBMs learn to reconstruct a given input and, if properly analysed, can reveal latent features in the distribution of the input.

DBNsim offers a simple interface for defining the architecture of a DBN, train it on a remote web server (optionally equipped with a GPU), analyse it, and then download the DBN in various formats for performing further analyses.

How to run it on your machine

As said, DBNsim is a web app. That means you can run it on one computer and access it on another. According to your needs, there are several ways in which you can use DBNsim:

  1. If you want to use it locally (i.e. as if it was a normal desktop application on your PC), you just have to launch the app from the command line with Python; then, you will be able to access the user interface on your browser at the local address http://127.0.0.1:8000.
  2. You may want your students to use it in a classroom. For this, you just have to launch the app from the command line and ask your audience to connect their devices to the University network; they will find the user interface at http://your.public.ip.address:8000.
  3. Finally, if you don't have a local intranet like above, you can still publish DBNsim on a remote web server: it will then be available from any computer connected to the internet.

In all three cases, you can follow this step-by-step guide.

Launching DBNsim from a computer equipped with a CUDA-enabled GPU lets you train a DBN directly on the GPU; DBNsim should automatically detect whether or not your computer has a GPU. The main advantage of using it is speed: you will be able to train much larger networks in fewer time.

Index

How to contribute

DBNsim was created by Giorgio Giuffrè for the Computational Cognitive Neuroscience Lab of the Department of General Psychology at the University of Padova, Italy.

If you would like to improve this project and/or report a bug, please feel free to contact the Lab or e-mail Giorgio Giuffrè at [first_name]giuffre23@gmail.com, replacing [first_name] with my first name. The source code is freely available on GitHub.