当前位置: 首页 > article >正文

CANN/tensorflow NPURunConfig精度调优配置

精度调优【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflowprecision_mode_v2算子精度模式配置要求为string类型。fp16表示原图中算子精度为float16、bfloat16或float32时强制选择float16。origin保持原图精度。如果原图中某算子精度为float16AI Core中该算子的实现不支持float16、仅支持float32和bfloat16则系统内部会自动采用高精度float32。如果原图中某算子精度为float16AI Core中该算子的实现不支持float16、仅支持bfloat16则会使用float16的AI CPU算子如果AI CPU算子也不支持则执行报错。如果原图中某算子精度为float32AI Core中该算子的实现不支持float32类型、仅支持float16类型则会使用float32的AI CPU算子如果AI CPU算子也不支持则执行报错。cube_fp16in_fp32outAI Core中该算子既支持float32又支持float16数据类型时系统内部根据算子类型不同选择不同的处理方式。对于矩阵计算类算子系统内部会按算子实现的支持情况处理优先选择输入数据类型为float16且输出数据类型为float32如果1中的场景不支持则选择输入数据类型为float32且输出数据类型为float32如果2中的场景不支持则选择输入数据类型为float16且输出数据类型为float16如果3中的场景不支持则报错。对于矢量计算类算子表示原图中算子精度为float16或bfloat16强制选择float32。如果原图中存在部分算子在AI Core中该算子的实现不支持float32比如某算子仅支持float16类型则该参数不生效仍然使用支持的float16如果在AI Core中该算子的实现不支持float32且又配置了黑名单precision_reduce false则会使用float32的AI CPU算子如果AI CPU算子也不支持则执行报错。mixed_float16表示使用混合精度float16、bfloat16和float32数据类型来处理神经网络。针对原图中float32和bfloat16数据类型的算子按照内置的优化策略自动将部分float32和bfloat16的算子降低精度到float16从而在精度损失很小的情况下提升系统性能并减少内存使用。开启该功能开关后用户可以同时使能Loss Scaling从而补偿降低精度带来的精度损失。mixed_bfloat16表示使用混合精度bfloat16和float32数据类型来处理神经网络。针对原图中float32数据类型的算子按照内置的优化策略自动将部分float32的算子降低精度到bfloat16从而在精度损失很小的情况下提升系统性能并减少内存使用如果算子不支持bfloat16和float32则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。说明仅Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品支持此配置。mixed_hif8开启自动混合精度功能表示混合使用hifloat8此数据类型介绍可参见HiFloat8数据类型介绍、float16、bfloat16和float32数据类型来处理神经网络。针对原图中float16、bfloat16和float32数据类型的算子按照内置的优化策略自动将部分float16、bfloat16和float32的算子降低精度到hifloat8从而在精度损失很小的情况下提升系统性能并减少内存使用。当前版本不支持该选项。说明仅Ascend 950PR/Ascend 950DT支持此配置。cube_hif8表示若原图中的cube算子既支持hifloat8又支持float16、bfloat16或float32数据类型时强制选择hifloat8数据类型。当前版本不支持该选项。说明仅Ascend 950PR/Ascend 950DT支持此配置。训练场景下针对Ascend 950PR/Ascend 950DT该配置项默认值为“origin”。针对Atlas A3 训练系列产品/Atlas A3 推理系列产品该配置项默认值为“origin”。针对Atlas A2 训练系列产品/Atlas A2 推理系列产品该配置项默认值为“origin”。针对Atlas 训练系列产品该配置项无默认取值以“precision_mode”参数的默认值为准即“allow_fp32_to_fp16”。在线推理场景下该配置项默认值为“fp16”。配置示例config NPURunConfig(precision_mode_v2origin)说明该参数不能与“precision_mode”参数同时使用建议使用“precision_mode_v2”参数。在使用此参数设置整个网络的精度模式时可能会存在个别算子存在精度问题此种场景下建议通过keep_dtype_scope接口设置某些算子保持原图精度。混合精度场景下算子的内置优化策略可参见“modify_mixlist”参数的详细说明。bfloat16数据类型不支持以下产品Atlas 训练系列产品Atlas 推理系列产品precision_mode算子精度模式配置要求为string类型。allow_fp32_to_fp16对于矩阵类算子如果原图中算子精度为float32优先降低精度到float16如果AI Core中算子不支持float16则继续选择float32如果AI Core中算子不支持float32则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。如果原图中算子精度为bfloat16则优先使用原图精度bfloat16如果AI Core中算子不支持bfloat16则选择float32如果AI Core中算子不支持float32则直接降低精度到float16如果AI Core中算子不支持float16则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。对于矢量类算子优先保持原图精度如果原图中算子精度为float32则优先使用原图精度float32如果AI Core中算子不支持float32则直接降低精度到float16如果AI Core中算子不支持float16则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。如果原图中算子精度为bfloat16则优先使用原图精度bfloat16如果AI Core中算子不支持bfloat16则选择float32如果AI Core中算子不支持float32则直接降低精度到float16如果AI Core中算子不支持float16则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。force_fp16算子同时支持float16、bfloat16和float32数据类型时强制选择float16数据类型。此参数仅适用于在线推理场景。force_fp32/cube_fp16in_fp32out配置为force_fp32或cube_fp16in_fp32out效果等同该选项用来表示AI Core中该算子既支持float32又支持float16数据类型时系统内部都会根据算子类型不同选择不同的处理方式。cube_fp16in_fp32out为新版本中新增的对于矩阵计算类算子该选项语义更清晰。对于矩阵计算类算子系统内部会按算子实现的支持情况处理优先选择输入数据类型为float16且输出数据类型为float32如果1中的场景不支持则选择输入数据类型为float32且输出数据类型为float32如果2中的场景不支持则选择输入数据类型为float16且输出数据类型为float16如果3中的场景不支持则报错。对于矢量计算类算子表示原图中算子精度为float16或bfloat16强制选择float32。如果原图中存在部分算子在AI Core中该算子的实现不支持float32比如某算子仅支持float16类型则该参数不生效仍然使用支持的float16如果在AI Core中该算子的实现不支持float32且又配置了黑名单precision_reduce false则会使用float32的AI CPU算子如果AI CPU算子也不支持则执行报错。must_keep_origin_dtype保持原图精度。如果原图中某算子精度为float16AI Core中该算子的实现不支持float16、仅支持float32和bfloat16则系统内部会自动采用高精度float32。如果原图中某算子精度为float16AI Core中该算子的实现不支持float16、仅支持bfloat16则会使用float16的AI CPU算子如果AI CPU算子也不支持则执行报错。如果原图中某算子精度为float32AI Core中该算子的实现不支持float32类型、仅支持float16类型则会使用float32的AI CPU算子如果AI CPU算子也不支持则执行报错。allow_mix_precision_fp16/allow_mix_precision配置为allow_mix_precision或allow_mix_precision_fp16效果等同均表示使用混合精度float16、bfloat16和float32数据类型来处理神经网络的过程。allow_mix_precision_fp16为新版本中新增的语义更清晰便于理解。针对原始模型中float32和bfloat16数据类型的算子按照内置的优化策略自动将部分float32和bfloat16的算子降低精度到float16从而在精度损失很小的情况下提升系统性能并减少内存使用。allow_mix_precision_bf16表示使用混合精度bfloat16和float32数据类型来处理神经网络的过程。针对原始模型中float32数据类型的算子按照内置的优化策略自动将部分float32的算子降低精度到bfloat16从而在精度损失很小的情况下提升系统性能并减少内存使用如果AI Core中算子不支持bfloat16和float32则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。说明仅Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品支持此配置。allow_fp32_to_bf16如果原图中算子精度为float32则优先使用原图精度float32如果AI Core中算子不支持float32则降低精度到bfloat16如果AI Core中算子不支持bfloat16则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。如果原图中算子精度为bfloat16则优先使用原图精度bfloat16如果AI Core中算子不支持bfloat16则选择float32如果AI Core中算子不支持float32则使用AI CPU算子进行计算如果AI CPU算子也不支持则执行报错。说明Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品支持此配置。针对Ascend 950PR/Ascend 950DT默认配置项为“must_keep_origin_dtype”。针对Atlas A3 训练系列产品/Atlas A3 推理系列产品默认配置项为“must_keep_origin_dtype”。针对Atlas A2 训练系列产品/Atlas A2 推理系列产品默认配置项为“must_keep_origin_dtype”。针对Atlas 训练系列产品默认配置项为“allow_fp32_to_fp16”。配置示例config NPURunConfig(precision_modeallow_mix_precision)[!NOTE]说明该参数不能与“precision_mode_v2”参数同时使用建议使用“precision_mode_v2”参数。在使用此参数设置整个网络的精度模式时可能会存在个别算子存在精度问题此种场景下建议通过keep_dtype_scope接口设置某些算子保持原图精度。modify_mixlist开启混合精度的场景下开发者可通过此参数指定混合精度黑白灰名单的路径以及文件名自行指定哪些算子允许降精度哪些算子不允许降精度。用户可以在脚本中通过配置“precision_mode_v2”推荐参数或者“precision_mode”参数开启混合精度。黑白灰名单存储文件为JSON格式配置示例如下config NPURunConfig(modify_mixlist/home/test/ops_info.json)ops_info.json中可以指定算子类型多个算子使用英文逗号分隔样例如下{ black-list: { // 黑名单 to-remove: [ // 黑名单算子转换为灰名单算子 Xlog1py ], to-add: [ // 白名单或灰名单算子转换为黑名单算子 MatMul, Cast ] }, white-list: { // 白名单 to-remove: [ // 白名单算子转换为灰名单算子 Conv2D ], to-add: [ // 黑名单或灰名单算子转换为白名单算子 Bias ] } }说明上述配置文件样例中展示的算子仅作为参考请基于实际硬件环境和具体的算子内置优化策略进行配置。混合精度场景下算子的内置优化策略可在“CANN软件安装目录/opp/built-in/op_impl/ai_core/tbe/config/soc_version/aic-soc_version-ops-info-opType.json“文件中查询例如Conv2D:{ precision_reduce:{ flag:true }, ... }true白名单表示混合精度模式下允许当前算子降低精度。false黑名单表示混合精度模式下不允许当前算子降低精度。不配置灰名单表示当前算子的混合精度处理机制和前一个算子保持一致即如果前一个算子支持降精度处理当前算子也支持降精度如果前一个算子不允许降精度当前算子也不支持降精度。customize_dtypes使用precision_mode_v2或precision_mode参数设置整个网络的精度模式时可能会存在个别算子存在精度问题此种场景下可以使用customize_dtypes参数配置个别算子的精度模式而模型中的其他算子仍以precision_mode_v2或precision_mode指定的精度模式进行编译。需要注意当precision_mode_v2取值为“origin”或precision_mode取值为“must_keep_origin_dtype”时customize_dtypes参数不生效。该参数需要配置为配置文件路径及文件名例如/home/test/customize_dtypes.cfg。配置示例config NPURunConfig(customize_dtypes/home/test/customize_dtypes.cfg)配置文件中列举需要自定义计算精度的算子名称或算子类型每个算子单独一行且算子类型必须为基于Ascend IR定义的算子的类型。对于同一个算子如果同时配置了算子名称和算子类型编译时以算子名称为准。配置文件格式要求# 按照算子名称配置 Opname1::InputDtype:dtype1,dtype2,…OutputDtype:dtype1,… Opname2::InputDtype:dtype1,dtype2,…OutputDtype:dtype1,… # 按照算子类型配置 OpType::TypeName1:InputDtype:dtype1,dtype2,…OutputDtype:dtype1,… OpType::TypeName2:InputDtype:dtype1,dtype2,…OutputDtype:dtype1,…配置文件配置示例# 按照算子名称配置 resnet_v1_50/block1/unit_3/bottleneck_v1/Relu::InputDtype:float16,int8,OutputDtype:float16,int8 # 按照算子类型配置 OpType::Relu:InputDtype:float16,int8,OutputDtype:float16,int8说明算子具体支持的计算精度可以从算子信息库中查看默认存储路径为CANN软件安装后文件存储路径的opp/built-in/op_impl/ai_core/tbe/config/soc_version/aic-soc_version-ops-info-opType.json。通过该参数指定的优先级高因此可能会导致精度/性能的下降如果指定的dtype不支持会导致编译失败。若通过算子名称进行配置由于模型编译过程中会进行融合、拆分等优化操作可能会导致算子名称发生变化进而导致配置不生效未达到精度提升的目的。此种场景下可进一步通过获取日志进行问题定位关于日志的详细说明请参见《日志参考》。【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/tensorflow NPURunConfig精度调优配置

精度调优 【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow precision_mode_v2 算子精度模式,配置要求为string类型。 fp16:表示原图中算子精度为float16、bfloat16或float32时&#xff0c…...

CANN/cann-recipes-infer:NPU DeepSeek-V4 TileLang算子开发实践

NPU DeepSeek-V4 TileLang算子开发实践 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer 简介 在大模型异构计算发展背景…...

CANN/pyasc ib_wait函数文档

asc.language.basic.ib_wait 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc asc.language.basic.ib_wait(g…...

昇腾SiP CgemvOperation C++示例

信号处理加速库CgemvOperation C Demo 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 介绍 该目录下为信号处…...

智能电网安全:基于可信AI的攻击检测与风险解释框架

1. 项目概述在智能电网这个庞大的能源神经系统中,分布式能源资源(DERs)——比如你家屋顶的光伏板、街角的电动汽车充电桩、甚至是一个社区的储能电站——正以前所未有的速度和规模接入。它们通过源源不断的控制与状态消息,与电网控…...

CANN Runtime异常处理指南

异常处理 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 获取Runtime错误码 所有Runtime接口都会返回一个错误码。然而,对于异步接口(参见异步任务执行)&#xff0…...

KrkrzExtract终极指南:新一代krkrz引擎资源解包工具完全解析

KrkrzExtract终极指南:新一代krkrz引擎资源解包工具完全解析 【免费下载链接】KrkrzExtract The next generation of KrkrExtract 项目地址: https://gitcode.com/gh_mirrors/kr/KrkrzExtract KrkrzExtract是专门为krkrz引擎设计的下一代资源处理工具&#x…...

别再死记硬背TP/FP了!用Python手把手带你画混淆矩阵,5分钟搞懂准确率、召回率

用Python实战拆解分类模型评估:从混淆矩阵到指标可视化 刚接触机器学习的开发者常会遇到这样的困惑:为什么模型预测的"准确率"很高,但实际业务中却表现糟糕?上周我帮一个电商团队分析用户流失预测模型时就遇到这种情况—…...

多模态大模型如何重塑科学教育:从理论框架到课堂实践

1. 项目概述:当科学教育遇见“多模态”大脑最近几年,我身边不少从事科学教育(从K12到大学)的朋友和同事,都在不约而同地讨论一个词:多模态大语言模型。起初,大家只是把它当作一个更聪明的聊天机…...

视频动作识别可解释性:REVEX框架与六种移除式解释方法评测

1. 项目概述:当AI“看”视频时,我们如何理解它的“思考”?在动作识别领域,AI模型已经能够以惊人的准确率识别视频中的人类行为,从简单的“走路”、“跑步”到复杂的“打篮球”、“弹钢琴”。然而,一个长期困…...

2026年,如何挑选靠谱的冷镦油过滤机生产商?这几点是关键

在紧固件、轴承等金属零部件制造领域,冷镦工艺是核心环节,而冷镦油的清洁度直接关系到模具寿命、产品精度与生产成本。随着2026年工业制造向智能化、绿色化深度转型,选择一台高效、可靠的冷镦油过滤机,已成为企业降本增效与合规运…...

CANN/hcomm AIV算子任务编排

任务编排 【免费下载链接】hcomm HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 编排步骤 参与集合通信的各个rank协调有序地进行同步与数据搬运&am…...

别再手动改NetCDF了!用CDO批量插值气象数据的保姆级Shell脚本(附双线性/最近邻/样条等7种方法对比)

别再手动改NetCDF了!用CDO批量插值气象数据的保姆级Shell脚本(附双线性/最近邻/样条等7种方法对比) 气象数据处理中,最让人头疼的莫过于面对不同来源、不同分辨率的NetCDF文件。想象一下,你手头有几百个温度、降水或风…...

深度解析KrkrzExtract:下一代krkrz引擎资源处理工具实战指南

深度解析KrkrzExtract:下一代krkrz引擎资源处理工具实战指南 【免费下载链接】KrkrzExtract The next generation of KrkrExtract 项目地址: https://gitcode.com/gh_mirrors/kr/KrkrzExtract KrkrzExtract作为新一代krkrz引擎资源处理工具,专为游…...

CANN/ops-nn GeluMul算子

GeluMul 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√At…...

APA 7th Edition终极指南:三分钟解决Word参考文献格式混乱问题

APA 7th Edition终极指南:三分钟解决Word参考文献格式混乱问题 【免费下载链接】APA-7th-Edition Microsoft Word XSD for generating APA 7th edition references 项目地址: https://gitcode.com/gh_mirrors/ap/APA-7th-Edition 还在为学术论文的参考文献格…...

中国企业全球化人才战略白皮书

导读:当前中国企业全球化已进入深水区,告别 “拼速度、抢扩张” 的粗放阶段,转向以长期价值、组织韧性、全球共生为核心的新征程。效率、成本与技术速度不再是决胜关键,信任力成为企业立足全球、穿越周期的核心 “软货币”&#x…...

CANN/HCOMM对称内存注册接口

HcclCommSymWinRegister 【免费下载链接】hcomm HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 产品支持情况 Ascend 950PR/Ascend 950DT&#xff1…...

百度网盘提取码智能解析:3分钟告别手动搜索的终极指南

百度网盘提取码智能解析:3分钟告别手动搜索的终极指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘提取码而烦恼吗?每次遇到加密分享链接,都要像侦探一样在网页间来回搜索…...

Docker Registry Push 超时排查全记录:从网络栈到残留 veth 的真相

摘要: 在私有化部署 Docker Registry 时,遇到宿主机 curl 容器映射端口超时的诡异问题。经历 iptables、rp_filter、bindv6only、抓包等深入排查后,最终发现是 Docker 卸载残留的 veth 接口扰乱了内核包转发路径。本文完整记录排错过程与根因…...

从停机问题到AI责任:技术不可判定性与法律归责的跨界思考

1. 项目概述:一个横跨技术与法律的硬核议题最近和几位做算法开发的朋友聊天,大家不约而同地提到了一个共同的困惑:我们写的代码、训练的模型,一旦“闯了祸”,责任到底算谁的?是写代码的工程师,是…...

CANN/ops-transformer FFA算子设计

1 计算过程 【免费下载链接】ops-transformer 本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-transformer 按照FusedFloydAttention正向计算流程实现,整体计算流程如下&#x…...

CANNBot技能:模型推理预取优化

【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills name: model-infer-prefetch description: 基于 PyTorch 框架的昇腾 N…...

组态屏工程备份 / 恢复 / 加密 / 密码忘记

在工业自动化现场,组态屏作为人机交互的核心设备,承载着设备监控、参数设置、报警记录等关键功能。而组态工程文件,则是这块屏幕的“灵魂”——一旦工程丢失或损坏,重新编写不仅耗时数日,甚至可能因工艺参数遗忘而导致…...

可解释AI如何破解人机协同决策的信任难题?

1. 项目概述:当AI开始解释自己最近几年,我参与和观察了不少将人工智能(AI)引入关键决策流程的项目,从医疗诊断辅助到金融风控,再到工业运维。一个越来越强烈的感受是:当AI的预测或建议摆在我们面…...

CANN π₀.₅模型训练优化说明

π₀.₅ 模型训练昇腾迁移与性能优化说明 【免费下载链接】cann-recipes-embodied-intelligence 本项目针对具身智能业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-embodied-intelligence 背景介…...

LobeHub 这玩意儿,到底香在哪?

先说结论:LobeHub 是目前我在前端圈里看到的,最接近“智能体操作系统”的一个东西。不是吹,是真的好用到让我有点慌。事情是这样的前阵子我在搞一个自动化工单系统,本来打算自己撸一套 Agent 调度逻辑,结果写到第三天我…...

AI+SPU-Net:机器人辅助脊柱手术的自动切面规划技术详解

1. 项目概述与核心价值在骨科脊柱外科领域,椎板切除术是一项常规且至关重要的减压手术,用于治疗椎管狭窄、椎间盘突出等疾病。手术的核心在于精准、安全地切除椎板骨质,为受压的神经结构“松绑”。然而,传统手术高度依赖主刀医生的…...

CANN/ops-fft:FFT算子库

ops-fft 【免费下载链接】ops-fft ops-fft 是 CANN (Compute Architecture for Neural Networks)算子库中提供 FFT 类计算的基础算子库,采用模块化设计,支持灵活的算子开发和管理。 项目地址: https://gitcode.com/cann/ops-fft…...

CANN一维最近邻上采样算子

aclnnUpsampleNearest1dV2 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 📄 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950…...