Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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 如何规范化Tensorflow Keras中的图像数据_Python_Tensorflow_Keras_Normalization - Fatal编程技术网

Python 如何规范化Tensorflow Keras中的图像数据

Python 如何规范化Tensorflow Keras中的图像数据,python,tensorflow,keras,normalization,Python,Tensorflow,Keras,Normalization,如前所述,我正在尝试在训练模型之前规范化我的数据集。我之前使用了tf.keras.preprocessing.image.ImageDataGenerator来完成这项工作 train_data = tf.cast(train_data, tf.float32) train_gen = ImageDataGenerator( featurewise_center=True, featurewise_std_norma

如前所述,我正在尝试在训练模型之前规范化我的数据集。我之前使用了
tf.keras.preprocessing.image.ImageDataGenerator
来完成这项工作

        train_data = tf.cast(train_data, tf.float32)
        train_gen = ImageDataGenerator(
            featurewise_center=True,
            featurewise_std_normalization=True
        )
        train_gen.fit(train_data)
        train_generator = train_gen.flow(train_data, train_labels,
                                         batch_size=batch_size,
                                         shuffle=True)
        model.fit(train_generator, epochs=base_epochs)
但是,我不得不放弃它,因为我使用自定义层实现了一个复杂的丢失函数。因此,需要将数据和标签作为输入分别发送到模型。Tensorflow Keras中是否提供了任何其他函数来规范我的样本

    def standardize(image_data):
        image_data -= np.mean(image_data, axis=0)
        image_data /= np.std(image_data, axis=0)
        return image_data

这是解决这个问题的一个简单方法。自己对数据进行预处理。

这些都是简单的操作,您可以自己实现(如果您无法使用生成器)。您可以尝试使用numpy数组,但它不会像您在ImageDataGenerator中提到的那样是批处理的。np.平均值(列数据,轴=0),然后列数据-=列数据平均值。同样,对于std,所有样本的np.std沿轴0。@AkashKumar感谢您的建议!我在检查了源代码后解决了这个问题,并完全按照您的建议进行了操作