Function Differences with tf.image.random_crop

View Source On Gitee

tf.image.random_crop

tf.image.random_crop(
    value,
    size,
    seed=None,
    name=None
)

For more information, see tf.image.random_crop.

mindspore.dataset.vision.RandomCrop

class mindspore.dataset.vision.RandomCrop(
    size,
    padding=None,
    pad_if_needed=False,
    fill_value=0,
    padding_mode=Border.CONSTANT
)

For more information, see mindspore.dataset.vision.RandomCrop.

Differences

TensorFlow: Crop the image at a random position with the specified random seed.

MindSpore: Crop the image at a random position and pad if needed. The global random seed can be set through mindspore.dataset.config.set_seed.

Code Example

# The following implements RandomCrop with MindSpore.
import numpy as np
import mindspore.dataset as ds

ds.config.set_seed(57)
image = np.random.random((28, 28, 3))
result = ds.vision.RandomCrop((5, 5))(image)
print(result.shape)
# (5, 5, 3)

# The following implements random_crop with TensorFlow.
import tensorflow as tf

image = tf.random.normal((28, 28, 3))
result = tf.image.random_crop(image, (5, 5, 3), seed=57)
print(result.shape)
# (5, 5, 3)