uncertainty-wizard
Uncertainty-Wizard is a plugin on top of tensorflow.keras, allowing to easily and efficiently create uncertainty-aware deep neural networks. Also useful if you want to train multiple small models in parallel.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.1%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Uncertainty-Wizard is a plugin on top of tensorflow.keras, allowing to easily and efficiently create uncertainty-aware deep neural networks. Also useful if you want to train multiple small models in parallel.
Basic Info
- Host: GitHub
- Owner: testingautomated-usi
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://uncertainty-wizard.readthedocs.io
- Size: 420 KB
Statistics
- Stars: 45
- Watchers: 3
- Forks: 6
- Open Issues: 7
- Releases: 9
Topics
Metadata Files
README.md
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 - optionally on multiple GPUs.
- Super easy setup: Pip installable. Only tensorflow as dependency.
Installation
It's as easy as pip install uncertainty-wizard
Requirements
uncertainty-wizard is tested on python 3.8 and recent tensorflow versions.
Other versions (python 3.6+ and tensorflow 2.3+) should mostly work as well, but may require some mild tweaks.
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.
Owner
- Name: testingautomated-usi
- Login: testingautomated-usi
- Kind: organization
- Repositories: 11
- Profile: https://github.com/testingautomated-usi
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: software
authors:
- given-names: Michael
family-names: Weiss
email: michael.weiss@usi.ch
affiliation: Università della Svizzera italiana
orcid: 'https://orcid.org/0000-0002-8944-389X'
- given-names: Paolo
family-names: Tonella
email: paolo.tonella@usi.ch
affiliation: Università della Svizzera italiana
orcid: 'https://orcid.org/0000-0003-3088-0339'
identifiers:
- type: doi
value: 10.5281/zenodo.5121368
description: The software archived on zenodo
- type: doi
value: 10.5281/zenodo.4651517
description: The talk given when presenting the software
- type: doi
value: 10.1109/ICST49551.2021.00056
description: The published paper
title: >-
Uncertainty-wizard: Fast and user-friendly neural
network uncertainty quantification
doi: 10.5281/zenodo.5121368
date-released: 2020-12-18
url: "https://github.com/testingautomated-usi/uncertainty-wizard"
repository: 'https://zenodo.org/record/5121368'
repository-artifact: 'https://pypi.org/project/uncertainty-wizard/'
license: MIT
preferred-citation:
type: article
authors:
- given-names: Michael
family-names: Weiss
email: michael.weiss@usi.ch
affiliation: Università della Svizzera italiana
orcid: 'https://orcid.org/0000-0002-8944-389X'
- given-names: Paolo
family-names: Tonella
email: paolo.tonella@usi.ch
affiliation: Università della Svizzera italiana
orcid: 'https://orcid.org/0000-0003-3088-0339'
doi: "10.1109/ICST49551.2021.00056"
journal: "2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)"
month: 4
start: 436 # First page number
end: 441 # Last page number
title: "Uncertainty-Wizard: Fast and User-Friendly Neural Network Uncertainty Quantification"
year: 2021
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Michael Weiss | c****e@m****h | 62 |
| dependabot[bot] | 4****] | 15 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 96
- Average time to close issues: 12 months
- Average time to close pull requests: 20 days
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 0.43
- Average comments per pull request: 1.14
- Merged pull requests: 17
- Bot issues: 0
- Bot pull requests: 82
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- MiWeiss (5)
- tobwen (1)
- Siyuluan (1)
Pull Request Authors
- dependabot[bot] (80)
- MiWeiss (14)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- recommonmark *
- setuptools *
- sphinx *
- tensorflow >=2.3.0
- autoflake ==1.4 test
- black ==22.3.0 test
- coverage ==6.0.2 test
- docstr-coverage ==2.2.0 test
- flake8 ==4.0.1 test
- isort ==5.10.1 test
- jupyterlab ==3.1.4 test
- actions/checkout v2 composite
- actions/setup-node v2-beta composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-node v2-beta composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-node v2-beta composite
- actions/setup-python v2 composite