Python 如何使用Python从Keras中提取仅一个层的特征?

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模型一样运行。

  • 这表示每个层都有输入和输出。

  • 在这里,从单个层中显式提取特征。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程