--modify_mixlist

功能说明

混合精度场景下,修改算子使用混合精度名单,该文件包括黑名单,白名单和灰名单:

关联参数

该参数需要与--precision_mode参数同时使用,并且该参数取值需要设置为allow_mix_precision、allow_mix_precision_fp16、allow_mix_precision_bf16(仅Atlas A2训练系列产品场景支持此配置),表示使用混合精度模式。混合精度场景下网络模型中float32数据类型的算子,按照内置的优化策略,自动将部分float32的算子降低精度到float16;而使用--modify_mixlist参数后,用户可以在内置优化策略基础上进行调整,自行指定哪些算子允许降精度,哪些算子不允许降精度。

参数取值

参数值:混合精度名单路径以及文件名。

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

参数值约束

推荐配置及收益

无。

示例

混合精度名单样例如下,文件名举例为ops_info.json:

{
  "black-list": {                  // 黑名单
     "to-remove": [                // 黑名单算子转换为灰名单算子,配置该参数时,请确保被转换的算子已经存在于黑名单中
     "Yolo"
     ],
     "to-add": [                   // 白名单或灰名单算子转换为黑名单算子
     "Matmul"
     ]
  },
  "white-list": {                  // 白名单
     "to-remove": [                // 白名单算子转换为灰名单算子,配置该参数时,请确保被转换的算子已经存在于白名单中
     "Conv2D"
     ],
     "to-add": [                   // 黑名单或灰名单算子转换为白名单算子
     "Bias"
     ]
  }
}

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

--precision_mode=allow_mix_precision  --modify_mixlist=${HOME}/module/ops_info.json

依赖约束

无。