Skip to main content

Hardened Extension of the Adversarial Robustness Toolbox (HEART)

Static Badge

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)

Source distribution for heart-library 0.7.0
File Size Uploaded
heart_library-0.7.0.tar.gz 180.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for heart-library 0.7.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.3

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page