Repolode
jacobgil

jacobgil/pytorch-grad-cam

基于 PyTorch 的类激活图(CAM)方法库,用于可视化视觉模型做出预测时关注的图像区域。

Star
13,000
Fork
1,715
未关闭 Issue
166
最近提交
2个月前

这是什么?

pytorch-grad-cam 是一个基于 PyTorch 的 Python 库,提供计算机视觉模型的可解释性方法。它能生成热力图,显示图像中哪些像素对模型输出贡献最大,便于在开发或线上阶段排查模型预测。

库中包含多种 CAM 变体,如 Grad-CAM、HiResCAM、Grad-CAM++、Score-CAM、Ablation-CAM、Eigen-CAM 和 LayerCAM,并提供平滑选项以及 ROAD 等指标,用于评估解释的可信度。它既支持 CNN,也支持 Vision Transformer,除分类外还可用于目标检测、语义分割、embedding 相似度和 CLIP 等任务。方法支持批量输入,并可通过 reshape transform 和自定义 model target 适配新架构。

可通过 pip 安装,包名为 grad-cam。文档站点提供 HuggingFace 分类模型、Faster R-CNN、YOLO 和分割模型等教程。

核心功能

  • 01实现多种 CAM 方法,包括 Grad-CAM、Grad-CAM++、Score-CAM、Ablation-CAM 和 Eigen-CAM。
  • 02支持 CNN 以及 ViT、Swin 等 Vision Transformer 模型。
  • 03可用于目标检测、语义分割、embedding 相似度和 CLIP。
  • 04提供 aug_smooth 与 eigen_smooth 平滑选项,减少热力图噪声。
  • 05内置 ROAD 等指标,用于评估解释的质量。
  • 06支持批量图像输入,可在 CPU、CUDA 或 MPS 设备上运行。

适用场景

  • 排查图像分类模型做出某个预测的原因。
  • 检查目标检测或语义分割模型是否关注了正确的目标。
  • 在 XAI 研究中比较不同解释方法和评估指标。
  • 在自定义数据集上观察 Vision Transformer 的关注区域。

快速上手

  1. 1

    从 PyPI 安装该包

    pip install grad-cam
  2. 2

    导入 CAM 方法和模型,构建 CAM 对象并对输入张量运行(参见 README 中的使用示例)

使用前须知

  • 需要 PyTorch 以及您自备的模型;必须为每种架构选择正确的目标层。

标签

常见问题

pytorch-grad-cam 是什么?
基于 PyTorch 的类激活图(CAM)方法库,用于可视化视觉模型做出预测时关注的图像区域。 pytorch-grad-cam 是一个基于 PyTorch 的 Python 库,提供计算机视觉模型的可解释性方法。它能生成热力图,显示图像中哪些像素对模型输出贡献最大,便于在开发或线上阶段排查模型预测。
pytorch-grad-cam 可以免费使用吗?用的什么许可证?
pytorch-grad-cam 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
pytorch-grad-cam 还在维护吗?
半年内有更新。pytorch-grad-cam 最近一次提交是在 2026年8月13日。
pytorch-grad-cam 适合用来做什么?
排查图像分类模型做出某个预测的原因。 检查目标检测或语义分割模型是否关注了正确的目标。 在 XAI 研究中比较不同解释方法和评估指标。 在自定义数据集上观察 Vision Transformer 的关注区域。
pytorch-grad-cam 怎么安装和运行?
从 PyPI 安装该包: pip install grad-cam 导入 CAM 方法和模型,构建 CAM 对象并对输入张量运行(参见 README 中的使用示例)
在哪里获取 pytorch-grad-cam?
源代码和安装说明在 GitHub 上:https://github.com/jacobgil/pytorch-grad-cam

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目