Ascend ATC相关参数说明和描述

参考《ATC工具使用指南》

--net_optimize_enable

功能说明:所有融合规则的使能开关。

关联参数:--fusion_switch_file 是控制指定某个融合规则开关,

--net_optimize_enable 是控制所有融合规则的开关。

● 当配置--net_optimize_enable=0 时,关闭所有融合规则,--fusion_switch_file 不 生效。

● 当配置--net_optimize_enable=1 时,使能所有融合规则,如果配置了-- fusion_switch_file,以配置的融合规则文件为准。

推荐配置及收益:融合可以减少算子,提升性能,推荐配置1。

--layer_fusion_enable

功能说明:层间深度融合的使能开关。层间深度融合是指多层之间融合在一起,切小 块循环计算,数据在内部 RAM 传递,不读写 DDR。

关联参数:无

 ● 参数默认值:1

推荐配置及收益:层间深度融合可以减少 DDR 读写,提升性能,推荐配置 1。

 --layer_m2m_enable

功能说明:层间数据共享的使能开关。层间数据共享是指两层之间,上一层的输出数 据在内部 RAM 共享给下一层作为输入数据,不读写 DDR。

关联参数:无

推荐配置及收益:层间数据共享可以减少 DDR 读写,提升性能,推荐配置 1。

--compile_mode

功能说明:编译模式,量化后的数据 bit 位宽,不影响权重量化的 bit 位宽,权重固定是8bit量化。

关联参数:--gfpq_param_file:优先使用配置的量化参数。未配置量化参数时,compile_mode 才生效。

● 参数值 − 0:量化使用 8bit。 − 1:量化使用 16bit。

● 参数默认值:0

推荐配置及收益: ● 配置为 0 时,带宽小,板端缓存小,耗时少,精度损失大。 ● 配置为 1 时,带宽大,板端缓存大,耗时大,精度损失小。

--weight_quant_per_channel

功能说明:权重是否每个卷积单独量化,对应一组量化参数。只有 Convolution 和 Deconvolution 支持。

关联参数: --gfpq_param_file:优先使用配置的量化参数。未配置量化参数时, -- weight_quant_per_channel 才生效。

推荐配置及收益:配置为 1 时,权重量化粒度细,精度更好。

--forward_quantization_option

功能说明:ATC 转换模型校准时的量化选项。控制推理时是否使能数据量化或权重量 化。

关联参数:无

● 参数值:

0:关闭数据和权重量化。 1:使能数据量化。 2:使能权重量化。 3:使能数据和权重量化。

● 参数默认值:3

--online_model_type

功能说明:转换生成模型的类型,用于板端执行 profiling 或 dump 数据。

关联参数: --layer_fusion_enable:深度融合的层不支持 dump,即*.om 转 json 文件里,属性 is_dump_available 为 0 的层不支持 dump。

参数取值:

● 参数值:[0,7]。

        0: 没有调试相关的内容,没有网络结构和算子信息。

        1: 调试带层信息。

        2: 调试带层开始和结束标记,板端 profiling 用。

        3: 调试带层信息、层开始和结束标记。

         4: 调试带层 TRAP 指令,板端 dump 数据用。

         5: 调试带层信息、层 TRAP 指令。

         6: 调试带层开始和结束标记、层 TRAP 指令。

         7: 调试带层信息、层开始和结束标记、TRAP 指令。

● 参数默认值:1

推荐配置及收益: ● Release 配置 0。 ● Debug for profile 配置 2。 ● Debug for dump and compare 配置 4。

--output_type

功能说明:指定网络输出数据类型或指定输出节点的输出类型。

关联参数: 若指定某个输出节点的输出类型,则需要和--out_nodes 参数配合使用。

参数取值:

        ● 参数值:支持两种格式。

        格式 1:data_type, 表示指定所有输出节点的输出数据类型。

        格式 2:op_name:output_index:data_type,表示指定某个输出节点的某个输出的 输出数据类型。

        − op_name:指定算子的层名,必须为--out_nodes 指定的输出层。

         − output_index:指定输出层的第几个输出。

         − data_type:支持数据类型 FP16, FP32, INT16, INT8, S16, S8, U16, U8, UINT16, UINT8

● 参数默认值:FP32

推荐配置及收益:无

示例:

        ● 指定网络输出类型

        --output_type=FP32

        ● 指定某个输出节点的输出类型 output_type="conv1:0:FP32" --out_nodes="conv1:0"

依赖约束:AACPU 算子只支持输出 FP32。

其他说明:

1.在配置参数:

--net_optimize_enable=0 --layer_fusion_enable=0 --compile_mode=1 \
 
--weight_quant_per_channel=1 --forward_quantization_option=3

可能会解决精度下降问题。

2.为了导出模型推理时的相关信息,在转换om模型时需加入--online_model_type=2 选项

3.可以通过关闭对应算子的Fusion-Pass进行拆分:

# atc转换模型时添加参数
--fusion_switch_file=switch_fusion.cfg
# fusion_switch_file内容
LayerNormONNXFusionPass:off

相关推荐

  1. Ascend ATC相关参数说明描述

    2024-06-11 18:38:06       13 阅读
  2. linux程序编译、安装过程重要参数说明

    2024-06-11 18:38:06       34 阅读
  3. Python中Thop库的基本介绍参数说明

    2024-06-11 18:38:06       34 阅读
  4. AWS相关服务说明

    2024-06-11 18:38:06       11 阅读
  5. CaptureRequest部分参数说明

    2024-06-11 18:38:06       38 阅读
  6. Fastapi参数说明

    2024-06-11 18:38:06       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-11 18:38:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-11 18:38:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-11 18:38:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-11 18:38:06       18 阅读

热门阅读

  1. Android:UI:Drawable:View/ImageView与Drawable

    2024-06-11 18:38:06       8 阅读
  2. 【Linux】另一种基于rpm安装yum的方式

    2024-06-11 18:38:06       11 阅读
  3. 一五一、Go入门到进阶:并发编程

    2024-06-11 18:38:06       7 阅读
  4. PHP运算符:从基础到高级

    2024-06-11 18:38:06       7 阅读
  5. 华为和锐捷设备流统配置

    2024-06-11 18:38:06       8 阅读
  6. Linux下的lvm镜像与快照

    2024-06-11 18:38:06       7 阅读
  7. STM32 UART串口与物联网设备的集成方案

    2024-06-11 18:38:06       9 阅读