Skip to main content

Quick access to uncertainty and confidence of Keras networks.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uncertainty-wizard-0.1.3.tar.gz (37.1 kB view details)

Uploaded Source

Built Distribution

uncertainty_wizard-0.1.3-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

File details

Details for the file uncertainty-wizard-0.1.3.tar.gz.

File metadata

  • Download URL: uncertainty-wizard-0.1.3.tar.gz
  • Upload date:
  • Size: 37.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for uncertainty-wizard-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a296725a39df6b51a461ae39e336b554f8f856e18892bb26938f0dd996f2e72b
MD5 8c7e8ea061bb75982fd3c873f5603b65
BLAKE2b-256 b933a14dff45ff839e313bac1d037bc78a43a3a068abffeb2d0b0d592554b120

See more details on using hashes here.

File details

Details for the file uncertainty_wizard-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: uncertainty_wizard-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 47.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for uncertainty_wizard-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d6226afc458a0c8b203009b3344e8238e0174e87c3df7c2e5c9b49a018bf93c1
MD5 56f228009ad1487dbe082b1b4ee81bec
BLAKE2b-256 0214bc419d7a25b561338d534b03427649885b467cd79cedd042a6b7d5d9497f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page