TensorFlow提取和重用层计算图中的节点

简介: 由于要处理的层计算图是静态数据结构,可以对其进行访问和检查。而这就是将函数式模型绘制为图像的方式。

由于要处理的层计算图是静态数据结构,可以对其进行访问和检查。而这就是将函数式模型绘制为图像的方式。


这也意味着您可以访问中间层的激活函数(计算图中的“节点”)并在其他地方重用它们,这对于特征提取之类的操作十分有用。


让我们来看一个例子。下面是一个 VGG19 模型,其权重已在 ImageNet 上进行了预训练:


下面的代码就是首先调用VGG19模型,我们需要VGG19中间层提取到的特征,所以我们指定输出为VGG19的输入,然后输出是VGG19中间内部的每个层,这样当我们传入一个图片数据给这个模型时,我们就会获得利用VGG19提取到的特征。


完整代码:


"""

* Created with PyCharm

* 作者: 阿光

* 日期: 2022/1/2

* 时间: 11:25

* 描述:

"""

import numpy as np

import tensorflow as tf

from keras import Model


vgg19 = tf.keras.applications.VGG19()


features_list = [layer.input for layer in vgg19.layers]


feature_extraction_model = Model(

   inputs=vgg19.input,

   outputs=features_list

)


img = np.random.random((1, 224, 224, 3)).astype('float32')


extracted_features = feature_extraction_model(img)

print(extracted_features)

目录
相关文章
|
8月前
|
PyTorch 算法框架/工具
Pytorch中最大池化层Maxpool的作用说明及实例使用(附代码)
Pytorch中最大池化层Maxpool的作用说明及实例使用(附代码)
782 0
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
103 3
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 中的动态计算图:实现灵活的神经网络架构
【8月更文第27天】PyTorch 是一款流行的深度学习框架,它以其灵活性和易用性而闻名。与 TensorFlow 等其他框架相比,PyTorch 最大的特点之一是支持动态计算图。这意味着开发者可以在运行时定义网络结构,这为构建复杂的模型提供了极大的便利。本文将深入探讨 PyTorch 中动态计算图的工作原理,并通过一些示例代码展示如何利用这一特性来构建灵活的神经网络架构。
400 1
|
8月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow核心组件详解:张量、图与会话
【4月更文挑战第17天】TensorFlow的核心是张量、计算图和会话。张量是基本数据单元,表示任意维度数组;计算图描述操作及它们的依赖关系,优化运行效率;会话是执行计算图的环境,负责操作执行和资源管理。在TF 2.x中,Eager Execution模式简化了代码,无需显式创建会话。理解这些组件有助于高效开发深度学习模型。
|
8月前
|
机器学习/深度学习 算法 PyTorch
PyTorch中的动态计算图与静态计算图
【4月更文挑战第18天】PyTorch的动态计算图在运行时构建,灵活且易于调试,适合模型开发,但执行效率相对较低,不易优化。静态计算图预定义,执行效率高,利于优化,适用于对效率要求高的场景,但灵活性和调试难度较大。两者在模型开发与部署阶段各有优势。
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch基础模块——残差结构
Resnet中的重要创新点残差结构,在很多地方都有应用
165 0
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch】什么时候使用数组形式创建多个卷积层
【PyTorch】什么时候使用数组形式创建多个卷积层
102 0
|
PyTorch 算法框架/工具
【PyTorch】初始化网络各层权重
【PyTorch】初始化网络各层权重
69 0