咱们的代码是参考Grad-CAM简介_太阳花的小绿豆的博客-CSDN博客_grad-cam这位大佬的,进行了一部分更细化的修改和对于一些细节的问题进行了优化,使我们更简单的就就可以实现自己网络特征层的可视化。 很方便的替换自己的模型和数据集绘制热力图,有问题可以在评论区指出,看到会回复 import osimport numpy as npfrom PIL...
在使用Pytorch-Grad-CAM库时,可以尝试不同方法和参数,观察热力图聚焦区域的变化。实例显示,ViT主要关注图像中猫的头部和身体区域。通过Grad-CAM可视化,更好地理解ViT的工作原理和对不同图像区域的重要性。总结,Grad-CAM有助于理解基于Transformer的模型如ViT的决策过程,其原理适用于其他Transformer基模型...
grayscale_cam = cam(input_tensor=input_tensor, target_category=target_category) #将 grad-cam 的输出叠加到原始图像上 visualization = show_cam_on_image(rgb_img, grayscale_cam) # 保存可视化结果 cv2.imwrite('cam.jpg', visualization) 这样,我们就完成了使用 grad-cam 对 ViT 的输出进行可视化的过程。
1. Swin-Transformer官方预训练模型的可视化 2. 自己的模型可视化 pytorch-grad-cam提供了对模型训练可视化的工具,支持CNN、Vision Transformers,图像分类、目标检测、分割、图片相似性等。 安装:pip install grad-cam 1. Swin-Transformer官方预训练模型的可视化 官网示例使用了swin_tiny_patch4_window7_224.pth(Tiny ...
如果你刚好在用 MMPretrain,那么有着方便的脚本文件来帮助你更加方便的进行上面的工作,具体可见:类别激活图(CAM)可视化 — MMPretrain 1.0.0rc7 文档 示例 这里也放一些我自己试过的例子: 以这张可爱的猫猫作为输入: 我们选择 DeiT_tiny模型,并使用最经典的 Grad-CAM,设置target_category = None,即使用输出最...
将热力图 和原始图像进行叠加,得到一张可视化的图像,可以直观地看到 ViT 的注意力分布。 使用代码 首先,import 进来 pytorch_grad_cam 工具和一些必要的包,再 load 进来我们要分析的 ViT 模型,这里使用 DeiT_Tiny 作为示例: 代码语言:javascript 复制