如何使用 Python 将 Keras 与预训练模型结合使用?

keraspythonserver side programmingprogramming

Tensorflow 是 Google 提供的机器学习框架。它是一个开源框架,与 Python 结合使用,用于实现算法、深度学习应用程序等。它用于研究和生产目的。

Keras 在希腊语中意为"号角"。Keras 是作为 ONEIROS(开放式神经电子智能机器人操作系统)项目研究的一部分而开发的。Keras 是一个用 Python 编写的深度学习 API。它是一个高级 API,具有高效的接口,可帮助解决机器学习问题。

它在 Tensorflow 框架上运行。它旨在帮助快速进行实验。它提供了开发和封装机器学习解决方案所必需的基本抽象和构建块。

它具有高度可扩展性,并具有跨平台能力。这意味着 Keras 可以在 TPU 或 GPU 集群上运行。Keras 模型也可以导出以在 Web 浏览器或手机中运行。

Keras 已存在于 Tensorflow 包中。可以使用下面的代码行访问它。

import tensorflow
from tensorflow import keras

我们正在使用 Google Colaboratory 运行以下代码。Google Colab 或 Colaboratory 有助于在浏览器上运行 Python 代码,并且不需要任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 是在 Jupyter Notebook 之上构建的。以下是代码片段 −

示例

print("已加载具有预训练权重的卷积模型")
base_model = keras.applications.Xception(
   weights='imagenet',
   include_top=False,
   pooling='avg')
print("此模型已冻结")
base_model.trainable = False
print("使用顺序模型在基础模型之上添加可训练分类器")
model = keras.Sequential([
   base_model,
   layers.Dense(1000),
])
print("编译模型")
print("将模型拟合到测试数据")
model.compile(...)
model.fit(...)

代码来源 − https://www.tensorflow.org/guide/keras/sequential_model

输出

已加载具有预训练权重的卷积模型
从https://storage.googleapis.com/tensorflow/kerasapplications/xception/xception_weights_tf_dim_ordering_tf_kernels_notop.h583689472/83683744 [===============================] - 1s 0us/step
此模型已冻结
使用顺序模型在基础模型之上添加可训练分类器
编译模型
将模型拟合到测试数据

解释

  • 可以使用顺序模型堆栈,以及预训练模型的帮助来初始化 分类层。

  • 一旦建立了这个模型,它编译。

  • 一旦编译完成,该模型就可以适合训练数据。


相关文章