Releases: Julia-XAI/ExplainableAI.jl
v0.9.0
ExplainableAI v0.9.0
- Support selection of AD backends via DifferentiationInterface.jl. (#167)
- For gradient-based XAI methods, an AD backend must now be manually loaded. To keep using the default Zygote backend, this simply requires adding
using Zygote
to your code. (#177) -
Gradient
,InputTimesGradient
andGradCAM
analyzers now have an additionalbackend
field and type parameter. (#167) - Update XAIBase interface to
v4
. This adds a field to theExplanation
return type and removes theadd_batch_dim
keyword argument. Refer to the XAIBase.jl changelog for more information. (#174)
Merged pull requests:
- Update XAIBase dependency to v4.0.0 (#166) (@adrhill)
- Use DifferentiationInterface for gradient-based analyzers (#167) (@adrhill)
- Update CI workflows (#170) (@adrhill)
- Update CI: Give CompatHelper permission to write PRs (#172) (@adrhill)
- Update CompatHelper v2 (#173) (@adrhill)
- Drop compatibility with pre-LTS versions (#174) (@adrhill)
- Update benchmarks and test them with PkgJogger (#175) (@adrhill)
- Add full example to README (#176) (@adrhill)
- Remove Zygote from dependencies (#177) (@adrhill)
Closed issues:
v0.8.1
ExplainableAI v0.8.1
Merged pull requests:
v0.8.0
ExplainableAI v0.8.0
This release removes the automatic reexport of heatmapping functionality.
Users are now required to manually load VisionHeatmaps.jl and/or TextHeatmaps.jl.
This reduces the maintenance burden for new heatmapping features and the amount of dependencies for users who don't require heatmapping functionality.
- Removed reexport of heatmapping functionality by updating XAIBase dependency (#162).
- Added
GradCAM
analyzer (#155). Try it with VisionHeatmaps.jl's newheatmap_overlay
feature.
Merged pull requests:
- Add GradCAM analyzer (#155) (@JeanAnNess)
- Bump codecov/codecov-action from 3 to 4 (#161) (@dependabot[bot])
- Update XAIBase to v3.0.0 and document
heatmap_overlay
(#162) (@adrhill)
v0.7.0
ExplainableAI v0.7.0
This release moves the core interface (Explanation
, heatmap
, analyze
) into a separate package called XAIBase.jl. Developers can make use of the XAIBase.jl interface to quickly implement or prototype new methods without having to write boilerplate code.
As announced with version v0.6.2
, this is first release without LRP, which has been moved to a separate package called RelevancePropagation.jl. This separation is enabled by the new common XAIBase.jl interface.
Notable changes
- Move core interface into XAIBase.jl package (#154).
- Renamed
Explanation
fieldneuron_selection
tooutput_selection
- Added
Explanation
fieldheatmap
for heatmapping presets
- Renamed
- Move LRP into RelevancePropagation.jl (#157)
- Remove ImageNet preprocessing utilities (#159)
- Partially move documentation into the Julia-XAI ecosystem documentation
Merged pull requests:
- Move core interface into XAIBase.jl package (#154) (@adrhill)
- Bump actions/cache from 3 to 4 (#156) (@dependabot[bot])
- Move LRP into RelevancePropagation.jl (#157) (@adrhill)
- Remove ImageNet preprocessing utilities (#159) (@adrhill)
- Remove unused dependencies and utils (#160) (@adrhill)
Closed issues:
v0.6.3
ExplainableAI v0.6.3
Merged pull requests:
v0.6.2
v0.6.1
ExplainableAI v0.6.1
Merged pull requests:
- Bump actions/checkout from 3 to 4 (#139) (@dependabot[bot])
- Fix neuron selection on GPUs (#140) (@adrhill)
- Make Tullio weak dependency using package extensions (#141) (@adrhill)
- Fix
ones_like
on GPUs (#142) (@adrhill) - Improve LRP backward pass (#143) (@adrhill)
- GPU support for gradient analyzers (#144) (@adrhill)
- Document GPU support (#145) (@adrhill)
Closed issues:
v0.6.0
ExplainableAI v0.6.0
Closed issues:
- Add LRP support for
Parallel
layer (#10) - Document use of LoopVectorization.jl and CUDA.jl (#64)
- Add LRP support for nested Chains (#90)
- Add generalized Gamma rule (#91)
- Rename composite primitives (#120)
- Add composite primitive to assign rule at specific position in model (#121)
- Support
BatchNorm
layers in LRP (#122) - Refactor results struct (#123)
- Add Aqua.jl tests (#124)
- Update canonizer to support nested Flux Chains (#132)
- Update documentation for
v0.6.0
release (#133)
Merged pull requests:
- Add
GeneralizedGammaRule
(#109) (@adrhill) - Simplify LRP analyzer and clean-up rule default parameters (#110) (@adrhill)
- Simplify LRP model checks (#112) (@adrhill)
- Update dependencies (#116) (@adrhill)
- Bump actions/cache from 1 to 3 (#117) (@dependabot[bot])
- Bump actions/checkout from 2 to 3 (#118) (@dependabot[bot])
- Support nested Flux Chains in LRP (#119) (@adrhill)
- Add Aqua.jl tests (#125) (@adrhill)
- Refactor
Explanation
struct (#126) (@adrhill) - Faster tests and benchmarks (#127) (@adrhill)
- Set LRP output relevance to one (#128) (@adrhill)
- Enable
BatchNorm
layers in LRP (#129) (@adrhill) - Rename composite primitives (#130) (@adrhill)
- Support nested indexing in composite primitive
LayerMap
(#131) (@adrhill) - Add
PassRule
on normalization layers to composite presets, improveshow
(#134) (@adrhill) - Support
Parallel
layers in LRP (#135) (@adrhill) - Rename
Explanation
fieldattribution
toval
(#136) (@adrhill) - Update documentation for
v0.6.0
(#137) (@adrhill) - Support canonization of
Parallel
layers (#138) (@adrhill)
v0.5.7
ExplainableAI v0.5.7
Merged pull requests:
- CompatHelper: bump compat for PrettyTables to 2, (keep existing compat) (#101) (@github-actions[bot])
v0.5.6
ExplainableAI v0.5.6
Merged pull requests: