MindSpore 使用 GradCAM

定义:

GradCAM是一个典型及有效的梯度解释器

代码如下:


import mindspore as ms
from mindspore import Tensor
from mindspore_xai.explanation import GradCAM

# 通常指定最后一层的卷积层
grad_cam = GradCAM(net, layer="layer4")

# 5 是'boat'类的ID
saliency = grad_cam(boat_image, targets=5)

如果输入的是一个 1xCx224x224 的图片Tensor,那返回的saliency就是一个 1x1x224x224 的热力图Tensor。

批次解释

对于梯度解释器,批次解释通常较有效率,但其他解释器也可以使用:

代码如下:


from dataset import load_dataset

test_ds = load_dataset('xai_examples_data/test').batch(4)

for images, labels in test_ds:
    saliencies = grad_cam(images, targets=Tensor([5, 5, 5, 5], dtype=ms.int32))
    # 其他用户操作 ...

如果输入的是一个 4xCx224x224 的批次图片Tensor,那返回的saliency就是一个 4x1x224x224 的批次热力图Tensor。

使用其他解释器

使用其他解释器(RISEPlus 除外)的方法跟 GradCAM 的使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值