这是我学习的一部分。我知道标准化确实有助于提高准确性,因此除以255得到mnist值。这将把所有像素除以255,因此28×28的所有像素的值将在0.0到1.0之间 . 你知道吗
现在我厌倦了用255乘以,这基本上意味着我们应该拿回原值。但当我显示图片时,原始图片和非标准化图片都是不同的。你知道吗
(trainX, trainY), (testX, testY) = mnist.load_data()
plt.subplot(2,2,1)
plt.imshow(trainX[143])
trainX /= 255
plt.subplot(2,2,2)
plt.imshow(trainX[143])
trainX *= 255
plt.subplot(2,2,3)
plt.imshow(trainX[143])
plt.show()
输出:
我错过了什么?。和输入数据的float和int数据类型有关吗?你知道吗
MNIST存储为28x28 uint8 numpy数组,当您除以255时,它会将数据转换为浮点,以便进行除法,最终成为浮点numpy数组。因此,当您与255相乘时,它仍然是一个浮点数组,matplotlib可能会对其进行不同的解释,以便于打印。你知道吗
要使其正常工作,必须将数据强制转换为uint8,如:
那么它应该正确地绘制。你知道吗
相关问题 更多 >
编程相关推荐