如何使用Python构建Tensorflow的归一化层?
通过先将类名转换为Numpy数组,然后使用’tf.keras.layers.experimental.preprocessing’包中的’Rescaling’方法创建一个归一化层,可以使用Tensorflow构建归一化层。
阅读更多:什么是TensorFlow,以及如何使用Keras与TensorFlow一起创建神经网络?
包含至少一层的神经网络被称为卷积层。我们可以使用卷积神经网络来构建学习模型。
图像分类的迁移学习背后的直觉是,如果一个模型经过大规模和通用数据集的训练,这个模型可以有效地作为视觉世界的通用模型。它将学习特征映射,这意味着用户不需要从头开始训练大型数据集上的大型模型。
TensorFlow Hub是包含预训练TensorFlow模型的存储库。TensorFlow可用于微调学习模型。
我们将了解如何使用TensorFlow Hub中的模型进行微调,使用TensorFlow Hub中的图像分类模型。完成后,可以对用于定制图像类的模型进行转移学习。这是通过使用预训练分类器模型来处理图像并预测图像所属类别实现的。这可以在不需要任何训练的情况下完成。
我们正在使用Google Colaboratory来运行下面的代码。Google Colab或Colaboratory可帮助在浏览器上运行Python代码,不需要任何配置,并且免费访问GPU(图形处理单元)。Colaboratory是在Jupyter Notebook之上构建的。
更多Python相关文章,请阅读:Python 教程
示例
print("包含5个类")
class_names = np.array(train_ds.class_names)
print(class_names)
print("创建归一化层")
normalization_layer = tf.keras.layers.experimental.preprocessing.Rescaling(1./255)
train_ds = train_ds.map(lambda x, y: (normalization_layer(x), y))
代码来源 − https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub
输出
包含5个类
['daisy' 'dandelion' 'roses' 'sunflowers' 'tulips']
创建归一化层
解释
-
TFHub模型图像的惯例要求在[0,1]范围内输入浮点数。
-
可以使用归一化层来实现相同的效果。
-
可以使用缓冲预获取,以便从磁盘获取数据而无需I / O阻塞。