如何使用Tensorflow标准化flower数据集?
数据标准化是指将数据集缩放到一定水平,使得所有特征都可以使用相等的单位来表示。缩放层使用Keras模块中存在的“Rescaling”方法来构建。该层应用于整个数据集,使用“map”方法。
我们将使用花卉数据集,其中包含数千朵花的图像。它包含5个子目录,每个类都有一个子目录。
我们使用Google Colaboratory来运行以下代码。Google Colab或Colaboratory可以通过浏览器运行Python代码,无需任何配置,并获得GPU(图形处理单元)的免费访问。Colaboratory基于Jupyter Notebook构建。
from tensorflow.keras import layers
print("使用重新调整大小层标准化数据")
normalization_layer = tf.keras.layers.experimental.preprocessing.Rescaling(1./255)
print("可以通过在数据集上调用映射函数应用此层")
normalized_ds = train_ds.map(lambda x, y: (normalization_layer(x), y))
image_batch, labels_batch = next(iter(normalized_ds))
first_image = image_batch[0]
print(np.min(first_image), np.max(first_image))
代码来源:https://www.tensorflow.org/tutorials/load_data/images
更多Python相关文章,请阅读:Python 教程
输出
使用重新调整大小层标准化数据
可以通过在数据集上调用映射函数应用此层
0.0 0.96902645
说明
- RGB通道值在0和255之间。
- 这对于神经网络不好。
- 本质上,需要尽可能缩小输入数据。
- 图像中的值已标准化为0到1的范围。
- 这是通过重新调整大小层帮助实现的。
- 另一种选择是在模型的定义中包含此重新缩放层,这将简化部署。
极客教程