We released the new version 0.2.4 of InterpretDL. The important changes are introduced as follows:
- Add three sub-abstract classes, [`InputGradientInterpreter`](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/abc_interpreter.py#L108), [`InputOutputInterpreter`](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/abc_interpreter.py#L206) and [`IntermediateLayerInterpreter `](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/abc_interpreter.py#L274). In each of them, we provide the PaddlePaddle implementation for getting `input gradients`, `output logits/probability` and `intermediate feature maps` respectively. In this way, the explanation algorithms can focus on the algorithmic implementations, leading to a good separation of framework and algorithms. Further developments would be easier. More sub-abstract classes including obtaining the gradients of intermediate layers will be implemented in the future.
- Add [TAMInterpreter](https://github.com/PaddlePaddle/InterpretDL/blob/master/interpretdl/interpreter/transition_attention_maps.py).
- In the instantiation of Interpreters, `use_cuda` would be deprecated soon. Use ``device`` directly.
- `_paddle_prepare` would be renamed to `_build_predict_fn`.
- Add unit tests.
- Improve documentation and small fixes.