为什么我们需要预处理图像数据集?

Why do we need to pre-process image datasets?

参考这个Complete guide on How to use Autoencoders in Python

通知作者补充:

x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:])))
x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:])))

加载 MNIST 数据后。

为什么他们将图像数据除以 255?为什么是 255?在那之后,为什么他们将 2d 矩阵重塑为 1d?

非常感谢!

  • 为什么除以 255:
    RGB 值最大为 255,您希望将颜色标准化为 0 到 1 之间。

那么为什么转换为一维向量是为了轻松地将整个向量发送到模型中。如果你有一个二维向量,你将不得不使用其他形式的输入层或专门为此构建的不同类型的模型。在许多情况下,2D 矢量可以表示时间序列数据集,我实际上不知道是否有 CNN 实现可以使用 2D 输入图像。