Releases: understandable-machine-intelligence-lab/Quantus
v0.6.0
v0.6.0
This release introduces a major update to Quantus, focused on performance, scalability, and compatibility with the key addition being the support for batched metric evaluation, which significantly improves runtime efficiency. The release also includes initial support for HuggingFace models, internal cleanups, and compatibility upgrades.
What’s Changed
Batch support for explanation metrics
- Added batch-based evaluation to the following metrics:
PixelFlipping,Monotonicity,MonotonicityCorrelation,FaithfulnessCorrelation,FaithfulnessEstimate.
- Utility functions adapted for batch computation:
correlation_pearson,correlation_spearman,correlation_kendall_tausimilarity,calculate_auc,get_baseline_dict.
- Legacy per-instance versions removed for consistency and runtime gains.
Batch correctness was validated via side-by-side comparison with previous outputs across 30 random runs per sample. Deterministic metrics were verified using np.allclose, while stochastic ones were compared using statistical tests (e.g., t-tests showed strong output agreement in >90% of cases).
Thanks to @davor10105 for leading the batch refactor and validation.
HuggingFace Transformers support
- Initial integration of
transformersviaPyTorchModelwrapper forSequenceClassificationtasks. predictnow handles HuggingFace models out of the box.- Added test coverage and linting via
toxandflake8.
Thanks to @abarbosa94 for the transformer implementation.
Other improvements
- Dropped Python 3.7 support.
- Cleaned up
pyproject.toml; improved linting and module verification (mypy,flake8,isort). - Fixed
normalise_func_kwargsbug inbase.py. - Resolved shape mismatch in Region Perturbation visualisations for batched inputs (#353).
- Updated documentation and README links (e.g., QUANDA references).
v0.5.3
What's Changed
- Bugfix: Added explain_func_kwargs to SmoothMPRT and zennit tests by @annahedstroem in #318
- Improvement: Add warning of deprecated argument (handle elegantly) by @annahedstroem in #319
Full Changelog: v0.5.2...v0.5.3
v0.5.2
What's Changed
- Fixing indent bug in metrics by @annahedstroem in #316
- New release 0.5.2 bugfix by @annahedstroem in #317
Full Changelog: v0.5.1...v0.5.2
v0.5.1
What's Changed
- Bug fixes for the
EfficientMPRTmetric and expand quantus.evaluate func by @annahedstroem in #314 - Update
pandasversion control (to work smoothly withColabenvironment) and add back print warn message for Model Parameter Randomisation Test by @annahedstroem in #315
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
In this release, we introduce two new metrics, SmoothMPRT and EfficientMPRT, which are variants of the Model Parameter Randomisation Test (MPRT). These implementations are from the paper "Sanity Checks Revisited: An Exploration to Repair the Model Parameter Randomisation Test " by Hedström et al., 2023 published at NeurIPS XAIA.
- Unifying PR release v0.4.5 by @annahedstroem in #307
- MPRT metrics: EfficientMPRT and SmoothMPRT by @annahedstroem in #308
- Smaller fixes:
- @annahedstroem in #312
- @annahedstroem in #313
Full Changelog: v0.4.5...v0.5.0
v0.4.5
v0.4.4
What's Changed
- Remove redundant attributes_check by @aaarrti in #287
- Resolve softmax issues with pytorch_model.py by @dilyabareeva in #283
- Fix channels first issue by @annahedstroem in #305
- New release 0.4.4 by @annahedstroem in #306
Full Changelog: v0.4.3...v0.4.4
v0.4.3
What's Changed
- Fixing #292
- Fixes on v0.4.2 by @annahedstroem in #291
- dynamic version fix by @aaarrti in #293
Full Changelog: v0.4.2...v0.4.3
v0.4.2
What's Changed
- More exposure to quantum functionality including
modelandutils - Create transparency with respect to the metric’s data and model applicability by @annahedstroem in #279
- Update evaluation.py by @annahedstroem in #282
- Fixed issue in max_sensitivity.py by @annahedstroem in #289
Full Changelog: v0.4.1...v0.4.2
v0.4.1
What's Changed
- Review distance metrics and added squared distance as measure by @annahedstroem in #264
- Update requirements_test.txt by @annahedstroem in #266
- Add py.typed by @aaarrti in #269
- Toml + Tox Migration by @aaarrti in #270
- update README.md by @aaarrti in #278
Full Changelog: v0.4.0...v0.4.1