# **PyTorch精度工具**
## 快速安装
进行PyTorch精度比对需要将ptdbg_ascend精度工具分别安装在CPU或GPU环境以及NPU环境下。
1. whl包获取。
请通过下表链接下载ptdbg_ascend精度工具whl包,推荐下载最新版本。
| ptdbg_ascend版本 | 发布日期 | 支持PyTorch版本 | 下载链接 | 参考指南 | 校验码 |
| ---------------- | ---------- | -------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 4.1 | 2023-11-09 | 1.8.1/1.11.0/2.0/2.1 | [ptdbg_ascend-4.1-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/package/ptdbg_ascend/4.0/ptdbg_ascend-4.1-py3-none-any.whl) | [ptdbg_ascend精度工具功能说明_v4.1](doc/ptdbg_ascend精度工具功能说明_v4.1.md) | c1f09135979d07ed1717340cadde56355f7b63b94d1a6ed6c5db841803febedb |
| 3.0 | 2023-10-16 | 1.8.1/1.11.0/2.0/2.1 | [ptdbg_ascend-3.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/package/ptdbg_ascend/3.0/ptdbg_ascend-3.0-py3-none-any.whl) | [ptdbg_ascend精度工具功能说明_v3.0](doc/ptdbg_ascend精度工具功能说明_v3.0.md) | eb177ec795f8ae8b0c937a3cf543914f535bb64c76ba2e520fc6f0456ff6740b |
| 2.0 | 2023-7-07 | 1.8.1/1.11.0/2.0 | [ptdbg_ascend-2.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/package/ptdbg_ascend/2.0/ptdbg_ascend-2.0-py3-none-any.whl) | [ptdbg_ascend精度工具功能说明_v2.0](doc/ptdbg_ascend精度工具功能说明_v2.0.md) | 85e046f133f0f40ed660337ce8207249b1dac47ac668910625bea49809f31d66 |
| 1.0 | 2023-3-30 | 1.8.1/1.11.0 | [ptdbg_ascend-1.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/package/ptdbg_ascend/1.0/ptdbg_ascend-1.0-py3-none-any.whl) | [ptdbg_ascend精度工具功能说明_v1.0](https://gitee.com/ascend/att/blob/master/debug/accuracy_tools/ptdbg_ascend/doc/ptdbg_ascend%E7%B2%BE%E5%BA%A6%E5%B7%A5%E5%85%B7%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E_v1.0.md) | 0559e12ba7accf80d182f227698163ee0de88bf86b1e9cd9f33b16fdead14759 |
2. whl包校验。
1. 根据以上下载链接下载whl包到Linux安装环境。
2. 进入whl包所在目录,执行如下命令。
```
sha256sum {name}.whl
```
{name}为whl包名称。
若回显呈现对应版本whl包一致的**校验码**,则表示下载了正确的ptdbg_ascend精度工具whl安装包。示例如下:
```
sha256sum ptdbg_ascend-3.0-py3-none-any.whl
eb177ec795f8ae8b0c937a3cf543914f535bb64c76ba2e520fc6f0456ff6740b ptdbg_ascend-3.0-py3-none-any.whl
```
3. whl包安装。
执行如下命令进行安装。
```bash
pip3 install ./ptdbg_ascend-{version}-py3-none-any.whl
```
若为覆盖安装,请在命令行末尾增加“--force-reinstall”参数强制安装,例如:
```bash
pip3 install ./ptdbg_ascend-{version}-py3-none-any.whl --force-reinstall
```
提示如下信息则表示安装成功。
```bash
Successfully installed ptdbg_ascend-{version}
```
## **PyTorch精度工具简介**
### 概述
在PyTorch训练网络,对同一模型或API调试过程中,遇到API相关的计算精度问题,定位时费时费力。
ptdbg_ascend为PyTorch精度工具,用来进行PyTorch整网API粒度的数据dump、精度比对和溢出检测,从而定位PyTorch训练场景下的精度问题。
**使用场景**
主要的使用场景包括:
- 同一模型,从CPU或GPU移植到NPU中存在精度下降问题,对比NPU芯片中的API计算数值与CPU或GPU芯片中的API计算数值,进行问题定位。
- 同一模型,进行迭代(模型、框架版本升级或设备硬件升级)时存在的精度下降问题,对比相同模型在迭代前后版本的API计算数值,进行问题定位。
### 原理介绍
精度对比工具,通过在PyTorch模型中注册hook,跟踪计算图中API的前向传播与反向传播时的输入与输出,排查存在计算精度误差,进行问题的精准定位。
**精度比对流程**
1. 当模型在CPU或GPU上进行正向和反向传播时,分别dump每一层的数值输入与输出。
2. 当模型在NPU中进行计算时,采用相同的方式dump下相应的数据。
3. 通过对比dump出的数值,计算余弦相似度和最大绝对误差的方式,定位和排查NPU API存在的计算精度问题。如图1所示。
图1:精度比对逻辑图
![op_compare](figures/module_compare.png)
**API匹配条件**
进行精度比对时,需要判断CPU或GPU的API与NPU的API是否相同可比对,须满足以下匹配条件:
- 两个API的名称相同,API命名规则:`{api_type}_{api_name}_{api调用次数}_{正反向}_{输入输出}.index`,如:Functional_conv2d_1_backward_input.0。
- 两个API的输入输出Tensor数量和各个Tensor的Shape相同。
通常满足以上两个条件,ptdbg_ascend就认为是同一个API,成功进行API的匹配,后续进行相应的计算精度比对。
## **PyTorch精度工具安装**
### 环境准备
- 通过pip安装环境依赖wheel、numpy、pandas(1.3.5及以上版本)和pyyaml。
- ptdbg_ascend与PyTorch有严格的版本配套关系,使用工具前,您需要确保已经正确安装了PyTorch v1.8.1、PyTorch v1.11.0、PyTorch v2.0.0或PyTorch v2.1.0版本:
- CPU或GPU环境:请至[PyTorch官网](https://www.pytorch.org)下载并安装。
- NPU环境:请参见《[CANN软件安装指南](https://www.hiascend.com/document/detail/zh/canncommercial/63RC1/envdeployment/instg/instg_000002.html)》“安装开发环境 > 在昇腾设备上安装 > 安装深度学习框架 > 安装PyTorch”章节进行安装。
### 安装
进行PyTorch精度比对需要将ptdbg_ascend精度工具分别安装在CPU或GPU环境以及NPU环境下。
ptdbg_ascend精度工具的安装方式包括:**下载whl包安装**和**源代码编译安装**。
#### 下载whl包安装
1. whl包获取。
请通过下表链接下载ptdbg_ascend精度工具whl包,推荐下载最新版本。
| ptdbg_ascend版本 | 发布日期 | 支持PyTorch版本 | 下载链接 | 参考指南 | 校验码 |
| ---------------- | ---------- | -------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 4.1 | 2023-11-09 | 1.8.1/1.11.0/2.0/2.1 | [ptdbg_ascend-4.1-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/package/ptdbg_ascend/4.0/ptdbg_ascend-4.1-py3-none-any.whl) | [ptdbg_ascend精度工具功能说明_v4.1](doc/ptdbg_ascend精度工具功能说明_v4.1.md) | c1f09135979d07ed1717340cadde56355f7b63b94d1a6ed6c5db841803febedb |
| 3.0 | 2023-10-16 | 1.8.1/1.11.0/2.0/2.1 | [ptdbg_ascend-3.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/package/ptdbg_ascend/3.0/ptdbg_ascend-3.0-py3-none-any.whl) | [ptdbg_ascend精度工具功能说明_v3.0](doc/ptdbg_ascend精度工具功能说明_v3.0.md) | eb177ec795f8ae8b0c937a3cf543914f535bb64c76ba2e520fc6f0456ff6740b |
| 2.0 | 2023-7-07 | 1.8.1/1.11.0/2.0 | [ptdbg_ascend-2.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/package/ptdbg_ascend/2.0/ptdbg_ascend-2.0-py3-none-any.whl) | [ptdbg_ascend精度工具功能说明_v2.0](doc/ptdbg_ascend精度工具功能说明_v2.0.md) | 85e046f133f0f40ed660337ce8207249b1dac47ac668910625bea49809f31d66 |
| 1.0 | 2023-3-30 | 1.8.1/1.11.0
没有合适的资源?快使用搜索试试~ 我知道了~
针对训练&大模型场景,提供端到端命令行&可视化调试调优工具,帮助用户快速提高模型开发效率
共475个文件
py:197个
h:51个
cpp:41个
0 下载量 153 浏览量
2023-11-15
08:05:12
上传
评论
收藏 10.36MB ZIP 举报
温馨提示
Ascend Training Tools,昇腾训练工具链 针对训练&大模型场景,提供端到端命令行&可视化调试调优工具,帮助用户快速提高模型开发效率。使用说明 性能工具tools a. compare_tools **GPU与NPU性能比较工具**:提供NPU与GPU性能拆解功能以及算子、通信、内存性能的比较功能。 b. distribute_tools **集群场景脚本集合**:提供集群场景数据一键汇聚功能。 c. merge_profiling_timeline **合并大json工具**:融合多个profiling的timeline在一个json文件中的功能。 d. cluster_analyse **集群分析工具**:提供多机多卡的集群分析能力(基于通信域的通信分析和迭代耗时分析), 当前需要配合Ascend Insight的集群分析功能使用。
资源推荐
资源详情
资源评论
收起资源包目录
针对训练&大模型场景,提供端到端命令行&可视化调试调优工具,帮助用户快速提高模型开发效率 (475个子文件)
libkineto_defs.bzl 2KB
configure 276B
CuptiActivityProfiler.cpp 28KB
CuptiRangeProfilerApi.cpp 25KB
EventProfiler.cpp 20KB
CuptiActivityProfilerTest.cpp 20KB
EventProfilerTest.cpp 20KB
RoctracerActivityApi.cpp 19KB
Config.cpp 18KB
CuptiNvPerfMetric.cpp 17KB
cupti_strings.cpp 15KB
output_json.cpp 15KB
EventProfilerController.cpp 13KB
ConfigTest.cpp 12KB
CuptiActivityApi.cpp 10KB
ConfigLoader.cpp 9KB
ActivityProfilerController.cpp 8KB
CuptiCallbackApi.cpp 7KB
CuptiCallbackApiTest.cpp 7KB
ThreadUtil.cpp 5KB
AbstractConfig.cpp 5KB
CudaDeviceProperties.cpp 4KB
init.cpp 4KB
Logger.cpp 4KB
LoggerObserverTest.cpp 3KB
CuptiMetricApi.cpp 3KB
CuptiEventApi.cpp 3KB
CuptiRangeProfilerApiTest.cpp 3KB
ActivityProfilerProxy.cpp 3KB
CuptiRangeProfilerConfig.cpp 2KB
output_csv.cpp 2KB
CuptiRangeProfilerConfigTest.cpp 2KB
ActivityType.cpp 2KB
ILoggerObserver.cpp 1KB
MockActivitySubProfiler.cpp 1KB
libkineto_api.cpp 1KB
CuptiStringsTest.cpp 998B
kineto_playground.cpp 940B
Demangle.cpp 885B
CuptiActivityPlatform.cpp 869B
PidInfoTest.cpp 639B
WeakSymbols.cpp 418B
GenericTraceActivity.cpp 292B
styles.css 208B
compare_result_20230703104808.csv 2KB
compare_result_without_accuracy.csv 1KB
CuptiProfilerApiTest.cu 9KB
kineto_playground.cu 1KB
kineto_playground.cuh 332B
.flake8 102B
.gitignore 2KB
.gitignore 37B
.gitignore 36B
.gitignore 26B
.gitmodules 251B
worker0.1623143566756.pt.trace.json.gz 1.11MB
worker0.1623143089861.pt.trace.json.gz 1.11MB
worker0.1623212756351.pt.trace.json.gz 1.04MB
worker0.1623213129365.pt.trace.json.gz 1.04MB
Config.h 12KB
CuptiActivityProfiler.h 12KB
EventProfiler.h 9KB
Logger.h 7KB
CuptiRangeProfilerApi.h 6KB
RoctracerActivityApi.h 5KB
CuptiActivity.h 4KB
output_membuf.h 4KB
ConfigLoader.h 4KB
AbstractConfig.h 3KB
CuptiCallbackApi.h 3KB
libkineto.h 3KB
ActivityProfilerInterface.h 3KB
IActivityProfiler.h 3KB
GenericTraceActivity.h 3KB
SampleListener.h 3KB
output_base.h 3KB
output_json.h 2KB
CuptiActivityApi.h 2KB
ActivityProfilerController.h 2KB
CuptiRangeProfilerConfig.h 2KB
CuptiRangeProfilerTestUtil.h 2KB
CuptiNvPerfMetric.h 2KB
ActivityProfilerProxy.h 2KB
ITraceActivity.h 2KB
MockActivitySubProfiler.h 2KB
LoggerCollector.h 2KB
EventProfilerController.h 2KB
ActivityLoggerFactory.h 2KB
ILoggerObserver.h 1KB
CuptiEventApi.h 1KB
ActivityTrace.h 1KB
ActivityType.h 1KB
CuptiActivityBuffer.h 1KB
CuptiMetricApi.h 984B
cupti_call.h 981B
TraceSpan.h 850B
output_csv.h 846B
DaemonConfigLoader.h 755B
ScopeExit.h 740B
CudaDeviceProperties.h 738B
共 475 条
- 1
- 2
- 3
- 4
- 5
资源评论
十小大
- 粉丝: 9710
- 资源: 2555
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功