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
mypy
ignore commands (#794). - Add developer instructions for docstring formatting (#789).
- Bump
scikit-image
version to0.21.x
(#803). - Bump
numba
version to0.57.x
(#783). - Bump
sphinx
version to7.x
(#782).
v0.11.2
v0.11.2 (2023-04-28)
Fixed
- Failure of
plot_feature_outlier_image
utility function when no outliers are detected (#774 - thanks @signupatgmx !).
Changed
- Refactored methods that use
tensorflow
optimizers to work with the new optimizers introduced in2.11
(#739). - Maximum supported version of
tensorflow
bumped to2.12.x
(#764). - Maximum supported version of
tensorflow-probability
version to0.19.x
(#687). - Supported version of
pandas
bumped to>1.0.0, <3.0.0
(#765). - Maximum supported version of
scikit-image
bumped to0.20.x
(#751).
Development
- Migrate
codecov
to use Github Actions and don't fail CI on coverage report upload failure due to rate limiting (#768, #776). - Bump
mypy
version to>=1.0, <2.0
(#754). - Bump
sphinx
version to6.x
(#709). - Bump
sphinx-design
version to0.4.1
(#769). - Bump
nbsphinx
version to0.9.x
(#757). - Bump
myst-parser
version to>=1.0, <2.0
(#756). - Bump
twine
version to4.x
(#511). - Bump
pre-commit
version to3.x
and 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_fn
was 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.dill
files 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
UAE
preprocessing utility function (#656, (#705). - For the
ClassifierDrift
andSpotTheDiffDrift
detectors, we can also return the out-of-fold instances of the reference and test sets. When usingtrain_size
for training the detector, this allows to associate the returned prediction probabilities with the correct instances (#665).
Changed
- Minimum
prophet
version bumped to1.1.0
(used byOutlierProphet
). This upgrade removes the dependency onpystan
ascmdstanpy
is 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_spec
has been removed. In order to load detectors serialized from previous Alibi Detect versions, the field will need to be deleted from the detector'sconfig.toml
file. 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
optimizer
kwarg would also be set when a detector was loaded withload_detector
, regardless of theoptimizer
given to the original detector (#656). - Strengthened pydantic validation of detector configs. The
flavour
backend is now validated whilst taking into account the optional dependencies. For example, aValidationError
will be raised ifflavour='pytorch'
is given but PyTorch is not installed (#656). - If a
categories_per_feature
dictionary 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
tensorflow
version has been bumped from 2.9 to 2.10 (#608). - The maximum
torch
version has been bumped from 1.12 to 1.13 (#669).
Fixed
- Fixed an issue with the serialization of
kernel_a
andkernel_b
inDeepKernel
'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 TensorFlowMMDDriftOnline
detector when oldernumpy
versions were installed (#710).
Development
- UTF-8 decoding is enforced when
README.md
is opened bysetup.py
. This is to prevent pip install errors on systems withPYTHONIOENCODING
set 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.0
did not properly obey the legacy file format. Theconfig.toml
file format used by default in>=v0.10.0
is unaffected.