v0.5.6 (2021-02-18)
Added
- Breaking change
IntegratedGradientsnow supports models with multiple inputs. For each input of the model, attributions are calculated and returned in a list. Also extends the method allowing to calculate attributions for multiple internal layers. If a list of layers is passed, a list of attributions is returned. See #321. ALEnow supports selecting a subset of features to explain. This can be useful to reduce runtime if only some features are of interest and also indirectly helps dealing with categorical variables by being able to exclude them (asALEdoes not support categorical variables).
Fixed
AnchorTabularcoverage calculation was incorrect which was caused by incorrectly indexing a list, this is now resolved.ALEwas causing an error when a constant feature was present. This is now handled explicitly and the user has control over how to handle these features. See https://docs.seldon.io/projects/alibi/en/latest/api/alibi.explainers.ale.html#alibi.explainers.ale.ALE for more details.- Release of Spacy 3.0 broke the
AnchorTextfunctionality as the waylexeme_probtables are loaded was changed. This is now fixed by explicitly handling the loading depending on thespacyversion. - Fixed documentation to refer to the
Explanationobject instead of the olddictobject. - Added warning boxes to
CounterFactual,CounterFactualProtoandCEMdocs to explain the necessity of clearing the TensorFlow graph if switching to a new model in the same session.
Development
- Introduced lower and upper bounds for library and development dependencies to limit the potential for breaking functionality upon new releases of dependencies.
- Added dependabot support to automatically monitor new releases of dependencies (both library and development).
- Switched from Travis CI to Github Actions as the former limited their free tier.
- Removed unused CI provider configs from the repo to reduce clutter.
- Simplified development dependencies to just two files,
requirements/dev.txtandrequirements/docs.txt. - Split out the docs building stage as a separate step on CI as it doesn't need to run on every Python version thus saving time.
- Added
.readthedocs.ymlto control how user-facing docs are built directly from the repo. - Removed testing related entries to
setup.pyas the workflow is both unused and outdated. - Avoid
shap==0.38.1as a dependency as it assumesIPythonis installed and breaks the installation.