Skip to main content

AI Verify Robustness Toolbox generates a perturbed dataset using boundary attack algorithm on the test dataset.

Project description

Algorithm - Robustness Toolbox

License

  • Licensed under Apache Software License 2.0

Developers:

  • AI Verify

Installation

Each test algorithm can now be installed via pip and run individually.

pip install aiverify-robustness-toolbox==2.0.0a1

Example Usage:

Run the following bash script to execute the plugin

#!/bin/bash

root_path="<PATH_TO_FOLDER>/aiverify/stock-plugins/user_defined_files"
python -m aiverify_robustness_toolbox \
  --data_path $root_path/data/sample_bc_pipeline_credit_data.sav \
  --model_path $root_path/pipeline/bc_tabular_credit \
  --ground_truth_path $root_path/data/sample_bc_pipeline_credit_ytest_data.sav \
  --ground_truth default \
  --model_type CLASSIFICATION \
  --run_pipeline \
  --annotated_ground_truth_path $root_path/data/pickle_pandas_fashion_mnist_annotated_labels_10.sav \
  --file_name_label file_name

If the algorithm runs successfully, the results of the test will be saved in an output folder.

Develop plugin locally

Execute the bash script below in the project root

#!/bin/bash

# setup virtual environment
python3 -m venv .venv
source .venv/bin/activate

# execute plugin

cd aiverify/stock-plugins/aiverify.stock.robustness-toolbox/algorithms/robustness_toolbox
# install aiverify-test-engine 
pip install -e .'[dev]'

python -m aiverify_robustness_toolbox --data_path  <data_path> --model_path <model_path> --ground_truth_path <ground_truth_path> --ground_truth <str> --model_type CLASSIFICATION --run_pipeline --annotated_ground_truth_path <str> --file_name_label <str>

Build Plugin

cd aiverify/stock-plugins/aiverify.stock.robustness-toolbox/algorithms/robustness_toolbox
hatch build

Tests

Pytest is used as the testing framework.

Run the following steps to execute the unit and integration tests inside the tests/ folder

cd aiverify/stock-plugins/aiverify.stock.robustness-toolbox/algorithms/robustness_toolbox
pytest .

Run using Docker

In the aiverify root directory, run the below command to build the docker image

docker build -t aiverify-robustness-toolbox:v2.0.0a1 -f stock-plugins/aiverify.stock.robustness-toolbox/algorithms/robustness_toolbox/Dockerfile .

Run the below bash script to run the algorithm

#!/bin/bash
docker run \
  -v $(pwd)/stock-plugins/user_defined_files:/input \
  -v $(pwd)/output:/app/aiverify/output \
  aiverify-robustness-toolbox:v2.0.0a1 \
  --data_path /input/data/raw_fashion_image_10 \
  --model_path /input/pipeline/multiclass_classification_image_mnist_fashion \
  --ground_truth_path /input/data/pickle_pandas_fashion_mnist_annotated_labels_10.sav \
  --ground_truth label \
  --model_type CLASSIFICATION \
  --run_pipeline \
  --annotated_ground_truth_path /input/data/pickle_pandas_fashion_mnist_annotated_labels_10.sav \
  --file_name_label file_name

If the algorithm runs successfully, the results of the test will be saved in an output folder in the working directory.

Tests

Pytest is used as the testing framework.

Run the following steps to execute the unit and integration tests inside the tests/ folder

docker run --entrypoint python3 aiverify-robustness-toolbox:v2.0.0a1 -m pytest .

Project details


Download files

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

Source Distribution

aiverify_robustness_toolbox-2.0.0a1.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file aiverify_robustness_toolbox-2.0.0a1.tar.gz.

File metadata

File hashes

Hashes for aiverify_robustness_toolbox-2.0.0a1.tar.gz
Algorithm Hash digest
SHA256 6f544b2a48adefd70e4bfb8e465d33dc82fb2d79538b90f96f0abfe1fef27504
MD5 f1797dd847e5304ceca96f4de56b5a54
BLAKE2b-256 83529546d8ce33b2c80297750909219e8dbe99b9fe84f9657c0abb810ba98510

See more details on using hashes here.

File details

Details for the file aiverify_robustness_toolbox-2.0.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for aiverify_robustness_toolbox-2.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 06d700fd06bc7109bd17a8d332ea905f2e17348af5001aa8428c69e90b1e2310
MD5 712d92b492d42b5d80e08be484b7d553
BLAKE2b-256 8362ffa117ee7ec17394f5b95a843f37f3830b635996d0529620613518fabd2a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page