/TensorFlow 2.3

# tf.keras.layers.experimental.preprocessing.RandomTranslation

Randomly translate each image during training.

Inherits From: `Layer`

Arguments
`height_factor` a float represented as fraction of value, or a tuple of size 2 representing lower and upper bound for shifting vertically. A negative value means shifting image up, while a positive value means shifting image down. When represented as a single positive float, this value is used for both the upper and lower bound. For instance, `height_factor=(-0.2, 0.3)` results in an output shifted by a random amount in the range [-20%, +30%]. `height_factor=0.2` results in an output height shifted by a random amount in the range [-20%, +20%].
`width_factor` a float represented as fraction of value, or a tuple of size 2 representing lower and upper bound for shifting horizontally. A negative value means shifting image left, while a positive value means shifting image right. When represented as a single positive float, this value is used for both the upper and lower bound. For instance, `width_factor=(-0.2, 0.3)` results in an output shifted left by 20%, and shifted right by 30%. `width_factor=0.2` results in an output height shifted left or right by 20%.
`fill_mode` Points outside the boundaries of the input are filled according to the given mode (one of `{'constant', 'reflect', 'wrap'}`).
• 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.
`interpolation` Interpolation mode. Supported values: "nearest", "bilinear".
`seed` Integer. Used to create a random seed.
`name` A string, the name of the layer.

#### 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'.

Raise
`ValueError` if either bound is not between [0, 1], or upper bound is less than lower bound.