AutoAlbument
AutoAlbument is an AutoML tool that learns image augmentation policies from data using the Faster AutoAugment algorithm. It relieves the user from the burden of manually selecting augmentations and tuning their parameters. AutoAlbument provides a complete ready-to-use configuration for an augmentation pipeline.
The library supports image classification and semantic segmentation tasks. You can use Albumentations to utilize policies discovered by AutoAlbument in your computer vision pipelines.
The documentation is available at https://albumentations.ai/docs/autoalbument/
Benchmarks
Here is a comparison between a baseline augmentation strategy and an augmentation policy discovered by AutoAlbument for different classification and semantic segmentation tasks. You can read more about these benchmarks in the autoalbument-benchmarks repository.
Classification
Dataset | Baseline Top-1 Accuracy | AutoAlbument Top-1 Accuracy |
---|---|---|
CIFAR10 | 91.79 | 96.02 |
SVHN | 98.31 | 98.48 |
ImageNet | 73.27 | 75.17 |
Semantic segmentation
Dataset | Baseline mIOU | AutoAlbument mIOU |
---|---|---|
Pascal VOC | 73.34 | 75.55 |
Cityscapes | 79.47 | 79.92 |
Installation
AutoAlbument requires Python 3.6 or higher. To install the latest stable version from PyPI:
pip install -U autoalbument
How to use AutoAlbument
- You need to create a configuration file with AutoAlbument parameters and a Python file that implements a custom PyTorch Dataset for your data. Next, you need to pass those files to AutoAlbument.
- AutoAlbument will use Generative Adversarial Network to discover augmentation policies and then create a file containing those policies.
- Finally, you can use Albumentations to load augmentation policies from the file and utilize them in your computer vision pipelines.
You can read the detailed description of all steps at https://albumentations.ai/docs/autoalbument/how_to_use/
Examples
The examples
directory contains example configs for different tasks and datasets:
Classification
Semantic segmentation
To run the search with an example config:
autoalbument-search --config-dir </path/to/directory_with_dataset.py_and_search.yaml>