Python 如何使用Python从Keras中提取仅一个层的特征?
TensorFlow是由Google提供的机器学习框架。它是一个开源框架,与Python一起使用来实现算法、深度学习应用等。它适用于研究和生产目的。它具有优化技术,可帮助快速执行复杂的数学运算。这是因为它使用NumPy和多维数组。这些多维数组也称为”张量”。该框架支持使用深度神经网络。
下面的代码可以在Windows上安装”TensorFlow”包 −
pip install tensorflow
张量是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的基础上构建的。以下是代码片段−
阅读更多:Python 教程
示例
print("Feature extraction from one layer only")
initial_model = keras.Sequential(
[
keras.Input(shape=(250, 250, 3)),
layers.Conv2D(32, 5, strides=2, activation="relu"),
layers.Conv2D(32, 3, activation="relu", name="my_intermediate_layer"),
layers.Conv2D(32, 3, activation="relu"),
]
)
print("Feature extraction from the model")
feature_extractor = keras.Model(
inputs=initial_model.inputs,
outputs=initial_model.get_layer(name="my_intermediate_layer").output,
)
print("The feature extractor method is called on test data")
x = tf.ones((1, 250, 250, 3))
features = feature_extractor(x)
代码来源− https://www.tensorflow.org/guide/keras/sequential_model
输出
Feature extraction form one layer only
Feature extraction form the model
The feature extractor method is called on test data
解释
-
一旦模型的架构准备好,就进行训练。
-
训练完成后,对其进行评估。
-
将该模型保存到磁盘中。
-
需要时可以还原该模型。
-
可以使用多个GPU来加速模型的训练。
-
一旦构建了模型,它就像一个功能性API模型一样运行。
-
这表示每个层都有输入和输出。
-
在这里,从单个层中显式提取特征。
极客教程