Keras MNIST数据库查询深度学习为什么要从int转换为float



我正在借助Python 的深度学习书籍学习深度学习

下面的代码被转换成浮动

train_images = train_images.reshape((60000, 28 * 28))
train_images = train_images.astype('float32') / 255
test_images = test_images.reshape((10000, 28 * 28))
test_images = test_images.astype('float32') / 255

你能告诉我为什么需要转换为Float范围(0..1(吗?而原始列车数据是uint8类型的形状数组(60000,28,28(,其值在[0255]区间内?

感谢您的帮助

在训练神经网络时,最常见的是使用32位精度,因此在某一点上,训练数据必须转换为32位浮点值。由于数据集很容易放入RAM,我们不妨立即转换为float。

Keras中的所有方法或函数都希望输入数据为默认的浮动数据类型(float32(。即使您尝试使用float16double或者任何其他数据类型对数据进行训练,您也会得到类似以下的运行时异常:

RuntimeError: "conv2d_cpu" not implemented for 'Half'

因此,数据和模型计算发生在float32上。

最新更新