Alibi Detect Versions Save

Algorithms for outlier, adversarial and drift detection

v0.12.0

3 weeks ago

v0.12.0 (2024-04-17)

Full Changelog

This is a minor release.

Added

  • Support for Pydantic v2 via a Pydantic v1 shim (#882)

Fixed

  • Update README.md #877

Development

  • Bump tj-actions/changed-files from 1.1.2 to 41.0.0 in /.github/workflows (#871)
  • Update pykeops requirement from <2.2.0,>=2.0.0 to >=2.0.0,<2.3.0 (#875)
  • Update numba requirement (#879)

v0.11.5

3 months ago

v0.11.5 (2024-22-01)

Full Changelog

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

10 months ago

v0.11.4 (2023-07-07)

Full Changelog

This is a patch release to support numpy >= 1.24, and drop official support for Python 3.7.

Fixed

  • Replace numpy aliases of builtin types like np.int, in order to support numpy >= 1.24 (#826).

Development

  • Drop official support for Python 3.7 (#825).

v0.11.3

10 months ago

v0.11.3 (2023-06-21)

Full Changelog

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 to 0.21.x (#803).
  • Bump numba version to 0.57.x (#783).
  • Bump sphinx version to 7.x (#782).

v0.11.2

1 year ago

v0.11.2 (2023-04-28)

Full Changelog

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 in 2.11 (#739).
  • Maximum supported version of tensorflow bumped to 2.12.x (#764).
  • Maximum supported version of tensorflow-probability version to 0.19.x (#687).
  • Supported version of pandas bumped to >1.0.0, <3.0.0 (#765).
  • Maximum supported version of scikit-image bumped to 0.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 to 6.x (#709).
  • Bump sphinx-design version to 0.4.1 (#769).
  • Bump nbsphinx version to 0.9.x (#757).
  • Bump myst-parser version to >=1.0, <2.0 (#756).
  • Bump twine version to 4.x (#511).
  • Bump pre-commit version to 3.x and update the config (#731).

v0.11.1

1 year ago

v0.11.1

Full Changelog

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.

v0.11.0

1 year ago

v0.11.0

Full Changelog

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 and SpotTheDiffDrift detectors, we can also return the out-of-fold instances of the reference and test sets. When using train_size for training the detector, this allows to associate the returned prediction probabilities with the correct instances (#665).

Changed

  • Minimum prophet version bumped to 1.1.0 (used by OutlierProphet). This upgrade removes the dependency on pystan as cmdstanpy 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's config.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 with load_detector, regardless of the optimizer 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, a ValidationError will be raised if flavour='pytorch' is given but PyTorch is not installed (#656).
  • If a categories_per_feature dictionary is not passed to TabularDrift, 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 and kernel_b in DeepKernel'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 TensorFlow MMDDriftOnline detector when older numpy versions were installed (#710).

Development

  • UTF-8 decoding is enforced when README.md is opened by setup.py. This is to prevent pip install errors on systems with PYTHONIOENCODING 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

1 year ago

v0.10.5

v0.10.5 (2023-01-26)

Full Changelog

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 with save_detector(..., legacy=True) in >=v0.10.0 did not properly obey the legacy file format. The config.toml file format used by default in >=v0.10.0 is unaffected.

v0.10.4

1 year ago

v0.10.4 (2022-10-21)

Full Changelog

Fixed

  • Fixed an incorrect default value for the alternative kwarg in the FETDrift detector (#661).
  • Fixed an issue with ClassifierDrift returning incorrect prediction probabilities when train_size given (#662).

v0.10.3

1 year ago

v0.10.3 (2022-08-17)

Full Changelog

Fixed

  • Fix to allow config.toml files to be loaded when the [meta] field is not present (#591).