Hardened Extension of the Adversarial Robustness Toolbox (HEART)
HEART is a Python extension library for Machine Learning Security that builds on the popular Adversarial Robustness algorithms within the Adversarial Robustness Toolbox (ART). The extension library allows the user to leverage core ART algorithms while providing additional benefits to AI Test & Evaluation (T&E) engineers. HEART documentation can be found here.
- Support for T&E of models for Department of Defense use cases
- Alignment to MAITE protocols for seamless T&E workflows
- Essential subset of adversarial robustness methods for targeted AI security coverage
- Quality assurance of model assessments in the form of metadata
- In-depth support for users based on codified T&E expert experience in form of guides and examples
- Front-end application for low-code users: HEART Gradio Application
Installation
From Python Packaging Index (PyPI)
To install the latest version of HEART from PyPI, run:
pip install heart-library
From IBM GitHub Source
To install the latest version of HEART from the heart-library public GitHub, run:
git clone https://github.com/IBM/heart-library.git
cd heart-library
pip install .
(Optional) Development Environment via Poetry
In some cases, it may be beneficial for developers to set up an environment from a reproducible source of truth. This environment is useful for developers that wish to work within a pull request or leverage the same development conditions used by HEART contributors. Please follow the instructions for installation via Poetry within the official HEART repository:
Getting Started With HEART
IBM has published a catalog of notebooks designed to assist developers of all skill levels with the process of getting started utilizing HEART in their AI T&E workflows. These Jupyter notebooks can be accessed within the official heart-library GitHub repository:
HEART Modules
The HEART library is organized into three primary modules: attacks, estimators, and metrics.
heart_library.attacks
The HEART attacks module contains implementations of attack algorithms for generating adversarial examples and evaluating model robustness.
heart_library.estimators
The HEART estimators module contains classes that wrap and extend the evaluated model to make it compatible with attacks and metrics.
heart_library.metrics
The HEART metrics module implements industry standard, commonly-used T&E metrics for model evaluation.
Acknowledgement
This material is based upon work supported by the Chief Digital and Artificial Intelligence Office under Contract No. W519TC-23-9-2037. The views and conclusions contained herein are those of the author(s) and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the U.S. Government.
Metadata
Release files for heart-library 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| heart_library-0.7.0.tar.gz | 180.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| heart_library-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 381.5 kB
Release files / heart_library-0.7.0.tar.gz
| Download URL | heart_library-0.7.0.tar.gz |
|---|---|
| Size | 180.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f9eaa66ecee33f159cc81ce67d821884e4d19ea4d4f374cd3e404f1f9d608cf1
|
|
BLAKE2b-256 checksum How to use checksums |
7603605cb48783621da826e7535193d99e50e200cf0883ee0560413023d5179d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|
Release files / heart_library-0.7.0-py3-none-any.whl
| Download URL | heart_library-0.7.0-py3-none-any.whl |
|---|---|
| Size | 201.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8352ec413c3832e0e662e369022f16ab29b0b449dc9a1fe619ed499c5df1389b
|
|
BLAKE2b-256 checksum How to use checksums |
c5bf8feddf4c731d123a87f120052664927d2d71c3ca2687c3c357dd37ea0eb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|