Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 哪种是正确的图像标准化方法?_Python_Tensorflow_Neural Network_Deep Learning_Data Science - Fatal编程技术网

Python 哪种是正确的图像标准化方法?

Python 哪种是正确的图像标准化方法?,python,tensorflow,neural-network,deep-learning,data-science,Python,Tensorflow,Neural Network,Deep Learning,Data Science,在为神经网络训练准备训练集时,我发现了两种可能的方法 传统的方法是:计算整个训练集的平均值,然后在发送到网络之前减去每个图像的固定平均值。以类似的方式处理标准偏差 我发现tensorflow提供了一个函数tf.image.per\u image\u standarization,可以对单个图像进行规范化处理 我想知道哪种方法更合适?两种方法都有可能,选择主要取决于您读取数据的方式 当您可以将整个数据集一次性加载到numpy数组中时,整个训练集规范化非常方便。例如,通常完全加载到内存中。在收敛性

在为神经网络训练准备训练集时,我发现了两种可能的方法

  • 传统的方法是:计算整个训练集的平均值,然后在发送到网络之前减去每个图像的固定平均值。以类似的方式处理标准偏差
  • 我发现tensorflow提供了一个函数
    tf.image.per\u image\u standarization
    ,可以对单个图像进行规范化处理

  • 我想知道哪种方法更合适?

    两种方法都有可能,选择主要取决于您读取数据的方式

    • 当您可以将整个数据集一次性加载到numpy数组中时,整个训练集规范化非常方便。例如,通常完全加载到内存中。在收敛性方面,当单个图像显著变化时,这种方法也更可取:两个训练图像,一个大部分为白色,另一个大部分为黑色,将具有非常不同的方法

    • 当图像逐个加载或以小批量加载(例如从TFRecord加载)时,每个图像的规格化非常方便。当数据集太大或太适合内存时,它也是唯一可行的选择。在这种情况下,最好像图中的其他张量一样组织和变换图像张量。我在CIFAR-10中看到了这种标准化的非常好的准确性,因此这是一种可行的方法,尽管前面提到了一些问题。还请注意,您可以通过以下方式减少负面影响