CANN/GE ATC工具精度定制参数

CANN/GE ATC工具精度定制参数 --customize_dtypes【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况全量芯片支持功能说明模型编译时自定义某个或某些算子的计算精度。关联参数若本参数与--precision_mode或--precision_mode_v2配合使用时除本参数指定的算子外模型中其它算子按--precision_mode或--precision_mode_v2参数配置的精度模式来编译。--customize_dtypes参数与--keep_dtype参数都用于设置算子的计算精度若涉及需提升模型推理精度的场景建议先使用--keep_dtype参数保持原图精度若精度依然得不到提升可以尝试使用--customize_dtypes参数自定义某个或某些算子的计算精度。但需注意使用--customize_dtypes参数且通过配置算子名称的方式可能会由于内部模型优化过程中的融合、拆分等操作导致算子名称发生变化进而导致配置不生效未达到提升精度的目的可进一步获取日志定位问题关于日志的详细说明请参见《日志参考》。若同时使用了--customize_dtypes参数与--keep_dtype参数则以--customize_dtypes参数设置的精度为准。参数取值参数值算子配置文件路径以及文件名配置文件中列举需要自定义计算精度的算子名称或算子类型每个算子单独一行。参数值约束若为算子名称以Opname::InputDtype:dtype1,...,OutputDtype:dtype1,...格式进行配置每个Opname单独一行dtype1dtype2...需要与可设置计算精度的算子输入算子输出的个数一一对应。若为算子类型以**OpType::TypeName:InputDtype:dtype1,...,OutputDtype:dtype1,...**格式进行配置每个OpType单独一行dtype1dtype2...需要与可设置计算精度的算子输入算子输出的个数一一对应且算子OpType必须为基于Ascend IR定义的算子的OpType算子类型查看方法请参见如何确定原始框架网络模型中的算子与AI处理器支持的算子的对应关系。对于同一个算子如果同时配置了Opname和OpType的配置项编译时以Opname的配置项为准。使用该参数指定某个算子的计算精度时如果模型转换过程中该算子被融合掉则该算子指定的计算精度不生效。参数值格式路径和文件名支持大小写字母a-zA-Z、数字0-9、下划线_、短横线-、句点.、英文冒号(:)、中文汉字。推荐配置及收益无。示例若配置文件中为算子名称则配置样例为文件名举例为_customize_dtypes.cfg_Opname1::InputDtype:dtype1,dtype2,...,OutputDtype:dtype1,... Opname2::InputDtype:dtype1,dtype2,...,OutputDtype:dtype1,...若配置文件中为算子类型则配置样例为文件名举例为_customize_dtypes.cfg_OpType::TypeName1:InputDtype:dtype1,dtype2,...,OutputDtype:dtype1,... OpType::TypeName2:InputDtype:dtype1,dtype2,...,OutputDtype:dtype1,...算子具体支持的计算精度可以从《算子库》 “Ascend IR算子规格说明”中查看。以TensorFlow ResNet50网络模型中的Relu算子为例其对应的Ascend IR定义的算子类型为Relu该算子输入和输出只有一个该配置样例如下算子名称配置样例fp32_vars/Relu::InputDtype:float16,OutputDtype:int8算子类型配置样例OpType::Relu:InputDtype:float16,OutputDtype:int8将配置好的_customize_dtypes.cfg_文件上传到ATC工具所在服务器的任意目录例如上传到$HOME使用示例如下atc --customize_dtypes$HOME/customize_dtypes.cfg --precision_modeforce_fp16 ...模型编译时_customize_dtypes.cfg_文件中的算子使用指定的计算精度其余网络模型中的算子以--precision_mode或--precision_mode_v2参数指定的精度模式进行编译。使用约束使用该参数指定算子的计算精度由于其优先级高于--precision_mode或--precision_mode_v2、--keep_dtype参数可能会导致后续推理精度或者性能的下降。使用该参数指定算子的计算精度如果指定的精度算子本身不支持则会导致模型编译失败。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考