Help protect the Great Barrier Reef with TensorFlow on Kaggle

# tf.image.random_flip_up_down

Randomly flips an image vertically (upside down).

With a 1 in 2 chance, outputs the contents of image flipped along the first dimension, which is height. Otherwise, output the image as-is. When passing a batch of images, each image will be randomly flipped independent of other images.

#### Example usage:

image = np.array([[[1], [2]], [[3], [4]]])
tf.image.random_flip_up_down(image, 3).numpy().tolist()
[[[3], [4]], [[1], [2]]]

Randomly flip multiple images.

images = np.array(
[
[[[1], [2]], [[3], [4]]],
[[[5], [6]], [[7], [8]]]
])
tf.image.random_flip_up_down(images, 4).numpy().tolist()
[[[[3], [4]], [[1], [2]]], [[[5], [6]], [[7], [8]]]]

For producing deterministic results given a seed value, use tf.image.stateless_random_flip_up_down. Unlike using the seed param with tf.image.random_* ops, tf.image.stateless_random_* ops guarantee the same results given the same seed independent of how many times the function is called, and independent of global seed settings (e.g. tf.random.set_seed).

image 4-D Tensor of shape [batch, height, width, channels] or 3-D Tensor of shape [height, width, channels].
seed A Python integer. Used to create a random seed. See tf.compat.v1.set_random_seed for behavior.

A tensor of the same type and shape as image.

ValueError if the shape of image not supported.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]