model = CalibrationFnCall( UncertaityFnCall( <keras_model> ) )Welcome to WUT?! a wrapper for uncertainty in tensorflow. This is a library for uncertainty quantification in deep neural networks implemented in TensorFlow/Keras. Networks can be wrapped in one of the WUT? classes in a single line of code. For instance,
from WUT.Ensemble import Ensemble
model = Ensemble(<keras_model>)You can estimate both the mean and standard deviation for test inputs.

Available uncertainty quantification models are,
| Model | Type of Uncertainty | Compatible with |
|---|---|---|
| Ensemble | Epistemic | Any network |
| MC Dropout | Epistemic | Any network |
| Stochastic Variational Inference | Epistemic and Aleatoric | Fully connected layers only |
| Variance Networks | Aleatoric | Fully connected layers only |
| Mixture of Gaussians/Mixture Density Networks | Aleatoric | Last layer |
pip install tensorflow (tested with v.2.4.1, should work for >= v.2.2)
pip install tensorflow-probability --upgrade(tested with v.0.12.2)
pip install keras-mdn-layer
This library has a dependency on this repo. Shoutout to compercussion on github for making the mdn layer, which is extremely good.
We welcome any contributions. Please make a pull request. Documents are generated using pdoc3. To install pdoc3 pip install pdoc3. To update the documentation pdoc --html WUT --output-dir docs. You might need to delete the subfolder WUT/docs/WUT.
This library is maintained by Chris Healy and Ransalu Senanayake.
