如何使用Python中的Keras提取和重用层图中的节点?

如何使用Python中的Keras提取和重用层图中的节点?

Keras是作为ONEIROS项目(开放式神经电子智能机器人操作系统)的研究的一部分开发的。Keras是一个用Python编写的深度学习API。它是一个高级API,具有有益于解决机器学习问题的生产接口。它在Tensorflow框架之上运行。它的建设是为了帮助快速进行实验。它提供了必要的抽象和构建块,这些抽象和构建块在开发和封装机器学习解决方案中是必不可少的。

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

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

import tensorflow
from tensorflow import keras

Keras函数API有助于创建比使用顺序API创建的模型更灵活的模型。函数API可以使用非线性拓扑的模型,可以共享层并使用多个输入输出。深度学习模型通常是包含多个层的有向无环图(DAG)。函数API帮助构建层的图。

我们使用Google Colaboratory来运行以下代码。Google Colab或Colaboratory帮助在浏览器上运行Python代码,不需要任何配置,可以免费访问GPU(图形处理单元)。Colaboratory是构建在Jupyter Notebook之上的。以下是代码片段,其中Kera用于提取和重用图层中的节点。

更多Python相关文章,请阅读:Python 教程

示例

print("VGG19 model with pre-trained weights")
vgg19 = tf.keras.applications.VGG19()
features_list = [layer.output for layer in vgg19.layers]
feat_extraction_model = keras.Model(inputs=vgg19.input, outputs=features_list)

img = np.random.random((1, 224, 224, 3)).astype("float32")
print("Create feature-extraction model")
extracted_features = feat_extraction_model(img)

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

输出

VGG19 model with pre-trained weights
Downloading data from https://storage.googleapis.com/tensorflow/kerasapplications/vgg19/vgg19_weights_tf_dim_ordering_tf_kernels.h5
574717952/574710816 [==============================] - 6s 0us/step
Create feature-extraction model

解释

  • 由于层的图是静态数据结构,因此可以访问它。

  • 这就是为什么函数模型可以绘制为图像的原因。

  • 还可以访问和重用中间层(节点)的激活。

  • 这对于特征提取非常有用。

  • 我们将使用已经在ImageNet上使用预训练权重的VGG19模型。

  • 可以通过查询图形数据结构来获取这些中间激活。

  • 这些特征可以用于创建返回中间层激活值的新特征提取模型。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程