# Bayesian-Neural-Network-Pytorch

This is a lightweight repository of bayesian neural network for PyTorch.

## Usage

π Dependencies

- torch 1.2.0
- python 3.6

π¨ Installation

`pip install torchbnn`

or`git clone https://github.com/Harry24k/bayesian-neural-network-pytorch`

`import torchbnn`

π Demos

**Bayesian Neural Network Regression**(code): In this demo, two-layer bayesian neural network is constructed and trained on simple custom data. It shows how bayesian-neural-network works and randomness of the model.**Bayesian Neural Network Classification**(code): To classify Iris data, in this demo, two-layer bayesian neural network is constructed and trained on the Iris data. It shows how bayesian-neural-network works and randomness of the model.**Convert to Bayesian Neural Network**(code): To convert a basic neural network to a bayesian neural network, this demo shows how`nonbayes_to_bayes`

and`bayes_to_nonbayes`

work.**Freeze Bayesian Neural Network**(code): To freeze a bayesian neural network, which means force a bayesian neural network to output same result for same input, this demo shows the effect of`freeze`

and`unfreeze`

.

## Citation

If you use this package, please cite the following BibTex (SemanticScholar, GoogleScholar):

```
@article{lee2022graddiv,
title={Graddiv: Adversarial robustness of randomized neural networks via gradient diversity regularization},
author={Lee, Sungyoon and Kim, Hoki and Lee, Jaewook},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
year={2022},
publisher={IEEE}
}
```

π Update Records

Here is update records of this package.

## Thanks to

- @kumar-shridhar github:PyTorch-BayesianCNN
- @xuanqing94 github:BayesianDefense