Skip to main content

Latest PyPI version Documentation Status HuggingFace Spaces Demo

Ferret circular logo with the name to the right

A python package for benchmarking interpretability techniques.

from transformers import AutoModelForSequenceClassification, AutoTokenizer
from ferret import Benchmark

model = AutoModelForSequenceClassification.from_pretrained("bert-base-cased")
tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")

bench = Benchmark(model, tokenizer)
explanations = bench.explain("You look stunning!")
evaluations = bench.evaluate_explanations(explanations)

print(evaluations)

Features

ferret builds on top of the transformers library. The library supports explanations using:

  • Gradients

  • Integrated Gradinets

  • Gradient x Input word embeddings

  • SHAP

  • LIME

and evaluate explanations via:

Faithfulness measures.

  • AOPC Comprehensiveness

  • AOPC Sufficiency

  • Kendall’s tau correlation with leave-one-feature out

Plausibility measures.

  • AUPRC soft score plausibility

  • Token f1 hard score plausibility

  • Token IOU hard score plausibility

TODOs

  • Possibility to run on select device (“cpu”, “cuda”)

  • Sample-And-Occlusion explanations

  • Discretized Integrated Gradients: https://arxiv.org/abs/2108.13654

Visualization

bench = Benchmark(...)

explanations = ...
bench.show_table(explanations)

evaluations = bench.evaluate_explanations(explanations)
bench.show_evaluation_table(evaluations)

Datasets evaluations

bench = Benchmark(...)

hatexdata = bench.load_dataset("hatexplain")
sample_evaluations =  bench.evaluate_samples(hatexdata, [1,2])
bench.show_samples_evaluation_table(sample_evaluations)

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Logo and graphical assets made by Luca Attanasio.

History

0.1.0 (2022-05-30)

  • First release on PyPI.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ferret-xai-0.3.1.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ferret_xai-0.3.1-py2.py3-none-any.whl (48.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ferret-xai-0.3.1.tar.gz.

File metadata

  • Download URL: ferret-xai-0.3.1.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ferret-xai-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3f53f4500a227e4f23bf4d07e6af2ef4f4b65a10a18a68f331b7741f37e7765a
MD5 ff5b53bd133ff01282e59d6e19e097f9
BLAKE2b-256 50549245dbdd06d274e016fc9cbe1c1573f71614365865eebc54a936fd426478

See more details on using hashes here.

File details

Details for the file ferret_xai-0.3.1-py2.py3-none-any.whl.

File metadata

  • Download URL: ferret_xai-0.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 48.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ferret_xai-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d8db663832b2d6084b86ca5f6d692cf60bef544c7209ee03f00f84a922caec60
MD5 00c31e549a742dae1cabfdc498288014
BLAKE2b-256 00adf5fc6a26fcc11f87b890e30cb70edbf46250c104a07e9c433d6d53a29bd4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page