Skip to content

Instantly share code, notes, and snippets.

@doleron
Created April 16, 2023 15:42
Show Gist options
  • Save doleron/ab9857401b3cd61cc0910892b705a923 to your computer and use it in GitHub Desktop.
Save doleron/ab9857401b3cd61cc0910892b705a923 to your computer and use it in GitHub Desktop.
class RandomInvert(tf.keras.layers.Layer):
def __init__(self, max_value = 255, factor=0.5, **kwargs):
super().__init__(**kwargs)
self.factor = factor
self.max_value = max_value
def call(self, x):
if tf.random.uniform([]) < self.factor:
x = (self.max_value - x)
return x
data_augmentation = tf.keras.Sequential([
RandomInvert(max_value = 1.0),
tf.keras.layers.RandomFlip("horizontal_and_vertical"),
tf.keras.layers.RandomRotation((-0.4, 0.4)),
tf.keras.layers.RandomBrightness(factor=(-0.2, 0.2), value_range=(0., 1.)),
tf.keras.layers.GaussianNoise(0.005),
tf.keras.layers.RandomZoom(height_factor=(-0.4, 0.4)),
tf.keras.layers.RandomContrast(factor=(0.1, 0.9)),
tf.keras.layers.RandomTranslation(height_factor=0.2, width_factor=0.2)
])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment