- 方案背景当在线推理的速度无法满足客户要求,使用atc工具将onnx转为om模型走离线推理路径时,遇到NPU不支持LOOP算子的问题,本文提供一种解决方案。本方案的设计思路是,onnx文件分成loop算子和不含loop算子的两部分,把loop算子的子图提取出来,单独推理。实际操作中可能需要分成3份乃至更多,因此,本方案使用于关键路径上的loop算子,否则工作量会很大。 构造包含loop算子的... 方案背景当在线推理的速度无法满足客户要求,使用atc工具将onnx转为om模型走离线推理路径时,遇到NPU不支持LOOP算子的问题,本文提供一种解决方案。本方案的设计思路是,onnx文件分成loop算子和不含loop算子的两部分,把loop算子的子图提取出来,单独推理。实际操作中可能需要分成3份乃至更多,因此,本方案使用于关键路径上的loop算子,否则工作量会很大。 构造包含loop算子的...
- ais_bench提供的python API可供使能基于昇腾硬件的离线模型(.om模型)推理。具体介绍可参考[API_GUIDE](https://gitee.com/ascend/tools/blob/master/ais-bench_workload/tool/ais_bench/API_GUIDE.md#api%E7%AE%80%E4%BB%8B)下面列举几个常用的API推理场景使用方... ais_bench提供的python API可供使能基于昇腾硬件的离线模型(.om模型)推理。具体介绍可参考[API_GUIDE](https://gitee.com/ascend/tools/blob/master/ais-bench_workload/tool/ais_bench/API_GUIDE.md#api%E7%AE%80%E4%BB%8B)下面列举几个常用的API推理场景使用方...
- 动态BatchSize OM推理以档位1 2 4 8档为例,设置档位为2,本程序将获取实际模型输入组Batch,每2个输入为一组,进行组Batch。示例命令:python3 -m ais_bench --model ./inference/om/dynamic_batch_size_det.om --input ./inference/input/ --output ./inference... 动态BatchSize OM推理以档位1 2 4 8档为例,设置档位为2,本程序将获取实际模型输入组Batch,每2个输入为一组,进行组Batch。示例命令:python3 -m ais_bench --model ./inference/om/dynamic_batch_size_det.om --input ./inference/input/ --output ./inference...
- 推理环境准备 ais_bench推理工具简介昇腾离线OM模型的推理后端是ACL(Ascend Computing Language),其底层采用C实现,后来在ACL基础上又做了一套Python接口,命名为pyACL,为了方便开发,华为工程师又基于pyacl开发出一款推理工具ais_bench,此工具支持使用命令进行快捷地推理,并测试推理模型的性能(包括吞吐率、时延),同时ais_bench... 推理环境准备 ais_bench推理工具简介昇腾离线OM模型的推理后端是ACL(Ascend Computing Language),其底层采用C实现,后来在ACL基础上又做了一套Python接口,命名为pyACL,为了方便开发,华为工程师又基于pyacl开发出一款推理工具ais_bench,此工具支持使用命令进行快捷地推理,并测试推理模型的性能(包括吞吐率、时延),同时ais_bench...
- 本章节介绍 ONNX 模型如何转化为 OM 模型,并在昇腾AI处理器上做离线推理。昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是异构计算架构CANN体系下的模型转换工具, 它可以将开源框架的网络模型或Ascend IR定义的单算子描述文件(json格式)转换为昇腾AI处理器支持的.om格式离线模型。ATC功能详见:https://www.hiascend.com... 本章节介绍 ONNX 模型如何转化为 OM 模型,并在昇腾AI处理器上做离线推理。昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是异构计算架构CANN体系下的模型转换工具, 它可以将开源框架的网络模型或Ascend IR定义的单算子描述文件(json格式)转换为昇腾AI处理器支持的.om格式离线模型。ATC功能详见:https://www.hiascend.com...
- 本节介绍 PP-OCRv4 模型如何转化为 ONNX 模型。 环境准备需要准备 PaddleOCR、Paddle2ONNX 模型转化环境,和 ONNXRuntime 推理环境。 安装 Paddle2ONNXPaddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式,安装命令如下:python3 -m pip install paddle2onnx 安装 ON... 本节介绍 PP-OCRv4 模型如何转化为 ONNX 模型。 环境准备需要准备 PaddleOCR、Paddle2ONNX 模型转化环境,和 ONNXRuntime 推理环境。 安装 Paddle2ONNXPaddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式,安装命令如下:python3 -m pip install paddle2onnx 安装 ON...
- 性能优化问题定界在通过分析 profiling 文件找出性能瓶颈后,接下来将介绍相关的优化方法。算子时长主要由计算时间和调度时间两部分构成,下面将分别对计算时间长和调度时间长这两种情况进行探讨。 计算时间长的情况分析与优化计算时间长可能由以下三种情况导致: 算子运行于 AI_CPU若底层未对 AI_CORE 提供支持,就必须开发新的算子;若已有相关支持,计算时间长大概率是由 64 位数据类... 性能优化问题定界在通过分析 profiling 文件找出性能瓶颈后,接下来将介绍相关的优化方法。算子时长主要由计算时间和调度时间两部分构成,下面将分别对计算时间长和调度时间长这两种情况进行探讨。 计算时间长的情况分析与优化计算时间长可能由以下三种情况导致: 算子运行于 AI_CPU若底层未对 AI_CORE 提供支持,就必须开发新的算子;若已有相关支持,计算时间长大概率是由 64 位数据类...
- 性能调优思路性能优化是一项系统性工作,建议采用 “分析 - 定位 - 优化” 的流程,通过性能分析工具定位瓶颈后实施针对性优化。通过 profiling 工具获取算子级性能数据定位性能瓶颈点,主要涉及算子计算时间与调度通信时间。常用优化策略中,计算时间过长需依靠算子自身优化升级,可收集算子的 shape 和 dtype 向算子开发部门提交工单并跟踪进展;调度过程包含多个环节,目前最突出的问... 性能调优思路性能优化是一项系统性工作,建议采用 “分析 - 定位 - 优化” 的流程,通过性能分析工具定位瓶颈后实施针对性优化。通过 profiling 工具获取算子级性能数据定位性能瓶颈点,主要涉及算子计算时间与调度通信时间。常用优化策略中,计算时间过长需依靠算子自身优化升级,可收集算子的 shape 和 dtype 向算子开发部门提交工单并跟踪进展;调度过程包含多个环节,目前最突出的问...
- 本节介绍aclnn算子的三种适配场景。 Paddle-API 与 CANN-Kernel 差异剖析及适配策略对于Paddle-API与CANN-Kernel两者中常见的差别与适配方法如下: Paddle参数缺失或者参数无法直接对应如果Paddle算子只需要CANN提供的某个参数为默认值的功能,则可通过默认赋值的方式完成考虑通过计算取得需要参数 CANN参数缺失CANN算子没有某个Paddle... 本节介绍aclnn算子的三种适配场景。 Paddle-API 与 CANN-Kernel 差异剖析及适配策略对于Paddle-API与CANN-Kernel两者中常见的差别与适配方法如下: Paddle参数缺失或者参数无法直接对应如果Paddle算子只需要CANN提供的某个参数为默认值的功能,则可通过默认赋值的方式完成考虑通过计算取得需要参数 CANN参数缺失CANN算子没有某个Paddle...
- 适配代码仓介绍Paddle 针对除 CPU 和 Nvidia GPU 之外的其他硬件的适配代码,均存于[PaddleCustomDevice代码仓](https://github.com/PaddlePaddle/PaddleCustomDevice)以 NPU 适配代码为例,其路径为PaddleCustomDevice/backends/npu。在此路径下,有两个目录值得重点关注,分别是... 适配代码仓介绍Paddle 针对除 CPU 和 Nvidia GPU 之外的其他硬件的适配代码,均存于[PaddleCustomDevice代码仓](https://github.com/PaddlePaddle/PaddleCustomDevice)以 NPU 适配代码为例,其路径为PaddleCustomDevice/backends/npu。在此路径下,有两个目录值得重点关注,分别是...
- 训练系统的可用性,决定着智能化的速度。无法解决资源利用率低、系统稳定性差、通信带宽瓶颈的传统AI集群,已经不符合大模型的创新趋势。 训练系统的可用性,决定着智能化的速度。无法解决资源利用率低、系统稳定性差、通信带宽瓶颈的传统AI集群,已经不符合大模型的创新趋势。
- 别等服务器炸了才慌!深度学习让运维更“未卜先知” 别等服务器炸了才慌!深度学习让运维更“未卜先知”
- 精度对齐说明精度对齐旨在确保模型在训练一定轮次后,其损失(LOSS)或评分能够与原硬件训练的结果基本相符。 精度对齐标准下图所示为在原硬件GPU上的训练精度:迁移到NPU上后要求与GPU训练精度相差在千分之五左右,若精度误差过大则需要通过前向、反向对齐操作定位问题算子。 精度对齐思路一旦精度出现偏差,首先确认环境变量配置(例如,NPU私有格式环境变量是否关闭export FLAGS_npu... 精度对齐说明精度对齐旨在确保模型在训练一定轮次后,其损失(LOSS)或评分能够与原硬件训练的结果基本相符。 精度对齐标准下图所示为在原硬件GPU上的训练精度:迁移到NPU上后要求与GPU训练精度相差在千分之五左右,若精度误差过大则需要通过前向、反向对齐操作定位问题算子。 精度对齐思路一旦精度出现偏差,首先确认环境变量配置(例如,NPU私有格式环境变量是否关闭export FLAGS_npu...
- 传统与基于深度学习OCR在原理、实现、性能和应用等方面的差异 传统与基于深度学习OCR在原理、实现、性能和应用等方面的差异
- 深度解析谷歌 TPU 架构:从硬件原理到 AI 模型优化实战引言 (Foreword/Motivation)在过去十多年里,深度学习的快速发展极大地推动了人工智能的进步。然而,随之而来的是对计算能力指数级的需求。传统的 CPU 在执行大规模并行矩阵乘法等神经网络核心运算时效率有限,而 GPU 虽然在并行计算方面表现出色,但其通用性架构并非完全针对 AI 负载进行优化。为了应对这一挑战,谷歌自... 深度解析谷歌 TPU 架构:从硬件原理到 AI 模型优化实战引言 (Foreword/Motivation)在过去十多年里,深度学习的快速发展极大地推动了人工智能的进步。然而,随之而来的是对计算能力指数级的需求。传统的 CPU 在执行大规模并行矩阵乘法等神经网络核心运算时效率有限,而 GPU 虽然在并行计算方面表现出色,但其通用性架构并非完全针对 AI 负载进行优化。为了应对这一挑战,谷歌自...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
苏州工业园区“华为云杯”2025人工智能应用创新大赛赛中直播
2025/08/21 周四 16:00-17:00
Vz 华为云AIoT技术布道师
本期直播将与您一起探讨如何基于华为云IoT平台全场景云服务,结合AI、鸿蒙、大数据等技术,打造有创新性,有竞争力的方案和产品。
即将直播
热门标签