【发布时间】:2018-05-07 11:28:41
【问题描述】:
在使用 resnet50 模型进行训练之前,我使用以下方法预处理了我的输入:
img = image.load_img(os.path.join(TRAIN, img), target_size=[224, 224])
img = image.img_to_array(img)
img = np.expand_dims(img, axis=0)
img = preprocess_input(img)
并保存一个 numpy 图像数组。
我发现没有preprocess_input,数组的大小是1.5G,加上preprocess_input,大小是7G。
这是正常行为吗?还是我错过了什么?
为什么Zero-center by mean pixel 会大幅增加输入大小?
zero center by mean pixel 在 keras 中是这样定义的
x = x[..., ::-1]
x[..., 0] -= 103.939
x[..., 1] -= 116.779
x[..., 2] -= 123.68
【问题讨论】:
-
preprocess_input是如何定义的?Zero-center by mean pixel是什么意思? -
如果你参考
preprocess_input的keras实现你可以看到x[..., 0] -= 103.939 x[..., 1] -= 116.779 x[..., 2] -= 123.68这几行代码。 -
我最终决定使用生成器。所以我不需要再担心数据的大小了。只预处理了一部分数据