模型编译时自定义某个或某些算子的计算精度。
参数值:算子配置文件路径以及文件名,配置文件中列举需要自定义计算精度的算子名称或算子类型,每个算子单独一行。
参数值约束:
参数值格式:路径和文件名:支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、英文冒号(:)、中文汉字。
无。
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,...
算子具体支持的计算精度可以从《算子清单》中查看。
以TensorFlow ResNet50网络模型中的Relu算子为例,其对应的Ascend IR定义的算子类型为Relu,该算子输入和输出只有一个,该配置样例如下:
fp32_vars/Relu::InputDtype:float16,OutputDtype:int8
OpType::Relu:InputDtype:float16,OutputDtype:int8
将配置好的customize_dtypes.cfg文件上传到AOE工具所在服务器任意目录,例如上传到${HOME},使用示例如下:
--customize_dtypes=${HOME}/customize_dtypes.cfg --precision_mode=force_fp16
模型编译时,customize_dtypes.cfg文件中的算子,使用指定的计算精度,其余网络模型中的算子以--precision_mode参数指定的精度模式进行编译。