在image_preprocessing.image_preprocessing
中,代码结束:
# Finally, rescale to [-1,1] instead of [0, 1)
image = tf.subtract(image, 0.5)
image = tf.multiply(image, 2.0)
return image
这对我来说毫无意义,有两个原因。
首先,我不知道为什么重新缩放之前的图像位于[0,1)
中。看起来图像已经通过decode_jpeg
进行了转换,这很明显,然后使用tf.images.resize_images
进行了调整大小,该尺寸通常转换为浮点数,但是在我看来,它们在{{ 1}}。
第二,无论如何我都无法弄清楚这种线性重新缩放的效果。在我看来,如果要重新缩放,则可能应该执行scikit-learn的StandardScaler
之类的操作,以便将数据重新转换为零中心并具有统一的标准偏差。当然,这可能是一个错误,因为颜色变化的幅度在图像识别中很有用。
我的总体印象是,注释是错误的,并且进行“调整”的代码实际上是无关紧要的,因为在CNN的第一步之前,线性变换并不重要。
我想念什么吗?