probly is intended to work with Python 3.12 and above. Installation can be done via pip and
or uv:
pip install problyuv add problyprobly 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 detectionThis project is licensed under the MIT License.
Built with ❤️ by the probly team.