Skip to main content

robust-ml

Interfaces for defining Robust ML models and precisely specifying the threat models under which they claim to be secure. Also includes interfaces for specifying attacks and evaluating attacks against models.

The motivation behind this project is to make it easy to make specific, testable claims about the robustness about machine learning models. Read more in the FAQ.

Installation

You can install from PyPI: pip install robustml.

Usage

See this repository for a complete example of implenenting a model, implementing an attack, and evaluating the attack against the model.

If you’re implementing a defense, you should implement robustml.model.Model. See here for an example.

If you’re implementing an attack against a specific defense, you should implement robustml.attack.Attack. See here for an example.

To evaluate a specific attack against a specific defense, use robustml.evaluate.evaluate(). See here for an example.

Contributing

Do you have ideas on how to improve the robustml package? Have a feature request (such as a specification of a new threat model) or bug report? Great! Please open an issue or submit a pull request.

Before contributing a major change, it’s recommended that you open a pull request first and get feedback on the idea before investing time in the implementation.

Packaging

  1. Update version information.

  2. Build the package using python setup.py sdist bdist_wheel.

  3. Sign and upload the package using twine upload -s dist/*.

  4. Create a signed tag in the git repo with the version number that was uploaded to PyPI.

Metadata

Release files for robustml 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for robustml 0.0.3
File Size Uploaded
robustml-0.0.3.tar.gz 6.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for robustml 0.0.3
File Interpreter ABI Platform
robustml-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 15.7 kB

Release files / robustml-0.0.3.tar.gz

Download URL robustml-0.0.3.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a00b099edbc51d9efdf9fb1b76f15f140e2694068489017d8fc9d4eac6e3c153
BLAKE2b-256 checksum
How to use checksums
53f12306cd63beb35617705c0e0b3dd6f3f98b61ea54147d68ddc81b091caf94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3

Release files / robustml-0.0.3-py3-none-any.whl

Download URL robustml-0.0.3-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
099a33c0abbbac28419aefb220dacb0441239a782e912df98700071202364a92
BLAKE2b-256 checksum
How to use checksums
c61c4f419ee34a7dd4e31e96cdfbccbf2b209f0c6acf4874ec932d1613c7895c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

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