diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 6a9e29608d72f0c56c72b3c8c85028e1d63d8d38..1ab0325c3176c33d01d20c29aadd69f0a18c543e 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -1,8 +1,7 @@ -# Ascend PyTorch 模型众智文档-离线推理 +# Ascend PyTorch模型离线推理指导 - [1 概述](#1-概述) - - [1.1 目标读者](#11-目标读者) - - [1.2 原理与方案](#12-原理与方案) - - [1.3 环境搭建](#13-环境搭建) + - [1.1 原理与方案](#11-原理与方案) + - [1.2 环境搭建](#12-环境搭建) - [2 推理指导](#2-推理指导) - [2.1 推理流程](#21-推理流程) - [2.1.1 导出onnx文件](#211-导出onnx文件) @@ -14,42 +13,22 @@ - [2.2 模型转换指导](#22-模型转换指导) - [2.3 精度调试指导](#23-精度调试指导) - [2.4 性能优化指导](#24-性能优化指导) -- [3 推理案例](#3-推理案例) - - [3.1 推理案例](#31-推理案例) - - [3.2 Inception-V4端到端推理要点](#32-Inception-V4端到端推理要点) - - [3.3 UNet端到端推理要点](#33-UNet端到端推理要点) - - [3.4 SSD端到端推理要点](#34-SSD端到端推理要点) - - [3.5 maskrcnn端到端推理指导](#35-maskrcnn端到端推理指导) -- [4 附录](#4-附录) - - [4.1 机器申请与使用指南](#41-机器申请与使用指南) - - [4.2 交付标准与交付件](#42-交付标准与交付件) - - [4.3 深度学习指导](#43-深度学习指导) +- [3 附录](#4-附录) + - [3.1 模型案例](#31-模型案例) + - [3.2 交付标准与交付件规范](#32-交付标准与交付件规范) + - [3.3 深度学习指导](#33-深度学习指导) ## 1 概述 -- **[目标读者](#11-目标读者)** +- **[原理与方案](#11-原理与方案)** -- **[原理与方案](#12-原理与方案)** +- **[环境搭建](#12-环境搭建)** -- **[环境搭建](#13-环境搭建)** -### 1.1 目标读者 - -本文目标读者为Ascend模型端到端推理开发者,用于指导开发者在onnx框架下,实现模型端到端推理精度性能达标。 - ->![](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/raw/master/public_sys-resources/icon-note.gif) ->**说明:** -> ->开发者除编程语言知识外,应对如下基础知识有一定的了解和熟悉: ->1. 深度学习方法(cv, nlp等); ->2. PyTorch写法及其运行原理; ->3. onnx模型细节; ->2. CANN运作流程; - -### 1.2 原理与方案 +### 1.1 原理与方案 - 精度性能要求 Ascend PyTorch模型离线推理目标是pytorch模型在npu Ascend 310卡上离线推理的精度与gpu T4卡上推理精度一致,推理性能超过T4。 @@ -62,7 +41,7 @@ ![](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/raw/master/figures/pyotrch_offline_infer.png) -### 1.3 环境搭建 +### 1.2 环境搭建 **Ascend相关文档与软件发布在华为云[support地址](https://support.huawei.com/enterprise/zh/category/ascend-computing-pid-1557196528909)CANN和A300-3010** @@ -114,6 +93,8 @@ opencv-python == 4.2.0.34 > > 以上为多数网络需要安装的软件与推荐的版本,根据实际情况安装。如果python脚本运行过程中import 模块失败,安装相应模块即可,如果报错是缺少动态库,网上搜索报错信息找到相应安装包,执行yum install 包名安装即可 +[机器申请与使用指南](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86-%E6%9C%BA%E5%99%A8%E7%94%B3%E8%AF%B7%E4%B8%8E%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md) + ## 2 推理指导 - **[推理流程](#21-推理流程)** @@ -719,35 +700,19 @@ inception_v3_bs16 Flatten AI Core 1 20.415 20.415 20 profiling也会统计每个算子耗时,结合使用netron查看onnx模型结构图,可以看出pad和pad前后的transdata耗时很长,经过分析pad的功能可以由其后的averagepool中的pad属性完成,可以节约大量时间,于是进行padV3D和pooling算子的graph融合。从op_summary_0_1.csv中看出单个TransData算子aicore的耗时已经很短了,本模型TransData算子没有优化空间。 -## 3 实例总结 +## 3 附录 -### 3.1 推理案例 +- **[模型案例](#31-模型案例)** +- **[交付标准与交付件规范](#32-交付标准与交付件规范)** +- **[深度学习指导](#33-深度学习指导)** -当前已完成端到端推理模型放在[ModelZoo](https://ascend.huawei.com/zh/#/software/modelzoo),包含模型端到端推理说明,代码与操作完整流程,下面的实例仅给出用于说明问题的代码片段,该页面过滤条件框中搜索atc可以看到这些模型 - -一些典型模型的链接如下 -1. [ResNeXt-50](https://ascend.huawei.com/zh/#/software/modelzoo/detail/1/2ca8ac26aeac461c85e7b04f17aa201a) -2. [Inception-V3](https://ascend.huawei.com/zh/#/software/modelzoo/detail/1/132f32e409b44aac8951f58ca073b780) -3. [Inception-V4](https://ascend.huawei.com/zh/#/software/modelzoo/detail/1/75eb32c2a2d94c4db743983504f83a06) -4. [EfficientNet-b0](https://ascend.huawei.com/zh/#/software/modelzoo/detail/1/75026a6edf604ec0bc5d16d220328646) -5. [YoloV3](https://ascend.huawei.com/zh/#/software/modelzoo/detail/1/36ea401e0d844f549da2693c6289ad89) -... -[案例](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86-%E6%A1%88%E4%BE%8B.md) - -## 4 附录 - -- **[机器申请与使用指南](#41-机器申请与使用指南)** -- **[交付标准与交付件](#42-交付标准与交付件)** -- **[深度学习指导](#43-深度学习指导)** - - -### 4.1 机器申请与使用指南 -[机器申请与使用指南](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86-%E6%9C%BA%E5%99%A8%E7%94%B3%E8%AF%B7%E4%B8%8E%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md) +### 3.1 模型案例 +[模型案例](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86-%E6%A8%A1%E5%9E%8B%E6%A1%88%E4%BE%8B.md) -### 4.2 交付标准与交付件 -[交付标准与交付件](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86-%E4%BA%A4%E4%BB%98%E6%A0%87%E5%87%86%E4%B8%8E%E4%BA%A4%E4%BB%98%E4%BB%B6.md) +### 3.2 交付标准与交付件规范 +[交付标准与交付件规范](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86-%E4%BA%A4%E4%BB%98%E6%A0%87%E5%87%86%E4%B8%8E%E4%BA%A4%E4%BB%98%E4%BB%B6.md) -### 4.3 深度学习指导 +### 3.3 深度学习指导 - 书籍推荐 ``` 1.现代设计理论与方法-约束条件下的最优化问题与梯度下降