Skip to main content

Part of AI Verify image corruption toolbox. This package includes algorithms that add general corruptions (gaussian, poisson and salt and pepper noise) to images at 5 severity levels, to test the robustness of machine learning models.

Project description

Algorithm - General Corruptions

Description

  • Robustness with general 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-general-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_general_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/general_corruptions/

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

python -m aiverify_general_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/general_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/general_corruptions/
pytest .

Run using Docker

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

docker build -t aiverify-general-corruptions:v2.0.0a1 -f stock-plugins/aiverify.stock.image-corruption-toolbox/algorithms/general_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-general-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-general-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_general_corruptions-2.0.0a1.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for aiverify_general_corruptions-2.0.0a1.tar.gz
Algorithm Hash digest
SHA256 5ad8300f4e91652c94c9660fb753de8028e97bb1a8fe2060080fcdec00651352
MD5 7051261a57b47296902cb1dca27b77bf
BLAKE2b-256 b5efa13da9e0678a2331dd75c012eb5f8d54c8308434f6d648edd53fc89a3c37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiverify_general_corruptions-2.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 061f180dea9565995dd4348bfb4c242b8d9ff65a1dcb24629eaccbf6c5ca8263
MD5 24be75eed8098a0edf48422284a6c1c7
BLAKE2b-256 7c82625fded0e4e904de9495e6238032037232310f2c818d882d75a5f8d90dff

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