tf.keras.layers.experimental.preprocessing.RandomZoom

Randomly zoom each image during training.

Inherits From: PreprocessingLayer, Layer, Module

height_factor a float represented as fraction of value, or a tuple of size 2 representing lower and upper bound for zooming vertically. When represented as a single float, this value is used for both the upper and lower bound. A positive value means zooming out, while a negative value means zooming in. For instance, height_factor=(0.2, 0.3) result in an output zoomed out by a random amount in the range [+20%, +30%]. height_factor=(-0.3, -0.2) result in an output zoomed in by a random amount in the range [+20%, +30%].
width_factor a float represented as fraction of value, or a tuple of size 2 representing lower and upper bound for zooming horizontally. When represented as a single float, this value is used for both the upper and lower bound. For instance, width_factor=(0.2, 0.3) result in an output zooming out between 20% to 30%. width_factor=(-0.3, -0.2) result in an output zooming in between 20% to 30%. Defaults to None, i.e., zooming vertical and horizontal directions by preserving the aspect ratio.
fill_mode Points outside the boundaries of the input are filled according to the given mode (one of {'constant', 'reflect', 'wrap', 'nearest'}).

  • reflect: (d c b a | a b c d | d c b a) The input is extended by reflecting about the edge of the last pixel.
  • constant: (k k k k | a b c d | k k k k) The input is extended by filling all values beyond the edge with the same constant value k = 0.
  • wrap: (a b c d | a b c d | a b c d) The input is extended by wrapping around to the opposite edge.
  • nearest: (a a a a | a b c d | d d d d) The input is extended by the nearest pixel.
interpolation Interpolation mode. Supported values: "nearest", "bilinear".
seed Integer. Used to create a random seed.
name A string, the name of the layer.
fill_value a float represents the value to be filled outside the boundaries when fill_mode is "constant".

Example:

input_img = np.random.random((32, 224, 224, 3))
layer = tf.keras.layers.experimental.preprocessing.RandomZoom(.5, .2)
out_img = layer(input_img)
out_img.shape
TensorShape([32, 224, 224, 3])

Input shape:

4D tensor with shape: (samples, height, width, channels), data_format='channels_last'.

Output shape:

4D tensor with shape: (samples, height, width, channels), data_format='channels_last'.

ValueError if lower bound is not between [0, 1], or upper bound is negative.

Methods

adapt

View source

Fits the state of the preprocessing layer to the data being passed.

Arguments
data The data to train on. It can be passed either as a tf.data Dataset, or as a numpy array.
reset_state Optional argument specifying whether to clear the state of the layer at the start of the call to adapt, or whether to start from the existing state. This argument may not be relevant to all preprocessing layers: a subclass of PreprocessingLayer may choose to throw if 'reset_state' is set to False.