【发布时间】:2021-07-03 15:22:25
【问题描述】:
我正在从一篇论文中训练一个网络,该论文的内容如下:
“我们将所有图像的大小调整为 (256, 256) 并通过 RGB 通道的均值和标准差 0.5 对它们进行归一化,然后再将它们传递给各自的网络。”
我使用 ImageDataGenerator 类,然后使用 flow_from_directory() 从训练集图像目录中获取我的图像。
我不知道我需要使用哪种参数组合才能使每个图像最终在每个 RGB 通道中的像素上具有 0.5 的平均值和 0.5 的标准偏差。
我目前的实现如下:
datagen = ImageDataGenerator(rescale=1.0/255.0, samplewise_center=True, samplewise_std_normalization=True,validation_split=0.99)
train_gen = datagen.flow_from_directory(dir_name, classes=['image_train'], batch_size=BATCH_SIZE,
class_mode=None, subset="training")
它似乎正在生成平均值为 0 且像素范围为 -1.7 到 2.3 的图像。
是否可以在不实现我自己的预处理代码的情况下,使用 ImageDataGenerator 类在 RGB 通道上实现均值和标准偏差为 0.5 的输入图像,并严格限制在 0 到 1 的范围内?
【问题讨论】:
标签: tensorflow keras normalization image-preprocessing