为什么在与ImageDataGenerator一起使用重新缩放时,预测工作却无需在不使用load_img进行重新缩放的情况下起作用?

时间:2018-07-16 20:23:03

标签: tensorflow keras

我正在实现一种使用Keras进行二进制图像分类的相当普遍的方法。我用于参考的代码可以在这里找到,但它看起来与我在网上看到的许多此类代码示例相似。

https://github.com/tatsuyah/CNN-Image-Classifier/blob/master/src/train-binary.py

https://github.com/tatsuyah/CNN-Image-Classifier/blob/master/src/predict-binary.py

重要的部分在这里

# while training
train_datagen = ImageDataGenerator(
    rescale=1. / 255, # rescaling to range 0..1
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True)


# But while doing prediction
x = load_img(file, target_size=(img_width,img_height))
x = img_to_array(x)
x = np.expand_dims(x, axis=0)
array = model.predict(x)

从上面的代码中可以看到,预测时没有明显的缩放比例。实际上,我检查了x变量是否在0..1的范围内,但其值在0..255的范围内

尽管训练数据的范围为0..1,预测仍会自动以某种方式还是可以正常工作?

0 个答案:

没有答案