请参阅关于如何在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?在那之后,他们为什么要将二维矩阵重塑为一维矩阵?
非常感谢!
- 为什么除以255:
RGB值的值最高可达255,您希望将颜色标准化在0和1之间
那么,为什么转换为1D向量是为了容易地将整个向量发送到模型中。如果你有一个2D矢量,你将不得不使用其他形式的输入层或不同类型的模型,这些模型是专门为此构建的。在许多情况下,2D矢量可以指示时间序列数据集,我实际上不知道是否存在可以使用2D输入用于图像的CNN实现。