如何使用Tensorflow为鲍鱼数据集构建归一化层?


可以使用“preprocessing”模块中的“Normalization”方法构建归一化层。此层旨在适应鲍鱼数据集的特征。此外,还添加了一个密集层以提高模型的训练能力。此层将帮助预计算与每一列相关的均值和方差。这些均值和方差值将用于对数据进行归一化。

阅读更多: 什么是TensorFlow以及Keras如何与TensorFlow一起创建神经网络?

我们将使用鲍鱼数据集,其中包含一组鲍鱼的测量值。鲍鱼是一种海螺。目标是根据其他测量值预测年龄。

我们正在使用Google Colaboratory来运行以下代码。Google Colab或Colaboratory帮助在浏览器上运行Python代码,无需任何配置即可免费访问GPU(图形处理单元)。Colaboratory构建在Jupyter Notebook之上。

print("A normalization layer is being built")
normalize = preprocessing.Normalization()
normalize.adapt(abalone_features)
print("A dense layer is being added")
norm_abalone_model = tf.keras.Sequential([
   normalize,
   layers.Dense(64),
   layers.Dense(1)
])

代码来源:https://tensorflowcn.cn/tutorials/load_data/csv

输出

A normalization layer is being built
A dense layer is being added

解释

  • 模型的输入被归一化。
  • 可以通过添加“experimental.preprocessing”层来整合此归一化。
  • 此层将帮助预计算与每一列相关的均值和方差。
  • 这些均值和方差值用于对数据进行归一化。
  • 首先,使用“Normalization.adapt”方法创建归一化层。
  • 对于预处理层,仅应将训练数据与“adapt”方法一起使用。
  • 此归一化层用于构建模型。

更新于: 2021年2月19日

141 次查看

开启你的职业生涯

通过完成课程获得认证

立即开始
广告