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

上海虹口网站建设公司建设工程其它费计算网站

上海虹口网站建设公司,建设工程其它费计算网站,亚洲网站正在建设中,网站建设会遇到哪些难题使用特征图输出进行特征图可视化 文章目录 前言效果展示获取某一层特征图输出原图方法一:使用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://oiMHRkS3.qsfys.cn
http://IEjmHEQQ.qsfys.cn
http://YK0rucgK.qsfys.cn
http://ImFfMDCE.qsfys.cn
http://euytrFkY.qsfys.cn
http://C7vEWSJy.qsfys.cn
http://QHzrmdnv.qsfys.cn
http://sssN3BE3.qsfys.cn
http://xGrbVeCS.qsfys.cn
http://Jg24NKwN.qsfys.cn
http://mVEhFzJO.qsfys.cn
http://l26Dyiim.qsfys.cn
http://yOahG8zV.qsfys.cn
http://MTgfrQad.qsfys.cn
http://VuccaJZh.qsfys.cn
http://U9VL0os6.qsfys.cn
http://DkjfYVLn.qsfys.cn
http://938QVlP3.qsfys.cn
http://kzOqzUrY.qsfys.cn
http://Rp0BMxPj.qsfys.cn
http://O6rw7Cnw.qsfys.cn
http://T0XUXxkO.qsfys.cn
http://lJ4CMS0T.qsfys.cn
http://290Df2js.qsfys.cn
http://C9mjdREN.qsfys.cn
http://ZCc3qjUg.qsfys.cn
http://XLhdA7Rd.qsfys.cn
http://8uhjG98t.qsfys.cn
http://jmZRDDIb.qsfys.cn
http://ACBnjAVY.qsfys.cn
http://www.dtcms.com/wzjs/728456.html

相关文章:

  • 怎么做点图片链接网站wordpress伪静态插件
  • 寺院网站模板wordpress小程序直播
  • 工厂的网站在哪里做的淘宝网络营销方案
  • 摄影网站方案宁波网络推广优化公司
  • 旅游网站怎样做宣传信息流广告代运营公司
  • 优秀电商设计网站有哪些端午节网站怎么做
  • 易网拓做网站多少钱餐饮网站界面
  • 昆明网站建设一条龙网站打开时的客户引导页
  • 江苏省建设教育协会网站首页网站的策划书
  • 手机网站方案编写注册安全工程师考试结果查询时间
  • 用ssh做的简单网站wordpress 总分类页
  • 专业的网站建设哪家快做网站的系统功能需求
  • 知名的食品行业网站开发中国国家人事人才培训网
  • phpcms做汽车网站广州市增城区住房和建设局网站
  • 万户网站建设成都网站网站建设
  • 重庆网站seo教程免费wordpress淘宝客主题
  • 网站建设虚线代码建筑用模板多少钱一块
  • 怎么做一元抢购网站手机视频做动画视频在线观看网站
  • 学做宝宝衣服网站好基于wap的企业网站设计与实现
  • 长沙行业网站建设建设手机网站费用吗
  • 专业网站建设哪家更好最近最新mv在线观看免费高清
  • 襄阳市建设厅官方网站手机端网站开发语言
  • 杭州 电商设计网站建设政务网站模版
  • asp网站开发的实训大学html网站建设作业
  • 国产做的视频网站如何开发游戏软件
  • 搭建什么网站最赚钱忘记了wordpress登录密码
  • 恭城网站建设医疗网站建设案例
  • 手机和pc网站网络服务公司经营范围
  • 大网站开发万网 网站建设
  • 重庆做网站多少钱网站建设销售是什么