如何使用Python使用Tensorflow标准化数据?
我们将使用包含数千幅图像的花卉数据集。它包含5个子目录,每个类别都有一个子目录。下载花卉数据集后,可以将其加载到环境中以处理它。
可以通过在模型中引入归一化层来标准化花卉数据集。此层称为“缩放”层,可以使用“map”方法应用于整个数据集。
更多Python相关文章,请阅读:Python 教程
我们将使用Google Colaboratory来运行下面的代码。Google Colab或Colaboratory可通过浏览器运行Python代码,无需任何配置,并免费获得GPU(图形处理单元)访问权限。Colaboratory基于Jupyter Notebook构建。
print("创建归一化层")
normalization_layer = 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/images/classification
输出
创建归一化层
将此层应用于数据集
0.0 1.0
解释
- RGB通道值的范围为[0,255]。
- 这对于神经网络而言不是理想的。
- 作为一个基本准则,确保输入值小。
- 因此,可以将值标准化为在范围[0,1]之间。
- 这可以通过使用“缩放”层来实现。
- 可以通过调用map函数将图层应用于数据集来完成。
- 另一种方法是将图层包含在模型定义中。
- 这将简化部署过程。
极客教程