Interpretdl

Latest version: v0.8.0

Safety actively analyzes 623412 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.7.0

We release the version 0.7.0 of InterpretDL, with new features as follows:
- Examples are put into a separate directory [`examples/`](https://github.com/PaddlePaddle/InterpretDL/tree/master/examples). Tutorials are still kept in the previous directory [`tutorials`](https://github.com/PaddlePaddle/InterpretDL/tree/master/tutorials).
- A new explanation algorithm [`bidirectional_transformer`](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/bidirectional_transformer.py) is implemented.
- Documentation is improved.
- Fix some bugs.

We also would like to brag about ourselves that our paper with InterpretDL is accepted by Journal of Machine Learning Research (JMLR).

> Xuhong Li, Haoyi Xiong, Xingjian Li, Xuanyu Wu, Zeyu Chen, and Dejing Dou. “InterpretDL: Explaining Deep Models in PaddlePaddle.” Journal of Machine Learning Research, 2022. https://jmlr.org/papers/v23/21-0738.html.

One survey paper is accepted by Knowledge and Information Systems (KAIS):

> Xuhong Li, Haoyi Xiong, Xingjian Li, Xuanyu Wu, Xiao Zhang, Jiang Bian, and Dejing Dou. “Interpretable Deep Learning: Interpretations, Interpretability, Trustworthiness, and Beyond.” Knowledge and Information Systems, 2022, Springer. https://arxiv.org/abs/2103.10689.

And two research works got accepted by ECML'22 and Machine Learning Journal:

> Xuhong Li, Haoyi Xiong, Siyu Huang, Shilei Ji, Dejing Dou. Cross-Model Consensus of Explanations and Beyond for Image Classification Models: An Empirical Study. ECML'22, Machine Learning Journal Track. https://arxiv.org/abs/2109.00707.

> Xuhong Li, Haoyi Xiong, Yi Liu, Dingfu Zhou, Zeyu Chen, Yaqing Wang, and Dejing Dou. "Distilling ensemble of explanations for weakly-supervised pre-training of image segmentation models." Machine Learning (2022): 1-17. https://arxiv.org/abs/2207.03335.

We have also released a dataset containing 1.2M+ pseudo semantic segmentation images of ImageNet. Refer to [PaddleSeg:PSSL](https://github.com/PaddlePaddle/PaddleSeg/tree/develop/configs/pssl) for downloading the dataset and the pretrained models.

![](https://user-images.githubusercontent.com/13829174/184098740-a84cfa80-3cc0-4b73-ad57-e51bb2ce96d1.png)

0.6.2

We release the version 0.6.2 of InterpretDL, with new features as follows:

- Add [BTInterpreter](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/bidirectional_transformer.py).
- Add [examples of BTInterpreter](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_bt_cv_ViT.ipynb).
- Fix compatibility bugs with PaddleNLP.

0.6.1

We release the version 0.6.1 of InterpretDL, with new features as follows:

- Add [GLIMECVInterpreter](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/glime.py).
- Add LIME tutorials [Part1](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/LIME_Variants_part1.ipynb) and [Part2](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/LIME_Variants_part2.ipynb).
- Fix bugs.

0.6.0

We release the version 0.6.0 of InterpretDL, with new features as follows:
- Documentation is much richer. See [here](https://interpretdl.readthedocs.io/en/latest/).
- A new Interpreter `GAInterpreter` has been [implemented](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/generic_attention.py), with a corresponding [usage example](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_ga_bi-modal.ipynb). This implementation is suitable for models with self-attention in each modality, like [CLIP](https://arxiv.org/abs/2103.00020).
- Rename the previous "tutorials" to "examples", to avoid the confusion. Examples show how to use the Interpreters and their explanation results. See [tutorials](https://github.com/PaddlePaddle/InterpretDL/tree/master/tutorials) for more information.
- Tutorials are provided, including [Getting Started Tutorial](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/Getting_Started.ipynb), [Input Gradient Tutorial](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/Input_Gradient.ipynb), and four tutorials for NLP tasks using [Ernie2.0 in English](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/ernie-2.0-en-sst-2.ipynb) ([on NBViewer](https://nbviewer.org/github/PaddlePaddle/InterpretDL/blob/master/tutorials/ernie-2.0-en-sst-2.ipynb)), [Bert in English](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/bert-en-sst-2.ipynb) ([on NBViewer](https://nbviewer.org/github/PaddlePaddle/InterpretDL/blob/master/tutorials/bert-en-sst-2.ipynb)), [BiLSTM in Chinese](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/bilstm-zh-chnsenticorp.ipynb) ([on NBViewer](https://nbviewer.org/github/PaddlePaddle/InterpretDL/blob/master/tutorials/bilstm-zh-chnsenticorp.ipynb)) and [Ernie1.0 in Chinese](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/ernie-1.0-zh-chnsenticorp.ipynb) ([on NBViewer](https://nbviewer.org/github/PaddlePaddle/InterpretDL/blob/master/tutorials/ernie-1.0-zh-chnsenticorp.ipynb))
as examples. (For text visualizations, NBViewer gives better and colorful rendering results.)
- A taxonomy is provided for comparing the Interpreters, as follows:

| Methods | Representation | Model Type | Example |
|----------------------------------------------------------------------------------------------------------------------------|-------------------------|------------------------|-------------------|
| [LIME](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/lime.py) | Input Features | Model-Agnostic | [link1](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_lime_cv.ipynb) \| [link2](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_lime_cv_ViT.ipynb) |
| [LIME with Prior](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/lime_prior.py) | Input Features | Model-Agnostic | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_lime_gp_cv.ipynb) |
| [NormLIME/FastNormLIME](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/_normlime_base.py) | Input Features | Model-Agnostic | [link1](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_normlime_cv.ipynb) \| [link2](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_normlime_nlp.ipynb) |
| [LRP](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/lrp.py) | Input Features | Differentiable | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/lrp_cv.ipynb) |
| [SmoothGrad](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/smooth_grad.py) | Input Features | Differentiable | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_smooth_grad_cv.ipynb) |
| [IntGrad](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/integrated_gradients.py) | Input Features | Differentiable | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_int_grad_cv.ipynb) |
| [GradSHAP](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/gradient_shap.py) | Input Features | Differentiable | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_grad_shap_cv.ipynb) |
| [Occlusion](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/occlusion.py) | Input Features | Model-Agnostic | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_occlusion_cv.ipynb) |
| [GradCAM/CAM](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/gradient_cam.py) | Intermediate Features | Specific: CNNs | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_grad_cam_cv.ipynb) |
| [ScoreCAM](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/score_cam.py) | Intermediate Features | Specific: CNNs | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_score_cam_cv.ipynb) |
| [Rollout](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/rollout.py) | Intermediate Features | Specific: Transformers | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_rollout_cv_ViT.ipynb) |
| [TAM](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/transition_attention_maps.py) | Intermediate Features | Specific: Transformers | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_tam_cv_ViT.ipynb) |
| [ForgettingEvents](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/forgetting_events.py) | Dataset-Level | Differentiable | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_forgetting_events_cv.ipynb) |
| [TIDY (Training Data Analyzer)](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/TIDY.ipynb) | Dataset-Level | Differentiable | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/TIDY.ipynb) |
| [Consensus](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/consensus.py) | Features | Cross-Model | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_consensus_cv.ipynb) |
| [Generic Attention](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/generic_attention.py) | Input Features | Specific: Bi-Modal Transformers | [link](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/example_ga_bi-modal.ipynb) ([nblink](https://nbviewer.org/github/PaddlePaddle/InterpretDL/blob/master/tutorials/example_ga_bi-modal.ipynb))*|

\* For text visualizations, NBViewer gives better and colorful rendering results.

0.5.3

We release the version 0.5.3 of InterpretDL, with improvements of code styles and documentation.

0.5.2

We release the version 0.5.2 of InterpretDL, with improvements in NormLIME. The [tutorial of NormLIME](https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/normlime_tutorial_nlp.ipynb) is modified accordingly too.

Besides, the argument of `use_cuda` has been removed from tutorials and unit tests. `use_cuda` would be removed in the next version.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.