Skip to main content

Part of AI Verify image corruption toolbox. This package includes algorithms that add digital corruptions (brightness up and down, contrast up and down, compression, random tilt, saturate) to images at 5 severity levels, to test the robustness of machine learning models.

Project description

Algorithm - Digital Corruptions

Description

  • Robustness plugin for digital corruptions

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-digital-corruptions==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_digital_corruptions \
  --data_path $root_path/data/raw_fashion_image_10 \
  --model_path $root_path/pipeline/multiclass_classification_image_mnist_fashion \
  --ground_truth_path $root_path/data/pickle_pandas_fashion_mnist_annotated_labels_10.sav \
  --ground_truth label \
  --model_type CLASSIFICATION \
  --run_pipeline \
  --annotated_ground_truth_path $root_path/data/pickle_pandas_fashion_mnist_annotated_labels_10.sav \
  --set_seed 10 \
  --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 below bash script in the project root

#!/bin/bash

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

# execute plugin
cd aiverify/stock-plugins/aiverify.stock.image-corruption-toolbox/algorithms/digital_corruptions/

# install aiverify-test-engine 
pip install -e '.[dev]'

python -m aiverify_digital_corruptions --data_path  <data_path> --model_path <model_path> --ground_truth_path <ground_truth_path> --ground_truth <str> --model_type CLASSIFICATION --run_pipeline --set_seed <int> --annotated_ground_truth_path <annotated_file_path> --file_name_label <str>

Build Plugin

cd aiverify/stock-plugins/aiverify.stock.image-corruption-toolbox/algorithms/digital_corruptions/
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.image-corruption-toolbox/algorithms/digital_corruptions/
pytest .

Run using Docker

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

docker build -t aiverify-digital-corruptions:v2.0.0a1 -f stock-plugins/aiverify.stock.image-corruption-toolbox/algorithms/digital_corruptions/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-digital-corruptions: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 \
  --set_seed 10 \
  --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-digital-corruptions: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_digital_corruptions-2.0.0a1.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for aiverify_digital_corruptions-2.0.0a1.tar.gz
Algorithm Hash digest
SHA256 5940619d59cc57805843789e1b83e700cfc1f81018ce8b8cb5f3aa1bad99c19f
MD5 904e8601b8c1c2ba98b94fcc2c6aa789
BLAKE2b-256 e2f354fc73cff48d6be05beb607cbd657239915c01b373020089935efaaea9e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiverify_digital_corruptions-2.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 e62890506e7e5a94727d32e402ac1351cab661661a9e63ba1a38234dba5dd399
MD5 3bbe6cbb19d483689006268e0db88536
BLAKE2b-256 29e9d3a84798231ad325fb6e947dfbcceb00996992f86814b708402592b5b044

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