Skip to main content

Test time image augmentation for Keras models.

Project description


# TTA wrapper
Test time augmnentation wrapper for keras image segmentation and classification models.

## Description

### How it works?

Wrapper add augmentation layers to your Keras model like this:

```
Input
| # input image; shape 1, H, W, C
/ / / \ \ \ # duplicate image for augmentation; shape N, H, W, C
| | | | | | # apply augmentations (flips, rotation, shifts)
your Keras model
| | | | | | # reverse transformations
\ \ \ / / / # merge predictions (mean, max, gmean)
| # output mask; shape 1, H, W, C
Output
```

### Arguments

- `h_flip` - bool, horizontal flip augmentation
- `v_flip` - bool, vertical flip augmentation
- `rotataion` - list, allowable angles - 90, 180, 270
- `h_shift` - list of int, horizontal shift augmentation in pixels
- `v_shift` - list of int, vertical shift augmentation in pixels
- `add` - list of int/float, additive factor (aug_image = image + factor)
- `mul` - list of int/float, additive factor (aug_image = image * factor)
- `contrast` - list of int/float, contrast adjustment factor (aug_image = (image - mean) * factor + mean)
- `merge` - one of 'mean', 'gmean' and 'max' - mode of merging augmented predictions together

### Constraints
1) model has to have 1 `input` and 1 `output`
2) inference `batch_size == 1`
3) image `height == width` if `rotation_angles` augmentation is used


## Example
```python
from keras.models import load_model
from tta_wrapper import tta_segmentation

model = load_model('path/to/model.h5')
tta_model = tta_segmentation(model, h_flip=True, rotation_angles=(90, 270),
h_shifts=(-5, 5), merge='mean')
y = tta_model.predict(x)
```


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

tta_wrapper-0.0.1.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tta_wrapper-0.0.1-py2.py3-none-any.whl (7.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file tta_wrapper-0.0.1.tar.gz.

File metadata

  • Download URL: tta_wrapper-0.0.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/36.5.0.post20170921 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/3.6.3

File hashes

Hashes for tta_wrapper-0.0.1.tar.gz
Algorithm Hash digest
SHA256 80595505d9c4cb8f0e555d9c23a3b0641685b75504a36d9fd9811d1e1b56f2f9
MD5 778345f72a12c95df8119b426a584217
BLAKE2b-256 8e5b5fe0b3611e16c6a46b09ea3bcda9194215429dba47b19a8fc0c74c46a2fb

See more details on using hashes here.

File details

Details for the file tta_wrapper-0.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: tta_wrapper-0.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/36.5.0.post20170921 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/3.6.3

File hashes

Hashes for tta_wrapper-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 57d68d000fbcd15983cda83b6cc1673515d494cb4970d2e9c7c0e325e5d364fc
MD5 2d4071a34af5f85cef5c4284827b7a4c
BLAKE2b-256 e46a11cced7cc269dda46749763cb10c90e06d455ba4cc8a56d4a62f8abb0c08

See more details on using hashes here.

Supported by

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