文档
注册

--op_precision_mode

功能说明

设置指定算子内部处理时的精度模式,支持指定一个算子或多个算子。

关联参数

  • 该参数不能与--op_select_implmode--optypelist_for_implmode参数同时使用,若三个参数同时配置,则只有--op_precision_mode参数指定的模式生效。
  • 针对同一个算子,如果通过--op_precision_mode参数配置了enable_hi_float_32_execution或enable_float_32_execution,该场景下不建议再与--allow_hf32参数同时使用,若同时使用,则优先级如下:

    op_precison_mode(ByNodeName,按节点名称设置精度模式) > allow_hf32 > op_precison_mode(ByOpType,按算子类型设置精度模式)

参数取值

参数值:设置算子精度模式的配置文件(.ini格式)路径以及文件名,配置文件中支持设置如下精度模式:

  • high_precision:表示高精度。
  • high_performance:表示高性能。
  • enable_float_32_execution:算子内部处理时使用FP32数据类型功能,该场景下FP32数据类型不会自动转换为HF32数据类型;若使用HF32计算,精度损失超过预期时,可启用该配置,指定部分算子内部计算时使用FP32,保持精度。仅在Atlas A2训练系列产品场景支持此配置。
  • enable_hi_float_32_execution:算子内部处理时使用HF32数据类型功能,使能后,FP32数据类型自动转换为HF32数据类型;该配置可以降低数据所占空间大小,实现性能提升。当前版本暂不支持。
  • support_out_of_bound_index:表示对gather、scatter和segment类算子的indices输入进行越界校验, 校验会降低算子的执行性能。

具体某个算子支持配置的精度/性能模式取值,可以通过CANN软件安装后文件存储路径的opp/built-in/op_impl/ai_core/tbe/impl_mode/all_ops_impl_mode.ini文件查看。

参数值格式:路径和文件名:支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符。

参数值约束

推荐配置及收益

  • 该参数不建议配置,若使用高性能或者高精度模式,网络性能或者精度不是最优,则可以使用该参数,通过配置ini文件调整具体某个算子的精度模式。
  • 通过该参数加载的ini配置文件,建议使用--op_select_implmode参数用户另存后的ini配置文件,详情请参见推荐配置及收益

示例

构造算子精度模式配置文件op_precision.ini,并在该文件中按照算子类型、节点名称设置精度模式,每一行设置一个算子类型或节点名称的精度模式,按节点名称设置精度模式的优先级高于按算子类型

配置样例如下:

[ByOpType]
optype1=high_precision
optype2=high_performance
optype3=enable_hi_float_32_execution
optype4=support_out_of_bound_index

[ByNodeName]
nodename1=high_precision
nodename2=high_performance
nodename3=enable_hi_float_32_execution
nodename4=support_out_of_bound_index

将配置好的op_precision.ini文件上传到ATC工具所在服务器任意目录,例如上传到$HOME/conf,使用示例如下:

--op_precision_mode=$HOME/conf/op_precision.ini

支持的芯片型号

Atlas 200/300/500 推理产品

Atlas 推理系列产品(Ascend 310P处理器)

Atlas 训练系列产品

Atlas A2训练系列产品

依赖约束

无。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词