Skip to main content

Hierarchical Probabilistic Graphical Models in PyTorch

Project description

# README of “PyTorch-ProbGraph”

## What is PyTorch-ProbGraph?

PyTorch-ProbGraph is a library based on amazing PyTorch (https://pytorch.org) to easily use and adapt directed and undirected Hierarchical Probabilistic Graphical Models. These include Restricted Boltzmann Machines, Deep Belief Networks, Deep Boltzmann Machines and Helmholtz Machines (Sigmoid Belief Networks).

Models can be set up in a modular fashion, using UnitLayers, layers of Random Units and Interactions between these UnitLayers. Currently, only Gaussian, Categorical and Bernoulli units are available, but an extension can be made to allow all kinds of distributions from the Exponential family. (see https://en.wikipedia.org/wiki/Exponential_family)

The Interactions are usually only linear for undirected models, but can be built from arbitrary PyTorch torch.nn.Modules (using forward and the backward gradient).

There is a pre-implemented fully-connected InteractionLinear, one for using existing torch.nn.Modules and some custom Interactions / Mappings to enable Probabilistic Max-Pooling. Interactions can also be connected without intermediate Random UnitLayers with InteractionSequential.

This library was built by Korbinian Poeppel and Hendrik Elvers during a Practical Course “Beyond Deep Learning - Uncertainty Aware Models” at TU Munich. Disclaimer: It is built as an extension to PyTorch and not directly affiliated.

## Documentation A more detailed documentation is included, using the Sphinx framework. Go inside directory ‘docs’ and run ‘make html’ (having Sphinx installed). The documentation can then be found inside the _build sub-directory.

## Examples There are some example models, as well as an evaluation script in the examples folder.

## License This library is distributed in a … license.

## References Ian Goodfellow and Yoshua Bengio and Aaron Courville, http://www.deeplearningbook.org

Jörg Bornschein, Yoshua Bengio Reweighted Wake-Sleep https://arxiv.org/abs/1406.2751

Geoffrey Hinton, A Practical Guide to Training Restricted Boltzmann Machines https://www.cs.toronto.edu/~hinton/absps/guideTR.pdf

Ruslan Salakhutdinov, Learning Deep Generative Models https://tspace.library.utoronto.ca/handle/1807/19226

Honglak Lee et al., Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations, ICML09

G.Hinton, S. Osindero A fast learning algorithm for deep belief nets

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyTorch-ProbGraph-0.0.1.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

PyTorch_ProbGraph-0.0.1-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file PyTorch-ProbGraph-0.0.1.tar.gz.

File metadata

  • Download URL: PyTorch-ProbGraph-0.0.1.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for PyTorch-ProbGraph-0.0.1.tar.gz
Algorithm Hash digest
SHA256 15ec27675b3fbc136444af177eb6d05944d81545b6064921e4d337750bc1fbf2
MD5 8710fc641942c9b56484202398d650ef
BLAKE2b-256 cf8a54cc8605a5f290d3ef59819927b5d18c8ada71cbf5aa64d3c8fd502238f2

See more details on using hashes here.

File details

Details for the file PyTorch_ProbGraph-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: PyTorch_ProbGraph-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for PyTorch_ProbGraph-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a65e3472453e7d0a9bb796d7994a0fe4f0b7e7a7b569ce8ab3f986fc393b9488
MD5 63598878ac62bb4c9bec72c6e950312b
BLAKE2b-256 91007751cb23cb06aaa0c5fb6b0d40db84c57380c618457ec5f40fb66da5fe8a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page