当前位置: 首页 > wzjs >正文

诸城易讯网站建设服务中心百度云资源搜索

诸城易讯网站建设服务中心,百度云资源搜索,wordpress 100万数据,武昌做网站报价使用特征图输出进行特征图可视化 文章目录 前言效果展示获取某一层特征图输出原图方法一:使用IntermediateLayerGetter类方法二:使用hook机制(推荐) 总结 前言 提示:这里可以添加本文要记录的大概内容: 例…

使用特征图输出进行特征图可视化

文章目录

  • 前言
  • 效果展示
  • 获取某一层特征图输出
      • 原图
      • 方法一:使用IntermediateLayerGetter类
      • 方法二:使用hook机制(推荐)
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了基于pytorch使用特征图输出进行特征图可视化的方法

特征图输出就是某个图像(序列)经过该层时的输出


以下是本篇文章正文内容

效果展示

在这里插入图片描述

获取某一层特征图输出

原图

在这里插入图片描述

方法一:使用IntermediateLayerGetter类

# 返回输出结果
import randomimport cv2
import torchvision
import torch
from matplotlib import pyplot as plt
import numpy as np
from torchvision import transforms
from torchvision import models# 定义函数,随机从0-end的一个序列中抽取size个不同的数
def random_num(size, end):range_ls = [i for i in range(end)]num_ls = []for i in range(size):num = random.choice(range_ls)range_ls.remove(num)num_ls.append(num)return num_lspath = "img_1.png"
transformss = transforms.Compose([transforms.ToTensor(),transforms.Resize((224, 224)),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])# 注意如果有中文路径需要先解码,最好不要用中文
img = cv2.imread(path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)# 转换维度
img = transformss(img).unsqueeze(0)model = models.resnet50(pretrained=True)
new_model = torchvision.models._utils.IntermediateLayerGetter(model, {'layer1': '1', 'layer2': '2', "layer3": "3"})
out = new_model(img)tensor_ls = [(k, v) for k, v in out.items()]# 这里选取layer2的输出画特征图
v = tensor_ls[1][1]# 选择目标卷积层
target_layer = model.layer2[2]
"""
如果要选layer3的输出特征图只需把第一个索引值改为2,即:
v=tensor_ls[2][1]
只需把第一个索引更换为需要输出的特征层对应的位置索引即可
"""
# 取消Tensor的梯度并转成三维tensor,否则无法绘图
v = v.data.squeeze(0)print(v.shape)  # torch.Size([512, 28, 28])# 随机选取25个通道的特征图
channel_num = random_num(25, v.shape[0])
plt.figure(figsize=(10, 10))
for index, channel in enumerate(channel_num):ax = plt.subplot(5, 5, index + 1, )plt.imshow(v[channel, :, :])
plt.savefig("./img/feature.jpg", dpi=300)

输出的结果如下:
在这里插入图片描述

方法二:使用hook机制(推荐)

如下代码所示:

# 返回输出结果
import randomimport cv2
import torchvision
import torch
from matplotlib import pyplot as plt
import numpy as np
from torchvision import transforms
from torchvision import models# 定义函数,随机从0-end的一个序列中抽取size个不同的数
def random_num(size, end):range_ls = [i for i in range(end)]num_ls = []for i in range(size):num = random.choice(range_ls)range_ls.remove(num)num_ls.append(num)return num_lspath = "img_1.png"
transformss = transforms.Compose([transforms.ToTensor(),transforms.Resize((224, 224)),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])# 注意如果有中文路径需要先解码,最好不要用中文
img = cv2.imread(path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)# 转换维度
img = transformss(img).unsqueeze(0)model = models.resnet50(pretrained=True)# 选择目标层
target_layer = model.layer2[2]
# 注册钩子函数,用于获取目标卷积层的输出
outputs = []
def hook(module, input, output):outputs.append(output)hook_handle = target_layer.register_forward_hook(hook)_ = model(img)v = outputs[-1]"""
如果要选layer3的输出特征图只需把第一个索引值改为2,即:
v=tensor_ls[2][1]
只需把第一个索引更换为需要输出的特征层对应的位置索引即可
"""
# 取消Tensor的梯度并转成三维tensor,否则无法绘图
v = v.data.squeeze(0)print(v.shape)  # torch.Size([512, 28, 28])# 随机选取25个通道的特征图
channel_num = random_num(25, v.shape[0])
plt.figure(figsize=(10, 10))
for index, channel in enumerate(channel_num):ax = plt.subplot(5, 5, index + 1, )plt.imshow(v[channel, :, :])
plt.savefig("./img/feature2.jpg", dpi=300)

总结

以上就是今天要讲的内容

http://www.dtcms.com/wzjs/348105.html

相关文章:

  • 网站建设亿玛酷给力5杭州小周seo
  • 关于加强政府网站建设的通知留号码的广告网站不需要验证码
  • 专业做网站推广宜昌网站seo
  • 中国电信黄页官网北京搜索引擎优化seo专员
  • 专业的设计网站建设行业网络营销
  • 公司做网站需要好多钱无需下载直接进入的网站的代码
  • wordpress 图片 旋转在线seo关键词排名优化
  • 做网站用到java吗查找关键词的工具叫什么
  • 做网站必须内容真实性广州百度推广客服电话多少
  • 电商网站的建设谷歌推广运营
  • 宁晋网站建设多少钱app开发流程
  • 废品回收在哪个网站做效果好百度推广登录官网入口
  • 网站开发实验室建设方案网站下载免费软件
  • 简述b2b b2c c2c o2o的含义网站seo入门基础教程
  • 单一产品销售网站建设模板网络推广公司哪家好
  • 如何免费做网站网页惠州网站制作推广
  • Md5(Wordpress)解密长沙seo优化首选
  • wordpress tag无法找到该页一点优化
  • 网站设计布局百度推广一般多少钱
  • 什么是成交型网站建设百度旧版本
  • 佛山格尔做网站的公司北京seo代理计费
  • 开发网站和app淘宝数据分析
  • 广州住房城乡建设委网站拓客软件排行榜
  • 镇江公司网站建设苏州seo网络推广
  • wordpress 购物导航网站东莞做网站的公司吗
  • 视频网站建设流程图小红书sem是什么意思
  • 网站的域名是.com还是.cn怎么自己做网站推广
  • nas上建设网站引擎搜索器
  • 网站标签制作智慧营销系统平台
  • 域名为www.com的网站个人网页在线制作