如何使用TensorFlow和预训练模型来串联数据增强、重新缩放和基础模型?
TensorFlow和预训练模型可以通过首先定义输入大小来串联数据增强、重新缩放和基础模型。完成此操作后,通过传递相关的输出调用先前定义的函数,即“data_augmentation”、“base_model”。
阅读更多: 什么是TensorFlow以及Keras如何与TensorFlow一起创建神经网络?
包含至少一层卷积层的神经网络被称为卷积神经网络。我们可以使用卷积神经网络来构建学习模型。
我们将了解如何借助来自预训练网络的迁移学习来对猫和狗的图像进行分类。图像分类迁移学习背后的直觉是,如果一个模型在一个大型且通用的数据集上进行训练,则该模型可以有效地用作视觉世界的通用模型。它将学习特征映射,这意味着用户无需从头开始训练大型数据集上的大型模型。
阅读更多: 如何预训练定制模型?
我们使用Google Colaboratory运行以下代码。Google Colab或Colaboratory帮助在浏览器上运行Python代码,无需任何配置即可免费访问GPU(图形处理单元)。Colaboratory构建在Jupyter Notebook之上。
示例
print("Chaining together data augmentation, rescaling, base_model and feature extractor layers") inputs = tf.keras.Input(shape=(160, 160, 3)) x = data_augmentation(inputs) x = preprocess_input(x) x = base_model(x, training=False) x = global_average_layer(x) x = tf.keras.layers.Dropout(0.2)(x) outputs = prediction_layer(x) model = tf.keras.Model(inputs, outputs)
输出
Chaining together data augmentation, rescaling, base_model and feature extractor layers
解释
通过串联数据增强、重新缩放、base_model和特征提取层来构建模型。
这是借助Keras函数式API完成的。
使用training=False是因为模型包含BatchNormalization层。
广告