感受野的热力图可视化

理论:

事物的发展是有规律的(如果时间紧急可以跳过),或许下面的博客可以启发您

有些理论1

1.首先选择某一层特征图,用register_forward_hook拿到该特征图。2.对该特征图中心坐标,在batch和channel维度求均值。3.对求得的值进行backward,并得到输入张量的梯度。4.如果输入张量为彩色图像,对batch和channel维度算均值,得到的应该是一个二维的张量。5.随机选择一定数量的输入图像,执行第一步到第四步,并将第四步得到所有的张量进行累加并进行归一化。6.对归一化后的二维张量转成numpy,用cv2.applyColorMap转成伪彩图进行可视化。

有些理论2

计算感受野

除此之外百度最多的就是计算的数值了
经典计算

可视化代码!!!

我参考的是如下一篇论文的可视化代码

论文《Scaling Up Your Kernels to 31×31: Revisiting Large Kernel Design in CNNs》

论文地址
PyTorch 代码和模型

作者的可视化是这样的
感受野的热力图可视化
我最后对于resnet34的可视化是这样的
感受野的热力图可视化
论文的可视化部分就在visualize_erf.py和analyze_erf.py两个文件里。改成自己对应的数据和网络。
注意网络的维数输出一定要是4维的!!(对于如果你是分类任务那你就把网络后面的给注释了)
其他基本就没有改动了,直接用这两个文件就可做到可视化了
感受野的热力图可视化

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2022年5月31日
下一篇 2022年6月1日

相关推荐