Save the date! Google I/O returns May 18-20

# tf.keras.layers.experimental.preprocessing.RandomZoom

Randomly zoom each image during training.

Inherits From: `PreprocessingLayer`, `Layer`, `Module`

### Used in the notebooks

Used in the guide Used in the tutorials

`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.