感受野的热力图可视化

  • Post author:
  • Post category:其他




理论:

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




有些理论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维的!!(对于如果你是分类任务那你就把网络后面的给注释了)

其他基本就没有改动了,直接用这两个文件就可做到可视化了

在这里插入图片描述



版权声明:本文为lanmy_dl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。