Skip to content

timoverse/probly

 
 

Repository files navigation

probly: Uncertainty Representation and Quantification for Machine Learning

probly logo

PyPI version PyPI status PePy codecov Contributions Welcome License

🛠️ Install

probly is intended to work with Python 3.12 and above. Installation can be done via pip and or uv:

pip install probly
uv add probly

⭐ Quickstart

probly makes it very easy to make models uncertainty-aware and perform several downstream tasks:

import probly
import torch.nn.functional as F

net = ...  # get neural network
model = probly.representation.Dropout(net)  # make neural network a Dropout model
train(model)  # train model as usual

data = ...  # get data
preds = model.predict_representation(data)  # predict an uncertainty representation
eu = probly.quantification.classification.mutual_information(preds)  # compute model's epistemic uncertainty

data_ood = ...  # get out of distribution data
preds_ood = model.predict_representation(data_ood)
eu_ood = probly.quantification.classification.mutual_information(preds_ood)
auroc = probly.evaluation.tasks.out_of_distribution_detection(eu,
                                                              eu_ood)  # compute the AUROC score for out of distribution detection

📜 License

This project is licensed under the MIT License.


Built with ❤️ by the probly team.

About

Uncertainty Representation and Quantification for Machine Learning 🤔

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 51.5%
  • Jupyter Notebook 48.5%