Skip to main content

Part of AI Verify image corruption toolbox. This package includes algorithms that adds blur corruptions (defocus, gaussian, glass, horizontal motion, vertical motion and zoom Blur) to images at 5 severity levels, to test the robustness of machine learning models.

Project description

Algorithm - Blur Corruptions

Description

  • Robustness plugin with blur 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-blur-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_blur_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/blur_corruptions/

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

python -m aiverify_blur_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/blur_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/blur_corruptions/
pytest .

Run using Docker

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

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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for aiverify_blur_corruptions-2.0.0a1.tar.gz
Algorithm Hash digest
SHA256 39518686801c38650518d46f57af2fc04184297eabab9076cff88d59399e9c35
MD5 7bbf5ab6a9de001e22a0fa3640b221ec
BLAKE2b-256 29158314a8d118f10995787e03289e277bff2d4a77e9a861dc83e2ec904c2ff8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiverify_blur_corruptions-2.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 78585826ae3b94059a1c00c351a09757df5450df06a1ddfe9d237ed4958e9161
MD5 4ba8da98b3ac07c5e1cdd3a984f76786
BLAKE2b-256 24d0688e045af7332c6f08c988d355e8ae5bc729a88dfe5bcc11095529c7fa4e

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