# 比较与tf.image.per_image_standardization的功能差异 ## tf.image.per_image_standardization ```python tf.image.per_image_standardization( image ) ``` 更多内容详见[tf.image.per_image_standardization](https://www.tensorflow.org/versions/r2.6/api_docs/python/tf/image/per_image_standardization)。 ## mindspore.dataset.vision.Normalize ```python class mindspore.dataset.vision.Normalize( mean, std, is_hwc ) ``` 更多内容详见[mindspore.dataset.vision.Normalize](https://mindspore.cn/docs/zh-CN/r2.0.0-alpha/api_python/dataset_vision/mindspore.dataset.vision.Normalize.html#mindspore.dataset.vision.Normalize)。 ## 使用方式 TensorFlow:对图像进行标准化,均值和标准差将根据图像自动计算。 MindSpore:对图像进行标准化,均值和标准差通过参数输入。 ## 代码示例 ```python # The following implements Normalize with MindSpore. import numpy as np import mindspore.dataset as ds image = np.random.random((28, 28, 3)) mean = [np.mean(image, axis=(-1, -2, -3), keepdims=False)] std = [np.std(image, axis=(-1, -2, -3), keepdims=False)] adjusted_stddev = list(np.maximum(std, 1.0 / np.sqrt(image.size))) result = ds.vision.Normalize(mean, adjusted_stddev)(image) print(result.mean()) # 0.0 print(result.std()) # 1.0 # The following implements per_image_standardization with TensorFlow. import tensorflow as tf tf.compat.v1.enable_eager_execution() image = tf.random.normal((28, 28, 3)) result = tf.image.per_image_standardization(image) print(tf.math.reduce_mean(result)) # 0.0 print(tf.math.reduce_std(result)) # 1.0 ```