文档
注册

aclgrphCalibration

函数功能

将非量化Graph自动修改为量化后的Graph。具体的样例请参考自动量化

函数原型

graphStatus aclgrphCalibration(ge::Graph &graph, const std::map<AscendString, AscendString> &quantizeConfigs)

参数说明

参数名

输入/输出

描述

graph

输入

待修改的用户原始Graph。

quantizeConfigs

输入

map表,key为参数类型,value为参数值,均为字符串格式,描述执行接口所需要的配置选项。具体配置参数如下所示:

  • INPUT_DATA_DIR:必填,用于计算量化因子的数据bin文件路径,建议传入不少于一个batch的数据。如果模型有多个输入,则输入数据文件以英文逗号分隔。
  • INPUT_SHAPE:必填,输入数据的shape。例如:"input_name1:n1,c1,h1,w1;input_name2:n2,c2,h2,w2"。指定的节点必须放在双引号中,节点中间使用英文分号分隔。input_name必须是Graph中的节点名称。
  • SOC_VERSION:必填,进行训练后量化校准推理时,所使用的芯片名称。

    Atlas 200/300/500 推理产品参数值:Ascend310

    Atlas 推理系列产品(Ascend 310P处理器)参数值:Ascend310P1、Ascend310P3

    Atlas 训练系列产品参数值:AscendxxxA、AscendxxxB

    Atlas 200I/500 A2推理产品参数值:Ascend310B1、Ascend310B2、Ascend310B3、Ascend310B4

    Atlas A2训练系列产品/Atlas 800I A2推理产品参数值:AscendxxxB1、AscendxxxB2、AscendxxxB3、AscendxxxB4,AscendxxxB4-1;xxx请替换为具体取值。

    如果无法确定具体的<soc_version>,则在安装昇腾AI处理器的服务器执行npu-smi info命令进行查询,在查询到的“Name”前增加Ascend信息,例如“Name”对应取值为xxxyy,实际配置的<soc_version>值为Ascendxxxyy

  • INPUT_FORMAT:选填,输入数据的排布格式,支持"NCHW", "NHWC", "ND"。
  • INPUT_FP16_NODES:选填,指定输入数据类型为FP16的输入节点名称。
  • CONFIG_FILE:选填,用于配置高级选项的配置文件路径。配置文件的示例请参考简易配置文件
  • LOG_LEVEL:选填,设置训练后量化时的日志等级,该参数只控制训练后量化过程中显示的日志级别,默认显示info级别:
    • debug:输出debug/info/warning/error/event级别的日志信息。
    • info:输出info/warning/error/event级别的日志信息。
    • warning:输出warning/error/event级别的日志信息。
    • error:输出error/event级别的日志信息。
    此外,训练后量化过程中的日志打屏以及日志落盘信息由AMCT_LOG_DUMP环境变量进行控制:
    • export AMCT_LOG_DUMP=1:表示日志打印到屏幕,不保存量化因子record文件和graph文件。
    • export AMCT_LOG_DUMP=2:将日志落盘到当前路径的“amct_log_{timestamp}/amct_acl.log”文件中,同时在“amct_log_{timestamp}”目录下保存量化因子record文件record.txt。
    • export AMCT_LOG_DUMP=3:将日志落盘到当前路径的“amct_log_{timestamp}/amct_acl.log”文件中,同时在“amct_log_{timestamp}”目录下保存量化因子record文件record.txt和包含量化过程中各阶段的图描述信息的graph文件

    为防止日志文件、record文件、graph文件持续落盘导致磁盘被写满,请及时清理这些文件。

    如果用户配置了ASCEND_WORK_PATH环境变量,则上述日志、量化因子record文件和graph文件存储到该环境变量指定的路径下,例如ASCEND_WORK_PATH=/home/test,则存储路径为:/home/test/amct_acl/amct_log_{pid}_时间戳。其中,amct_acl模型转换过程中会自动创建,{pid}为进程号。

  • OUT_NODES:选填,用户Graph的输出节点名。
  • DEVICE_ID:选填,指定设备ID,默认为0。
    • Atlas 200/300/500 推理产品,支持该配置参数。
    • Atlas 训练系列产品,支持该配置参数。
    • Atlas 推理系列产品(Ascend 310P处理器),支持该配置参数。
    • Atlas 200I/500 A2推理产品,支持该配置参数。
    • Atlas A2训练系列产品/Atlas 800I A2推理产品,支持该配置参数。
  • infer_aicore_num:选填,进行训练后量化校准推理时,使用的AI Core数目;不建议配置,如需配置,则只能配置为默认值。不同芯片版本该参数默认值不同,可从“${INSTALL_DIR}/x86_64-linux/data/platform_config/<soc_version>.ini"文件中查看,该文件中如下参数的取值即为aicore_num的默认取值:
    [SoCInfo]
    #aicore_num默认值,默认值即为最大值,实际模型转换时,xx请替换为具体取值
    ai_core_cnt=xx 

    其中,${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。例如,若安装的Ascend-cann-toolkit软件包,则安装后文件存储路径为:$HOME/Ascend/ascend-toolkit/latest。

  • IP_ADDR:指定NCS所在服务器的IP地址。
    • Atlas 200/300/500 推理产品,不支持配置该参数。
    • Atlas 训练系列产品,不支持该配置参数。
    • Atlas 推理系列产品(Ascend 310P处理器),不支持该配置参数。
    • Atlas 200I/500 A2推理产品Ascend RC场景支持该配置参数,且必填。
    • Atlas A2训练系列产品/Atlas 800I A2推理产品,不支持该配置参数。
  • PORT:指定NCS所在服务器端口。
    • Atlas 200/300/500 推理产品,不支持配置该参数。
    • Atlas 训练系列产品,不支持该配置参数。
    • Atlas 推理系列产品(Ascend 310P处理器),不支持该配置参数。
    • Atlas 200I/500 A2推理产品Ascend RC场景支持该配置参数,且必填。
    • Atlas A2训练系列产品/Atlas 800I A2推理产品,不支持该配置参数。
  • INSERT_OP_CONF:插入算子的配置文件路径与文件名,例如aipp预处理算子。

    配置文件路径和文件名:支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符;文件后缀不局限于.cfg格式,但是配置文件中的内容需要满足prototxt格式。

    配置文件的内容示例如下:

    aipp_op {
       aipp_mode:static
       input_format:YUV420SP_U8
       csc_switch:true
       var_reci_chn_0:0.00392157
       var_reci_chn_1:0.00392157
       var_reci_chn_2:0.00392157
    }
    说明:

    关于配置文件详细配置以及参数说明,请参见AIPP使能章节。

返回值

参数名

类型

描述

-

graphStatus

SUCCESS:图修改成功。

其他:修改失败

约束说明

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词