使用pytorch查看中间层特征矩阵以及卷积核参数

这篇是我对哔哩哔哩up主 @霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享

1和4是之前讲过的alexnet和resnet模型

2是分析中间层特征矩阵的脚本

3是查看卷积核参数的脚本

1设置预处理方法 和图像训练的时候用的预处理方法保持一致

2实例化模型

3载入之前的模型参数

4载入一张图片

5对图片进行预处理

6增加一个batch维度

7输入模型进行正向传播

如果print model可以看到模型信息:

模型虽然用的是alexnet,但是关于正向传播的代码做了一些修改:

因为我们目的是得到中间层的特征矩阵。

希望能遍历第一、第二、第三个卷积层并得到特征矩阵。

首先通过一个循环遍历我们features的层结构,通过named_children这个方法遍历features下面的所有层结构。

对于每一个层结构都用x=module(x)以实现正向传播的过程

回到analyze_feature_map.py

squeeze一下因为我们输入只有一个图片所以我们不需要N这个维度

然后transpose一下通道顺序

im[:,:,i]通过切片的方法获取每一个channel的特征矩阵

cmap='gray'表示用灰度图的方法来表示

如果不加这个,那默认就会用蓝色和绿色来替代灰度图的黑色和白色来展示

这就是我们第一个卷积层输出的特征矩阵的前12个通道的特征图

可以和原图对比一下:  

卷积层2所输出的特征矩阵:

可以看到有的通道是纯黑的,也就是说有的卷积核是没有起到任何作用的,就是没有学到东西

卷积层越往后抽象程度越高

如果不加cmap=gray:

接下来我们看一下如何查看网络卷积层的卷积核的信息

我们其实可以直接通过torch.load载入模型参数,返回的是一个dict字典形式,key是层名称value就是该层的训练信息。

state_dict() 来获取模型中所有可训练参数的字典keys()获取所有具有参数的层结构的名称

只有卷积层有训练参数,relu和maxpool2d是没有训练参数的

卷积核的个数对应输出矩阵的深度

卷积核的通道数对应输入矩阵的深度

这一句是为了排除编程结构的一些不需要的信息

另外,如果B站视频分辨率不太好,感觉跟全屏时的清晰度差很多,但是不全屏的话就截图都截不清楚,那么就拖拽网页页面左右划拉一下试试,就会变清晰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小白理解GPT的“微调“(fine-tuning)

对于GPT-3.5,我们实际上并不能在OpenAI的服务器上直接训练它。OpenAI的模型通常是预训练好的,也就是说,它们已经在大量的语料上进行过训练,学习到了语言的基本规则和模式。 然而,OpenAI提供了一种叫做"微调"…

Pandas操作数据库

一:Pandas读取数据库数据 二:Pandas读取海量数据 三:Pandas向数据库存数据 四:Pandas写入海量数据

理想中的PC端剪切板工具,应该有哪些功能?

在日常工作中,我们经常需要复制和粘贴文本、图片和链接。 首先,这款剪切板功能应该在不使用时不显示窗口,以避免干扰我们的工作。它应该在后台静默记录剪切板历史,以便我们可以随时查看之前的记录。 其次,当我们需要…

A类中创建posix线程,线程间如何通信

如果你在类A中使用pthread_create创建了线程B,而线程B需要与类A进行通信,你可以考虑以下两种方法: 使用回调函数: 在创建线程B时,通过参数传递一个回调函数,该回调函数可以在线程B中执行,并在完…

上海宝山区12月8日发生一起火灾 火势已扑灭 揭秘AI如何“救援”

在这个冬日的早晨,上海宝山区的居民经历了一场惊心动魄的火灾。幸运的是,火势很快就被扑灭了。但这起事件不禁让我们思考:如何更有效地预防和应对这样的紧急情况? 这时候,就不得不提到北京富维图像公司的一项创新技术—…

我的隐私计算学习——国密SM2和国密SM4算法

此篇是我笔记目录里的安全保护技术(七),前篇可见: 隐私计算安全保护技术(一):我的隐私计算学习——混淆电路-CSDN博客 隐私计算安全保护技术(二):我的隐私计…

【JavaWeb】获取WebServlet注解的对象

import javax.servlet.annotation.WebServlet; public class ReflectAnnotation {public static void main(String[] args) throws Exception{//获取servlet类的webServlet的注解内容Class<?>welcomeServletClassClass.forName("SubmitScoreServlet");//判断有…

Spring 装配Bean详解

一、简介 ​ Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系。Spring具有非常大的灵活性&#xff0c;它提供了三种主要的装配机制&#xff1a; 在XML中进行显示配置&#xff1b;在Java中进行显示配置&#xff1b;隐式的bean发现机制和自动装配。 二、…

代码随想录 62. 不同路径

题目 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; 示例…

支付宝小程序接口传参会默认排序

一&#xff1a;问题 描述&#xff1a;最近项目中的接口都加了签名&#xff0c;在同步到支付宝小程序上时&#xff0c;发现有些接口报错&#xff0c;经过排查&#xff0c;导致报错的原因是因为传参顺序被支付宝小程序默认排序了&#xff0c;比如&#xff1a; 设置的原始参数&a…

当下流行视频剪辑软件会声会影2024,让你的视频制作更精彩

大家好呀&#xff01;今天小编给大家介绍一款超赞的视频编辑软件——会声会影2024&#xff01; 当下流行视频剪辑软件会声会影2024&#xff0c;让你的视频制作更精彩&#xff0c;会声会影2024不仅提供了各种酷炫的特效和滤镜&#xff0c;还有更多令人惊叹的功能等待着你的发掘…

【STM32】蓝牙氛围灯

Docs 一、项目搭建和开发流程 一、项目需求和产品定义 1.需求梳理和产品定义 一般由甲方公司提出&#xff0c;或由本公司市场部提出 需求的重点是&#xff1a;这个产品究竟应该做成什么样&#xff1f;有哪些功能&#xff1f;具体要求和参数怎样&#xff1f;此外还要考虑售价…

MongoDB SASL 鉴权方式 SCRAM-SHA-1步骤

转载于 MongoDB SCRAM-SHA-1 over SASL 文章目录 OverviewStep 1Step 2Step 3Edits I recently implemented SCRAM-SHA-1 over SASL for Fantom’s MongoDB driver so it could authenticate against MongoDB v3 databases. Much to my surprise, for such a massive breaking…

C++函数模板案例

利用函数模板封装一个排序的函数&#xff0c;可以对不同数据类型数组进行排序排序规则从大到小&#xff0c;排序算法为选择排序分别利用char数组和int数组进行测试 #include<iostream> using namespace std;template<class T> void myswap(T& a, T& b) {T…

[Python从零到壹] 七十三.图像识别及经典案例篇之图像去雾ACE算法和暗通道先验去雾算法实现

十月太忙&#xff0c;还是写一篇吧&#xff01;祝大家1024节日快乐O(∩_∩)O 欢迎大家来到“Python从零到壹”&#xff0c;在这里我将分享约200篇Python系列文章&#xff0c;带大家一起去学习和玩耍&#xff0c;看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经…

java中什么是守护线程?

在 Java 中&#xff0c;线程分为两种类型&#xff1a;用户线程&#xff08;User Thread&#xff09;和守护线程&#xff08;Daemon Thread&#xff09;。 用户线程&#xff08;User Thread&#xff09;&#xff1a; 用户线程是应用程序中的主要线程&#xff0c;当所有的用户线程…

实例分割网络:Mask RCNN

文章目录 网络结构Mask 分支RoIAlignRoIPooling的精度问题RoIAlign方法Mask RepresentationMask R-CNNNetwork Architecture实现细节实验结果与其他的实例分割网络的对比对比实验不同backbone的对比实验不同的激活函数的对比实验RoiAli

更多内窥镜维修技能学习与交流可关注西安彩虹

内窥镜结构及光学成像原理 众多品牌的硬镜其内部结构基本相似&#xff08;如下图&#xff09;&#xff0c;最关键的在于不同用途的硬镜在其结构上发生变化&#xff0c;包括光学成像系统和机械结构。光学成像系统由物镜系统、转像系统、目镜系统三大系统组成。 工作原理 被观察…

1文件+2个命令,无需安装,单机离线运行70亿大模型

1文件2个命令&#xff0c;无需安装&#xff0c;单机离线运行70亿大模型 大家好&#xff0c;我是老章 最近苹果发布了自己的深度学习框架--MLX&#xff0c;专门为自家M系列芯片优化。看了展示视频&#xff0c;这个框架还能直接运行Llama 7B的大模型&#xff0c;在M2 Ultral上运…

计算三位数每位上数字的和

分数 10 作者 python课程组 单位 福州大学至诚学院 补充程序实现计算&#xff1a; 输入一个三位的整数&#xff08;不接受实数&#xff09;&#xff0c;求这个三位数每一位上数字的和是多少&#xff1f;例如&#xff1a;输入&#xff1a;382&#xff0c;输出&#xff1a;和为…