|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"""RandAug depends on deprecated tfa.image package, now defunct.""" |
|
|
|
from big_vision.pp import registry |
|
from big_vision.pp import utils |
|
from big_vision.pp.archive import autoaugment |
|
|
|
|
|
@registry.Registry.register("preprocess_ops.randaug") |
|
@utils.InKeyOutKey() |
|
def get_randaug(num_layers: int = 2, magnitude: int = 10): |
|
"""Creates a function that applies RandAugment. |
|
|
|
RandAugment is from the paper https://arxiv.org/abs/1909.13719, |
|
|
|
Args: |
|
num_layers: Integer, the number of augmentation transformations to apply |
|
sequentially to an image. Represented as (N) in the paper. Usually best |
|
values will be in the range [1, 3]. |
|
magnitude: Integer, shared magnitude across all augmentation operations. |
|
Represented as (M) in the paper. Usually best values are in the range [5, |
|
30]. |
|
|
|
Returns: |
|
a function that applies RandAugment. |
|
""" |
|
|
|
def _randaug(image): |
|
return autoaugment.distort_image_with_randaugment( |
|
image, num_layers, magnitude |
|
) |
|
|
|
return _randaug |
|
|