如何使用 Keras 通过 Python 从模型的仅一层中提取特征?
Tensorflow 是 Google 提供的机器学习框架。它是一个与 Python 结合使用的开源框架,用于实现算法、深度学习应用程序等。它用于研究和生产目的。它具有优化技术,有助于快速执行复杂的数学运算。这是因为它使用 NumPy 和多维数组。这些多维数组也称为"张量"。该框架支持使用深度神经网络。
可以使用以下代码行在 Windows 上安装"TensorFlow"包 −
pip install tensorflow
Tensor 是 TensorFlow 中使用的数据结构。它有助于连接流程图中的边缘。此流程图称为"数据流图"。张量不过是一个多维数组或列表。
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("仅从一层提取特征") initial_model = keras.Sequential( [ keras.Input(shape=(250, 250, 3)), layer.Conv2D(32, 5, strides=2,activation="relu"), layer.Conv2D(32, 3,activation="relu",name="my_intermediate_layer"), layer.Conv2D(32, 3,activation="relu"), ] ) print("从模型中提取特征") feature_extractor = keras.Model( inputs=initial_model.inputs, outputs=initial_model.get_layer(name="my_intermediate_layer").output, ) print("在测试数据上调用特征提取器方法") x = tf.ones((1, 250, 250, 3)) features = feature_extractor(x)
代码来源 − https://www.tensorflow.org/guide/keras/sequential_model
输出
仅从一层提取特征 从模型中提取特征 在测试数据上调用特征提取器方法
解释
一旦模型架构准备就绪,就会进行训练。
一旦训练完成,就会进行评估。
此模型保存到磁盘。
这可以在需要时恢复。
可以使用多个 GPU 来加速模型的训练模型。
一旦模型建立,它就会像一个功能性 API 模型一样运行。
这表明每一层都有输入和输出。
在这里,特征是从一个单层明确提取的。