# 安装

推荐使用 [miniconda](https://docs.anaconda.com/miniconda/) 管理环境依赖。

```bash
conda create -n msprobe python
conda activate msprobe
```

## 1 从 PyPI 安装
```shell
pip install mindstudio-probe
```

## 2 下载 whl 包安装

|版本|发布日期|支持 PyTorch 版本|支持 MindSpore 版本|下载链接|校验码|
|:--:|:--:|:--:|:--:|:--:|:--:|
|1.1.0|2024.10.14|1.11/2.0/2.1/2.2|2.4.0|[mindstudio_probe-1.1.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/1.1/mindstudio_probe-1.1.0-py3-none-any.whl)|83a5a9b7c65a357639f8c9636d88c693b4cf0eb590d4f8f5cb56395ba69b1f6d|
|1.0.4|2024.09.09|1.11/2.0/2.1/2.2|2.4.0|[mindstudio_probe-1.0.4-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/1.0/mindstudio_probe-1.0.4-py3-none-any.whl)|4e1909566a71a855b356597750c20ee43d964a22b2c2b02ac08312a5def75fd6|
| 1.0.3 | 2024.08.23 | 1.11/2.0/2.1/2.2 | 2.4.0 | [mindstudio_probe-1.0.3-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/1.0/mindstudio_probe-1.0.3-py3-none-any.whl) | 7060cc141a5b98ef770cd9220995d299393f32a61938261e632c7e8b5160bef2 |
| 1.0.2 | 2024.08.09 | 1.11/2.0/2.1/2.2 | 2.4.0 | [mindstudio_probe-1.0.2-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/1.0/mindstudio_probe-1.0.2-py3-none-any.whl) | e4a980e5d98c426ce5ce9842520d9bc031d3b3de621c74b3d59414cc6e238e0e |
| 1.0.1 | 2024.07.25 | 2.0/2.1/2.2 | 2.4.0 | [mindstudio_probe-1.0.1-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/1.0/mindstudio_probe-1.0.1-py3-none-any.whl) | b699e224e4d4e3bcf9412c54fa858a1ee370f0d7a2bc69cb3f1273ac14a6dc82 |


```bash
sha256sum {name}.whl # 验证whl包，若校验码一致，则whl包在下载中没有受损
```

```bash
pip install ./mindstudio_probe-{version}-py3-none-any.whl # 安装whl包
```

若覆盖安装，请在命令行末尾添加 `--force-reinstall` 参数。

## 3 从源码安装

```shell
git clone https://gitee.com/ascend/mstt.git
cd mstt/debug/accuracy_tools

pip install setuptools wheel

python setup.py bdist_wheel
cd ./dist
pip install ./mindstudio_probe*.whl
```

# 历史版本特性

<table>
    <tr><th>版本</th><th>特性</th></tr>
    <tr><td rowspan="5">1.1.0</td><td>【总体】</br>1. 训练精度一体化工具 atat 统一更名为 msprobe；</br>2. msprobe 支持日志分级功能。</td></tr>
    <tr><td>【精度预检】</br>1. 支持配置 blacklist 黑名单字段；</br>2. 补充了支持的融合算子列表。</td></tr>
    <tr><td>【精度比对】</br>1. 支持 data mapping 和 layer mapping 的比对功能。</td></tr>
    <tr><td>【数据采集】</br>1. 增加 L1 dump 接口，支持在指定区间内进行正反向 dump 功能；</br>2. 在 MindSpore 中新增 mix 模式，支持指定模块内部进行 dump；</br>3. 新增 MindSpore 函数式接口的通信 API dump 功能。</td></tr>
    <tr><td>【梯度工具】</br>1. 增加了梯度工具中关于 JIT 限制的说明。</td></tr>
    <tr><td rowspan="4">1.0.4</td><td>【数据采集】</br>1. 支持在 config.json 中传入 step 范围配置；</br>2. 优化了 MindSpore 场景下的 step 机制，step 结束后训练继续运行。</td></tr>
    <tr><td>【精度预检】</br>1. 在 PyTorch 场景下，支持部分 NPU 融合算子精度预检。</td></tr>
    <tr><td>【精度比对】</br>1. 解决了在 MindSpore 场景下需要安装 PyTorch 的问题。</td></tr>
    <tr><td>【无标杆比对】</br>1. 补充了 PyTorch 场景的性能基线报告；</br>2. 支持 MindSpore 场景下的 change_value 扰动模式。</td></tr>
    <tr><td rowspan="2">1.0.3</td><td>【精度预检】</br>1. 落盘数据小；</br>2. 支持随机生成模式和真实数据模式；</br>3. 单 API 测试，排除整网中的累计误差问题。</td></tr>
    <tr><td>【梯度检测】</br>1. 使用便捷，无需在训练流程里插入代码。</br>2. 可以精准定位问题出现的 step。</td></tr>
</table>

# 查看 msprobe 工具信息

```bash
pip show mindstudio-probe
```

示例如下：

```bash
Name: mindstudio-probe
Version: 1.0.x
Summary: Pytorch Ascend Probe Utils
Home-page: https://gitee.com/ascend/mstt/tree/master/debug/accuracy_tools/msprobe
Author: Ascend Team
Author-email: pmail_mindstudio@huawei.com
License: Apache License 2.0
Location: /home/xxx/miniconda3/envs/xxx/lib/python3.x/site-packages/mindstudio_probe-1.0.x-py3.x.egg
Requires: einops, matplotlib, numpy, openpyxl, pandas, pyOpenSSL, pyyaml, rich, tqdm, twisted, wheel
Required-by: 
```

# Ascend 生态链接

## 1 安装 CANN 包

1.1 根据 CPU 架构和 NPU 型号选择 toolkit 和 kernel，可以参考 [CANN 软件安装指南](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F700%2Fenvdeployment%2Finstg%2Finstg_0001.html)和[昇腾社区](https://www.hiascend.cn/developer/download/community/result?module=cann)。

1.2 运行示例
```bash
Ascend-cann-toolkit_x.x.x_linux-xxxx.run --full --install-path={cann_path}
Ascend-cann-kernels_x.x.x_linux.run --install --install-path={cann_path}
```

1.3 配置环境变量
```bash
source {cann_path}/ascend-toolkit/set_env.sh
```
## 2 安装 PyTorch_NPU 

链接：[https://gitee.com/ascend/pytorch](https://gitee.com/ascend/pytorch)。

## 3 安装 ModelLink

链接：[https://gitee.com/ascend/ModelLink](https://gitee.com/ascend/ModelLink)。
