Skip to main content

UNCERTAINTY WIZARD

Documentation Status PyPI

Best Paper Award at ICST 2021 - Testing Tool Track

Uncertainty wizard is a plugin on top of tensorflow.keras, allowing to easily and efficiently create uncertainty-aware deep neural networks:

  • Plain Keras Syntax: Use the layers and APIs you know and love.
  • Conversion from keras: Convert existing keras models into uncertainty aware models.
  • Smart Randomness: Use the same model for point predictions and sampling based inference.
  • Fast ensembles: Train and evaluate deep ensembles lazily loaded and using parallel processing.
  • Super easy setup: Pip installable. Only tensorflow as dependency.

Installation

It's as easy as pip install uncertainty-wizard

Requirements

  • tensorflow >= 2.3.0
  • python 3.6* / 3.7 / 3.8

*python 3.6 requires to pip install dataclasses

Documentation

Our documentation is deployed to uncertainty-wizard.readthedocs.io. In addition, as uncertainty wizard has a 100% docstring coverage on public method and classes, your IDE will be able to provide you with a good amount of docs out of the box.

You may also want to check out the technical tool paper (preprint), describing uncertainty wizard functionality and api as of version v0.1.0.

Examples

A set of small and easy examples, perfect to get started can be found in the models user guide and the quantifiers user guide. Larger and examples are also provided - and you can run them in colab right away. You can find them here: Jupyter examples.

Authors and Papers

Uncertainty wizard was developed by Michael Weiss and Paolo Tonella at USI (Lugano, Switzerland). If you use it for your research, please cite these papers:

@inproceedings{Weiss2021FailSafe,  
  title={Fail-safe execution of deep learning based systems through uncertainty monitoring},
  author={Weiss, Michael and Tonella, Paolo},
  booktitle={2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)},
  pages={24--35},
  year={2021},
  organization={IEEE} 
}  

@inproceedings{Weiss2021UncertaintyWizard,  
  title={Uncertainty-wizard: Fast and user-friendly neural network uncertainty quantification},
  author={Weiss, Michael and Tonella, Paolo},
  booktitle={2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)},
  pages={436--441},
  year={2021},
  organization={IEEE}
}  

The first paper (preprint) provides an empricial study comparing the approaches implemented in uncertainty wizard, and a list of lessons learned useful for reasearchers working with uncertainty wizard. The second paper (preprint) is a technical tool paper, providing a more detailed discussion of uncertainty wizards api and implementation.

References to the original work introducing the techniques implemented in uncertainty wizard are provided in the papers listed above.

Contributing

Issues and PRs are welcome! Before investing a lot of time for a PR, please open an issue first, describing your contribution. This way, we can make sure that the contribution fits well into this repository. We also mark issues which are great to start contributing as as good first issues. If you want to implement an existing issue, don't forget to comment on it s.t. everyone knows that you are working on it.

Metadata

Release files for uncertainty-wizard 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uncertainty-wizard 0.3.0
File Size Uploaded
uncertainty-wizard-0.3.0.tar.gz 38.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uncertainty-wizard 0.3.0
File Interpreter ABI Platform
uncertainty_wizard-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 87.1 kB

Release files / uncertainty-wizard-0.3.0.tar.gz

Download URL uncertainty-wizard-0.3.0.tar.gz
Size 38.2 kB
Tags Source
SHA-256 checksum
How to use checksums
faf9ee286a7050715be33bc6fd8d48f3566b90ac1bfa15bfa15cb62328fbf729
BLAKE2b-256 checksum
How to use checksums
bb665b96ef11616938f2c00928d26b32368ef79a361e2990c7afcb058f0420f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.8.2 requests/2.27.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.8.10

Release files / uncertainty_wizard-0.3.0-py3-none-any.whl

Download URL uncertainty_wizard-0.3.0-py3-none-any.whl
Size 49.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aaf90dd8c1f94b9f957fcef106a2180a5a9d76ab6c701f48bc8eed015700d1a3
BLAKE2b-256 checksum
How to use checksums
df2dd45ee3cb9b0ebd1197a2560ea99965fe87062f53b52f03b0fb4d62e9f5b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.8.2 requests/2.27.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.8.10

Release history Release notifications | RSS feed

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page