Releases: SeldonIO/alibi-detect
Releases · SeldonIO/alibi-detect
v0.12.0
v0.11.5
v0.11.5 (2024-22-01)
This is a patch release fixing several bugs, updating dependencies and a change of license.
Added
- Allow pickle when loading numpy array file (#836)
- Add abbreviations in the getting_started page (#863)
Fixed
- Remove scale_identity_multiplier to support tensorflow-probability 0.20 (#828)
- Docs/dont load sklearn detectors in notebooks (#842)
- Add notebooks tests for 3.11 (#840) & (#841)
- Split tox ci job into seperate jobs (#843)
- Fix E721 linting errors (#846)
- Change legacy tf optimizers types to forwardrefs (#858)
- Remove deprecated multichannel keyword from skimage.filters.gaussian (#857)
- Update Alibi_Detect_Logo_rgb image with white stroked letters (#862)
- Update typechecking for mypy 1.7.0 (#866)
Changed
- Alibi-Detect License change from Apache to Business Source License 1.1 (#876)
Development
- Set 3.0.0 as upper bound on pytorch version (link tbd)
- Update myst-parser requirement upper bound from 2.0 to 3.0 (#815)
- Update pillow requirement upper bound from 10.0.0 to 11.0.0 (#822)
- Update xgboost requirement upper bound from 2.0.0 to 3.0.0 (#850)
- Bump tensorflow and tfp (#860)
- Bump sphinx-design from 0.4.1 to 0.5.0 (#845)
- Update scikit-image requirement (#855)
- Update sphinxcontrib-apidoc requirement (#848)
- Update numba requirement (#851)
- Remove macos from ci (#876)
- Add security scans to CI (#876)
v0.11.4
v0.11.3
v0.11.3 (2023-06-21)
This is a patch release to officially enable support for Python 3.11.
This is the last release with official support for Python 3.7.
Development
- Test library on Python 3.11 (#817).
- Separate code quality into its own Github Action and only run against the main development version of Python, currently Python 3.10 (#793).
- Check and remove stale
mypyignore commands (#794). - Add developer instructions for docstring formatting (#789).
- Bump
scikit-imageversion to0.21.x(#803). - Bump
numbaversion to0.57.x(#783). - Bump
sphinxversion to7.x(#782).
v0.11.2
v0.11.2 (2023-04-28)
Fixed
- Failure of
plot_feature_outlier_imageutility function when no outliers are detected (#774 - thanks @signupatgmx !).
Changed
- Refactored methods that use
tensorflowoptimizers to work with the new optimizers introduced in2.11(#739). - Maximum supported version of
tensorflowbumped to2.12.x(#764). - Maximum supported version of
tensorflow-probabilityversion to0.19.x(#687). - Supported version of
pandasbumped to>1.0.0, <3.0.0(#765). - Maximum supported version of
scikit-imagebumped to0.20.x(#751).
Development
- Migrate
codecovto use Github Actions and don't fail CI on coverage report upload failure due to rate limiting (#768, #776). - Bump
mypyversion to>=1.0, <2.0(#754). - Bump
sphinxversion to6.x(#709). - Bump
sphinx-designversion to0.4.1(#769). - Bump
nbsphinxversion to0.9.x(#757). - Bump
myst-parserversion to>=1.0, <2.0(#756). - Bump
twineversion to4.x(#511). - Bump
pre-commitversion to3.xand update the config (#731).
v0.11.1
v0.11.1
Fixed
- Fixed two bugs with the saving/loading of drift detector
preprocess_fn's (#752):- When
preprocess_fnwas a custom Python function wrapped in a partial, kwarg's were not serialized. This has now been fixed. - When saving drift detector
preprocess_fn's, the filenames for kwargs saved to.dillfiles are now prepended with the kwarg name. This avoids files being overwritten if multiple kwargs are saved to.dill.
- When
v0.11.0
v0.11.0
Added
- New feature The MMD and learned-kernel MMD drift detectors have been extended with KeOps backends to scale and speed up the detectors. See the example notebook for more info (#548 and #602).
- New feature Added support for serializing detectors with PyTorch backends, and detectors containing PyTorch models in their proprocessing functions (#656).
- New feature Added support for serializing detectors with scikit-learn and KeOps backends (#642 and #681).
- New feature Added support for saving and loading online detectors' state. This allows a detector to be restarted from previously generated checkpoints (#604).
- New feature Added a PyTorch version of the
UAEpreprocessing utility function (#656, (#705). - For the
ClassifierDriftandSpotTheDiffDriftdetectors, we can also return the out-of-fold instances of the reference and test sets. When usingtrain_sizefor training the detector, this allows to associate the returned prediction probabilities with the correct instances (#665).
Changed
- Minimum
prophetversion bumped to1.1.0(used byOutlierProphet). This upgrade removes the dependency onpystanascmdstanpyis used instead. This version also comes with pre-built wheels for all major platforms and Python versions, making both installation and testing easier (#627). - Breaking change The configuration field
config_spechas been removed. In order to load detectors serialized from previous Alibi Detect versions, the field will need to be deleted from the detector'sconfig.tomlfile. However, in any case, serialization compatibility across Alibi Detect versions is not currently guranteed. (#641). - Added support for serializing tensorflow optimizers. Previously, tensorflow optimizers were not serialized, which meant the default
optimizerkwarg would also be set when a detector was loaded withload_detector, regardless of theoptimizergiven to the original detector (#656). - Strengthened pydantic validation of detector configs. The
flavourbackend is now validated whilst taking into account the optional dependencies. For example, aValidationErrorwill be raised ifflavour='pytorch'is given but PyTorch is not installed (#656). - If a
categories_per_featuredictionary is not passed toTabularDrift, a warning is now raised to inform the user that all features are assumed to be numerical (#606). - For better clarity, the original error is now reraised when optional dependency errors are raised (#783).
- The maximum
tensorflowversion has been bumped from 2.9 to 2.10 (#608). - The maximum
torchversion has been bumped from 1.12 to 1.13 (#669).
Fixed
- Fixed an issue with the serialization of
kernel_aandkernel_binDeepKernel's (#656). - Fixed minor documentation issues (#636, #640, #651).
- Fixed an issue with a warning being incorrectly raised when
device='cpu'was passed to PyTorch based detectors (#698). - Fixed a bug that could cause
IndexError's to be raised in the TensorFlowMMDDriftOnlinedetector when oldernumpyversions were installed (#710).
Development
- UTF-8 decoding is enforced when
README.mdis opened bysetup.py. This is to prevent pip install errors on systems withPYTHONIOENCODINGset to use other encoders (#605). - Skip specific save/load tests that require downloading remote artefacts if the relevant URI(s) is/are down (#607).
- CI
test/directories are now ignored when measuring testing code coverage. This has a side-effect of lowering the reported test coverage (#614). - Added codecov tags to measure to platform-specific code coverage (#615).
- Added option to ssh into CI runs for debugging (#644).
- Measure executation time of test runs in CI (#712).
v0.10.5
v0.10.5
v0.10.5 (2023-01-26)
Fixed
- Fixed two bugs preventing backward compatibility when loading detectors saved with
<v0.10.0
(#729 and #732). This bug also meant that detectors
saved withsave_detector(..., legacy=True)in>=v0.10.0did not properly obey the legacy file format. Theconfig.tomlfile format used by default in>=v0.10.0is unaffected.