Skip to main content

Quick access to uncertainty and confidence of Keras networks.

Project description

UNCERTAINTY WIZARD

Documentation Status PyPI

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

Note that tensorflow 2.4 has just been released. We will test and create compatibility with uncertainty wizard in the next couple of weeks. Until then, please stick to tensorflow 2.3.x.

*python 3.6 requires to pip install dataclasses

Documentation

Our documentation is deployed to: uncertainty-wizard.readthedocs.io/

Note that we have a 100% docstring coverage on public method and classes. Hence, your IDE will be able to provide you with a good amount of docs out of the box.

Examples

A set of small and easy examples, perfect to get started can be found in the user guide for our models and the user guide for our quantifiers

Larger and examples are also provided - and you can run them in colab right away. You can find them here: List of jupyter examples

Authors and Paper

uncertainty-wizard was developed by Michael Weiss and Paolo Tonella at USI (Lugano, Switzerland). An early version was first presented in the following paper (preprint can be found here):

Fail-Safe Execution of Deep Learning based Systems through Uncertainty Monitoring (expand for BibTex)
@inproceedings{Weiss2021,  
  title={Fail-Safe Execution of Deep Learning based Systems through Uncertainty Monitoring},  
  author={Weiss, Michael and Tonella, Paolo},  
  booktitle={2021 IEEE 14th International Conference on Software Testing,   
    Validation and Verification (ICST)},  
  year={2021},  
  organization={IEEE},  
  note={forthcoming}  
}  

We are also currently writing a technical tool paper, describing design choices and challenges. We are happy to share a preprint upon request.

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.

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.0.tar.gz (35.6 kB view details)

Uploaded Source

Built Distribution

uncertainty_wizard-0.1.0-py3-none-any.whl (46.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uncertainty-wizard-0.1.0.tar.gz
  • Upload date:
  • Size: 35.6 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.48.2 CPython/3.8.5

File hashes

Hashes for uncertainty-wizard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6a6f3494d5728a993caecb653609235ef0bd0b2c2ad755cd19addd9d333a336a
MD5 3822987b1c8cab0e56f2d174d26f70d9
BLAKE2b-256 94d0513f369a346e1ba0705181ba68d9b2ec46498178134f24e495a49c9ae1c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uncertainty_wizard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 46.4 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.48.2 CPython/3.8.5

File hashes

Hashes for uncertainty_wizard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f3e6f29465541c3eea8932904519ed60f5367fa8d4cbb5f55b5c57ed83db23b
MD5 6a26b4dcb25873db8e0b29d6c2c8c1f3
BLAKE2b-256 a6370478f7ea7900492f15029c6ab1f4fec22e360c5606c58506f631acc80366

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