{"id":15066232,"url":"https://github.com/intel/intel-xai-tools","last_synced_at":"2025-08-21T02:32:13.397Z","repository":{"id":47461219,"uuid":"470771672","full_name":"intel/intel-xai-tools","owner":"intel","description":"Explainable AI Tooling (XAI). XAI is used to discover and explain a model's prediction in a way that is interpretable to the user. Relevant information in the dataset, feature-set, and model's algorithms are exposed.","archived":false,"fork":false,"pushed_at":"2025-05-08T15:47:29.000Z","size":123785,"stargazers_count":39,"open_issues_count":2,"forks_count":7,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-27T16:06:19.076Z","etag":null,"topics":["ai","deep-learning","explainable-ai","machine-learning","pytorch","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/intel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-16T22:32:45.000Z","updated_at":"2025-05-12T15:04:43.000Z","dependencies_parsed_at":"2024-04-23T03:06:45.869Z","dependency_job_id":"d13be5d9-a3e7-40bc-81b7-275d51b64f04","html_url":"https://github.com/intel/intel-xai-tools","commit_stats":{"total_commits":286,"total_committers":10,"mean_commits":28.6,"dds":0.6993006993006994,"last_synced_commit":"0b7e942ece29b73c1a811091c3ed9e58be263ddf"},"previous_names":["intelai/intel-xai-tools"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/intel/intel-xai-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Fintel-xai-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Fintel-xai-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Fintel-xai-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Fintel-xai-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/intel","download_url":"https://codeload.github.com/intel/intel-xai-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Fintel-xai-tools/sbom","scorecard":{"id":66864,"data":{"date":"2025-08-04","repo":{"name":"github.com/intel/intel-xai-tools","commit":"099c979cae3d9b7040c614b9d84ef25d52effd5f"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":2.8,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Warn: no status checks found to merge onto branch 'main'","Warn: PRs are not required to make changes on branch 'main'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"35 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-55x5-fj6c-h6m8","Warn: Project is vulnerable to: PYSEC-2014-9 / GHSA-57qw-cc2g-pv5p","Warn: Project is vulnerable to: PYSEC-2021-19 / GHSA-jq4v-f5q6-mjqq","Warn: Project is vulnerable to: GHSA-pgww-xf46-h92r","Warn: Project is vulnerable to: PYSEC-2022-230 / GHSA-wrxv-2j5q-m38w","Warn: Project is vulnerable to: PYSEC-2018-12 / GHSA-xp26-p53h-6h2p","Warn: Project is vulnerable to: PYSEC-2024-153 / GHSA-rxff-vr5r-8cj5","Warn: Project is vulnerable to: PYSEC-2022-14 / GHSA-39ph-wr67-j4xq","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2020-107 / GHSA-jjw5-xxj6-pcv5","Warn: Project is vulnerable to: PYSEC-2024-110 / GHSA-jw8x-6495-233v","Warn: Project is vulnerable to: PYSEC-2020-108","Warn: Project is vulnerable to: GHSA-3749-ghw9-m3mg","Warn: Project is vulnerable to: PYSEC-2022-43015 / GHSA-47fc-vmwq-366v","Warn: Project is vulnerable to: PYSEC-2025-41 / GHSA-53q9-r3pm-6pq6","Warn: Project is vulnerable to: PYSEC-2024-252 / GHSA-5pcm-hx3q-hm94","Warn: Project is vulnerable to: GHSA-887c-mr87-cxwp","Warn: Project is vulnerable to: PYSEC-2024-251 / GHSA-pg7h-5qx3-wjr3","Warn: Project is vulnerable to: PYSEC-2024-250","Warn: Project is vulnerable to: PYSEC-2024-259","Warn: Project is vulnerable to: PYSEC-2023-299 / GHSA-282v-666c-3fvg","Warn: Project is vulnerable to: GHSA-37mw-44qp-f5jm","Warn: Project is vulnerable to: GHSA-37q5-v5qm-c9v8","Warn: Project is vulnerable to: PYSEC-2023-300 / GHSA-3863-2447-669p","Warn: Project is vulnerable to: GHSA-6rvg-6v2m-4j46","Warn: Project is vulnerable to: GHSA-9356-575x-2w9m","Warn: Project is vulnerable to: GHSA-fpwr-67px-3qhx","Warn: Project is vulnerable to: PYSEC-2024-229 / GHSA-hxxf-235m-72v3","Warn: Project is vulnerable to: GHSA-jjph-296x-mrcr","Warn: Project is vulnerable to: GHSA-phhr-52qp-3mj4","Warn: Project is vulnerable to: GHSA-q2wp-rjmx-x6x9","Warn: Project is vulnerable to: PYSEC-2025-40 / GHSA-qq3j-4f4f-9583","Warn: Project is vulnerable to: PYSEC-2024-227 / GHSA-qxrp-vhvm-j765","Warn: Project is vulnerable to: PYSEC-2023-301 / GHSA-v68g-wm8c-6x7j","Warn: Project is vulnerable to: PYSEC-2024-228 / GHSA-wrfc-pvp9-mr9g"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: docker/Dockerfile.explainers:23","Warn: containerImage not pinned by hash: docker/Dockerfile.explainers:43","Warn: containerImage not pinned by hash: docker/Dockerfile.explainers:74","Warn: containerImage not pinned by hash: docker/Dockerfile.mcg:23","Warn: containerImage not pinned by hash: docker/Dockerfile.mcg:40","Warn: containerImage not pinned by hash: docker/Dockerfile.mcg:70","Warn: containerImage not pinned by hash: docker/Dockerfile.mcg:97","Warn: containerImage not pinned by hash: docker/Dockerfile.mcg:109","Warn: pipCommand not pinned by hash: docker/Dockerfile.mcg:113","Info:   0 out of   8 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-15T02:47:01.529Z","repository_id":47461219,"created_at":"2025-08-15T02:47:01.530Z","updated_at":"2025-08-15T02:47:01.530Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271416961,"owners_count":24755998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","deep-learning","explainable-ai","machine-learning","pytorch","tensorflow"],"created_at":"2024-09-25T01:04:00.405Z","updated_at":"2025-08-21T02:32:13.384Z","avatar_url":"https://github.com/intel.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Intel® Explainable AI Tools\n\nThis repository provides tools for data scientists and MLOps engineers that have requirements specific to AI model interpretability.\n\n## Overview\n\nThe Intel Explainable AI Tools are designed to help users detect and mitigate against issues of fairness and interpretability, while running best on Intel hardware.\nThere are two Python* components in the repository:\n\n* [Model Card Generator](model_card_gen)\n  * Creates interactive HTML reports containing model performance and fairness metrics\n* [Explainer](explainer)\n  * Runs post-hoc model distillation and visualization methods to examine predictive behavior for both TensorFlow* and PyTorch* models via a simple Python API including the following modules:\n    * [Attributions](plugins/explainers/attributions): Visualize negative and positive attributions of tabular features, pixels, and word tokens for predictions\n    * [CAM (Class Activation Mapping)](plugins/explainers/cam-pytorch): Create heatmaps for CNN image classifications using gradient-weight class activation CAM mapping\n    * [Metrics](plugins/explainers/metrics): Gain insight into models with the measurements and visualizations needed during the machine learning workflow\n\n## Get Started\n\n### Requirements\n* Linux system or WSL2 on Windows (validated on Ubuntu* 22.04/24.04 LTS)\n* Python 3.10, 3.11\n* Install required OS packages with `apt-get install build-essential python3-dev`\n* git (only required for the \"Developer Installation\")\n* Poetry\n\n### Developer Installation with Poetry\n\nUse these instructions to install the Intel AI Safety python library with a clone of the\nGitHub repository. This can be done instead of the basic pip install, if you plan\non making code changes.\n\n1. Clone this repo and navigate to the repo directory.\n\n2. Allow poetry to create virtual envionment contained in `.venv` directory of current directory. \n\n   ```bash\n   poetry lock\n   ```\n   In addtion, you can explicitly tell poetry which python instance to use\n   \n   ```bash\n   poetry env use /full/path/to/python\n   ```\n\n3. Choose the `intel_ai_safety` subpackages and plugins that you wish to install.\n   \n   a. Install `intel_ai_safety` with all of its subpackages (e.g. `explainer` and `model_card_gen`) and plugins\n   ```bash\n   poetry install --extras all\n   ```\n\n   b. Install `intel_ai_safety` with just `explainer`\n   ```bash\n   poetry install --extras explainer\n   ```\n   \n   c. Install `intel_ai_safety` with just `model_card_gen`\n   ```bash\n   poetry install --extras model-card\n   ```\n   \n   d. Install `intel_ai_safety` with `explainer` and all of its plugins\n   ```bash\n   poetry install --extras explainer-all\n   ```\n\n   e. Install `intel_ai_safety` with `explainer` and just its pytorch implementations\n   \n   ```bash\n   poetry install --extras explainer-pytorch\n   ```\n   \n   f. Install `intel_ai_safety` with `explainer` and just its tensroflow implementations\n   \n   ```bash\n   poetry install --extras explainer-tensorflow\n   ``` \n\n4. Activate the environment:\n\n   ```bash\n   source .venv/bin/activate\n   ```\n\n### Install to existing enviornment with Poetry\n\n#### Create and activate a Python3 virtual environment\nWe encourage you to use a python virtual environment (virtualenv or conda) for consistent package management.\nThere are two ways to do this:\n1. Choose a virtual enviornment to use:\n   a. Using `virtualenv`:\n      ```bash\n      python3 -m virtualenv xai_env\n      source xai_env/bin/activate\n      ```\n\n   b. Or `conda`:\n      ```bash\n      conda create --name xai_env python=3.10\n      conda activate xai_env\n      ```\n2. Install to current enviornment\n   ```bash\n   poetry config virtualenvs.create false \u0026\u0026 poetry install --extras all\n   ```\n\n### Additional Feature-Specific Steps\nNotebooks may require additional dependencies listed in their associated documentation.\n\n### Verify Installation\n\nVerify that your installation was successful by using the following commands, which display the Explainer and Model Card Generator versions:\n```bash\npython -c \"from intel_ai_safety.explainer import version; print(version.__version__)\"\npython -c \"from intel_ai_safety.model_card_gen import version; print(version.__version__)\"\n```\n\n## Running Notebooks\n\nThe following links have Jupyter* notebooks showing how to use the Explainer and Model Card Generator APIs in various ML domains and use cases:\n* [Model Card Generator Notebooks](notebooks#model-card-generator-tutorial-notebooks)\n* [Explainer Notebooks](notebooks#explainer-tutorial-notebooks)\n\n## Support\n\nThe Intel Explainable AI Tools team tracks bugs and enhancement requests using\n[GitHub issues](https://github.com/intel/intel-xai-tools/issues). Before submitting a\nsuggestion or bug report, search the existing GitHub issues to see if your issue has already been reported.\n\n*Other names and brands may be claimed as the property of others. [Trademarks](http://www.intel.com/content/www/us/en/legal/trademarks.html)\n\n#### DISCLAIMER\nThese scripts are not intended for benchmarking Intel platforms. For any performance and/or benchmarking information on specific Intel platforms, visit https://www.intel.ai/blog.\n \nIntel is committed to the respect of human rights and avoiding complicity in human rights abuses, a policy reflected in the Intel Global Human Rights Principles. Accordingly, by accessing the Intel material on this platform you agree that you will not use the material in a product or application that causes or contributes to a violation of an internationally recognized human right.\n \n#### License\nIntel® Explainable AI Tools is licensed under Apache License Version 2.0.\n \n#### Datasets and Models\nTo the extent that any data, datasets, or models are referenced by Intel or accessed using tools or code on this site such data, datasets and models are provided by the third party indicated as the source of such content. Intel does not create the data, datasets, or models, provide a license to any third-party data, datasets, or models referenced, and does not warrant their accuracy or quality. By accessing such data, dataset(s) or model(s) you agree to the terms associated with that content and that your use complies with the applicable license. [DATASETS](DATASETS.md), [MODELS](MODELS.md)\n\nIntel expressly disclaims the accuracy, adequacy, or completeness of any data, datasets or models, and is not liable for any errors, omissions, or defects in such content, or for any reliance thereon. Intel also expressly disclaims any warranty of non-infringement with respect to such data, dataset(s), or model(s). Intel is not liable for any liability or damages relating to your use of such data, datasets, or models.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintel%2Fintel-xai-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintel%2Fintel-xai-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintel%2Fintel-xai-tools/lists"}