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

杭州市建设网站/网络推广和网站推广平台

杭州市建设网站,网络推广和网站推广平台,asp建材公司网站源码,西安网站制作推广使用特征图输出进行特征图可视化 文章目录 前言效果展示获取某一层特征图输出原图方法一:使用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.whsansanxincailiao.cn/news/30724374.html

相关文章:

  • wordpress 中文语言/seo包年优化
  • 公司网站如何做seo/成都网站推广公司
  • 网站滚动字幕怎么做/aso搜索优化
  • 有哪些网站下载ppt是免费的/seo入门培训学校
  • 上海网站建设那家好/百度一下首页设为主页
  • ui设计师个人网站/济宁百度推广电话
  • 出名的网站建设软件/视频外链平台
  • vs动态网站建设/企业网站搜索优化网络推广
  • 网站建设所学内容/企业推广网络营销
  • 网站制作插入图/百度推广怎么收费标准案例
  • 网站怎么做免费推广/百度广告开户
  • 爱站网自媒体/外贸营销渠道
  • 宏润建设集团有限公司网站/百度排名点击
  • 宝安中心区范围/优化网站的软件下载
  • 豆瓣读书网站模板/免费网站大全
  • 做网站大概需要几个人/百度商城购物
  • 网站建设服务是什么意思/百度手机关键词排名工具
  • 网站建设公司如何推广/网站建设运营
  • 设计网站可能遇到的问题/营销推广的特点是
  • 开发企业网站的公司/长沙官网seo技巧
  • 孝感网站制作公司/吸引客人的产品宣传句子
  • 没有做等保的网站不能上线对吗/福建百度seo排名点击软件
  • 宾馆的网站回款如何做分录/百度搜索大数据
  • 苏州互联网公司在哪个区/搜索引擎优化seo怎么做
  • c语言做网站后台服务/东莞软文推广
  • 芜湖网站建设/口碑好网络营销电话
  • 制作网站培训学校/seo上首页
  • 用php做的旅游网站/网站策划是什么
  • seo网站建设接单/全球搜索引擎大全
  • 男女做恩爱视频网站/关于搜索引擎的搜索技巧