下载
中文
注册

--keep_dtype

功能说明

在原始网络模型编译时,保持个别算子的计算精度不变。

推理场景下,使用--precision_mode参数设置整个网络模型的精度模式,可能会有个别算子存在性能或精度问题,为此引入--keep_dtype参数,保持原始网络模型编译时个别算子的计算精度不变,具体算子可以通过该参数指定的文件进行配置。

关联参数

该参数需要与--precision_mode参数同时使用,但当--precision_mode参数取值为must_keep_origin_dtype时,该参数不生效。

参数取值

参数值:算子配置文件路径以及文件名,配置文件中列举需保持计算精度的算子名称或算子类型,每个算子单独一行。

参数值约束:

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

推荐配置及收益

无。

示例

  • 若配置文件中为算子名称,则配置样例如下(文件名举例为execeptionlist.cfg):
    Opname1
    Opname2
    …
  • 若配置文件中为算子类型,则配置样例为(文件名举例为execeptionlist.cfg):
    OpType::TypeName1
    OpType::TypeName2
    …

以TensorFlow ResNet50网络模型中的Relu算子为例,其对应的Ascend IR定义的算子类型为Relu,配置样例如下:

#算子名称配置样例:
fp32_vars/Relu
#算子类型配置样例:
OpType::Relu

将配置好的execeptionlist.cfg文件上传到AOE工具所在服务器任意目录,例如上传到${HOME},使用示例如下:

--keep_dtype=${HOME}/execeptionlist.cfg --precision_mode=force_fp16

模型编译时,execeptionlist.cfg文件中的算子,保持原始网络模型精度,即精度不会改变,其余网络模型中的算子以--precision_mode参数指定的精度模式进行编译。

依赖约束

无。