softwaremill / FoXAI

The open-source library for explainable AI. Generic and easy to integrate with PyTorch.
Apache License 2.0
31 stars 1 forks source link

Divide foxai explainer into deterministic and non-deterministic #84

Closed kamilrzechowski closed 1 year ago

kamilrzechowski commented 1 year ago

Some explainers, like CV_INPUT_X_GRADIENT_EXPLAINER are deterministic, and some like CV_DEEPLIFT_EXPLAINER, CV_GRADIENT_SHAP_EXPLAINER are not deterministic. It would be nice to divide explainers into two subsets in the readme file. Some projects require to have deterministic results and it would be nice to have a look-up table.

Probably all of those methods are deterministic if the same seed is chosen, but I'm not sure if there is such an option right now and anyway it would be still good to note it down somewhere.

adamwawrzynski commented 1 year ago

Some of them might behave non-deterministic based on provided arguments, e.g. Integrated Gradients passing every time a new random baseline matrix, but you probably wanted to classify the algorithm itself.