MindSpore 使用解释器

定义:

解释器是一些用来解释AI模型决策的算法,目前 MindSpore XAI 为图片分类场景提供7个解释器算法。解释器输出热力图作为解释,它们代表了每个原图象素的重要性,其中高亮区域为对模型决策起重要作用的部分。

热力图覆盖在原图上:

解释器主要分为两大类:基于梯度的 及 基于扰动的。基于梯度的解释器依赖反向传播去计算象素的重要性,而基于扰动的解释器则是使用随机扰动原图的方法进行计算。

如下图分类:

下载教程数据集及模型

下载并解压缩用例数据包 xai_examples_data.tar.gz 到 XAI 本地 源包码 中的xai/examples/文件夹:

代码如下:


wget https://mindspore-website.obs.myhuaweicloud.com/notebook/datasets/xai/xai_examples_data.tar.gz
tar -xf xai_examples_data.tar.gz

git clone https://gitee.com/mindspore/xai.git -b r1.5
mv xai_examples_data xai/examples/

文件内部代码如下:


xai/examples/
├── xai_examples_data/
│    ├── ckpt/
│    │    ├── resent50.ckpt
│    ├── train/
│    └── test/
├── common/
│    ├── dataset.py
│    └── resnet.py
├── using_explainers.py
├── using_rise_plus.py
├── using_benchmarks.py
└── using_mindinsight.py

要注意以下几个地方:

1. xai_examples_data/:解压缩后的用例数据包。

2. xai_examples_data/ckpt/resent50.ckpt:ResNet50 权重。

3. xai_examples_data/test: 测试数据。

4. xai_examples_data/train: 训练数据。

5. common/dataset.py: 数据加载器。

6. common/resnet.py: ResNet 模型架构。

7. using_explainers.py: 解释器用例。

8. using_rise_plus.py: RISEPlus 解释器用例,它的使用方法跟其他解释器不同

9. using_benchmarks.py: 度量方法用例。

10. using_mindinsight.py: MindInsight 可视化用例。

准备 Python 环境

下载用例数据包后,我们要加载一个训练好的分类器和一张要进行推理及解释的图片:

代码如下:


# 必须先把当前目录切换到 xai/examples/
from mindspore import context, load_checkpoint, load_param_into_net
from common.resnet import resnet50
from common.dataset import load_image_tensor

# 只支持 PYNATIVE_MODE
context.set_context(mode=context.PYNATIVE_MODE)

# 有20个类
num_classes = 20

# 加载训练好的分类器
net = resnet50(num_classes)
param_dict = load_checkpoint("xai_examples_data/ckpt/resnet50.ckpt")
load_param_into_net(net, param_dict)

# [1, 3, 224, 224] 图片 Tensor
boat_image = load_image_tensor("xai_examples_data/test/boat.jpg")

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值