# Bayesian denoising of MNIST images

## 1. Instructions to run the experiment

1.   Train the generative model to simulate blurred mnist images by running the file `prior_blur.py`. After training comment out the last line in the file.
2.   Run the file `sim_data.py` which generates simulated training and test data.
3. Run the file `nple.py` to train the model which utilises NPLE based approach.
4. Run the file `nple_sc.py` to train the model which utilises our NPLE + SC based approach.
5. For inference, run the files `plots_nple.ipynb` and `plots_sc.ipynb` to visualise the results of NPLE and NPLE + SC based approaches on the test dataset of real MNIST images, respectively.

## 2. Dependencies

1. Create a conda environment using the file `requirements.txt`. 
