Anassinator Bnn Save

Bayesian Neural Network in PyTorch

Project README

Bayesian Neural Network

.. image:: https://travis-ci.org/anassinator/bnn.svg?branch=master :target: https://travis-ci.org/anassinator/bnn

This is a Bayesian Neural Network (BNN) implementation for PyTorch <https://pytorch.org>_. The implementation follows Yarin Gal's papers "Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning" (see :code:BDropout) and "Concrete Dropout" (see :code:CDropout).

This package was originally based off the work here: juancamilog/prob_mbrl <https://github.com/juancamilog/prob_mbrl>_.

Install

To install simply clone and run:

.. code-block:: bash

python setup.py install

You may also install the dependencies with pipenv as follows:

.. code-block:: bash

pipenv install

Finally, you may add this to your own application with either:

.. code-block:: bash

pip install 'git+https://github.com/anassinator/bnn.git#egg=bnn' pipenv install 'git+https://github.com/anassinator/bnn.git#egg=bnn'

Usage

After installation, :code:import and use as follows:

.. code-block:: python

import bnn

You can see the examples <examples/>_ directory for some Jupyter <https://jupyter.org>_ notebooks with more detailed examples.

The following is an example of what this BNN was able to estimate with a few randomly sampled points (in red) of a noisy :code:sin function. The dotted curve represent the real function that was kept a secret from the model, whereas the black line and the grey area represent the estimated mean and uncertainty.

.. image:: examples/bnn.png :alt: Bayesian neural network estimate of sin(x)

Contributing

Contributions are welcome. Simply open an issue or pull request on the matter.

Linting

We use YAPF <https://github.com/google/yapf>_ for all Python formatting needs. You can auto-format your changes with the following command:

.. code-block:: bash

yapf --recursive --in-place --parallel .

You can install the formatter with:

.. code-block:: bash

pipenv install --dev

License

See LICENSE <LICENSE>_.

Open Source Agenda is not affiliated with "Anassinator Bnn" Project. README Source: anassinator/bnn

Open Source Agenda Badge

Open Source Agenda Rating