---
title: aclgrphCalibration
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/atlasgeapi_07_0122.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi_07_0122.html
indexId: 4ff5d45cecacec886a94cca1723b904a83453fe4ddbe8644cc888076fce0125772
---
# aclgrphCalibration

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 头文件/库文件

- 头文件：#include <amct/acl_graph_calibration.h>
- 库文件：libamctacl.so


#### 功能说明

将非量化Graph自动修改为量化后的Graph。详细使用场景请参见量化(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/graphdevg/atlasag_25_0040.html)。


#### 函数原型

```
graphStatus aclgrphCalibration(ge::Graph &graph, const std::map<ge::AscendString, ge::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：必填，进行训练后量化校准推理时，所使用的芯片名称。 <soc\_version>查询方法为： 针对如下产品：在安装AI处理器的服务器执行npu\-smi info命令进行查询，获取Name信息。实际配置值为AscendName，例如Name取值为xxxyy，实际配置值为Ascendxxxyy。 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas 200I/500 A2 推理产品 Atlas 推理系列产品 Atlas 训练系列产品 针对 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，在安装AI处理器的服务器执行npu\-smi info \-t board \-i id \-c chip\_id命令进行查询，获取Chip Name和NPU Name信息，实际配置值为Chip Name\_NPU Name。例如Chip Name取值为Ascendxxx，NPU Name取值为1234，实际配置值为Ascendxxx\_1234。其中： id：设备id，通过npu\-smi info \-l命令查出的NPU ID即为设备id。 chip\_id：芯片id，通过npu\-smi info \-m命令查出的Chip ID即为芯片id。 针对Atlas 350 加速卡，在安装AI处理器的服务器执行npu\-smi info \-t board \-i id命令进行查询，获取Chip Name和NPU Name信息，实际配置值为Chip Name\_NPU Name。例如Chip Name取值为Ascendxxx，NPU Name取值为1234，实际配置值为Ascendxxx\_1234。 其中，id为设备id，通过npu\-smi info \-l命令查出的NPU ID即为设备id。 INPUT\_FORMAT：选填，输入数据的排布格式，支持"NCHW"、"NHWC"、"ND"。 INPUT\_FP16\_NODES：选填，指定输入数据类型为FP16的输入节点名称。 CONFIG\_FILE：选填，用于配置高级选项的配置文件路径。配置文件的示例请参考量化简易配置文件(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/graphdevg/atlasag\_25\_0045.html)。 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：日志落盘到当前路径的“amct\_log\_{timestamp}/amct\_acl.log”文件中，不保存量化因子record文件和graph文件。 export AMCT\_LOG\_DUMP=2：日志落盘到当前路径的“amct\_log\_{timestamp}/amct\_acl.log”文件中，同时在“amct\_log\_{timestamp}”目录下保存量化因子record文件。 export AMCT\_LOG\_DUMP=3：日志落盘到当前路径的“amct\_log\_{timestamp}/amct\_acl.log”文件中，同时在“amct\_log\_{timestamp}”目录下保存量化因子record文件和包含量化过程中各阶段图描述信息的graph文件。 为防止日志文件、record文件、graph文件持续落盘导致磁盘被写满，请及时清理这些文件。 如果用户配置了ASCEND\_WORK\_PATH环境变量，则上述日志、量化因子record文件和graph文件存储到该环境变量指定的路径下，例如ASCEND\_WORK\_PATH=/home/test，则存储路径为：/home/test/amct\_acl/amct\_log\_{pid}\_时间戳。其中，amct\_acl模型转换过程中会自动创建，{pid}为进程号。 说明： 上述日志文件、record文件、graph文件重新执行量化时会被覆盖，请用户自行进行保存。此外，由于生成的日志文件大小和所要量化模型层数有关，请用户确保服务器有足够空间： 以量化resnet101模型为例，日志级别设置为INFO，日志文件大小为12KB左右，中间临时文件大小为260MB左右；日志级别设置为DEBUG，日志文件大小为390KB左右，中间临时文件大小为430MB左右。 OUT\_NODES：选填，用户Graph的输出节点名。 DEVICE\_ID：选填，指定设备ID，默认为0。 Atlas 350 加速卡，支持该选项。 Atlas 训练系列产品 ，支持该选项。 Atlas 推理系列产品 ，支持该选项。 Atlas 200I/500 A2 推理产品 ，支持该选项。 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，支持该选项。 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，支持该选项。 infer\_aicore\_num：选填，进行训练后量化校准推理时，使用的AI Core核数，查询方法请参见aclgrphBuildInitialize支持的配置参数 > AICORE\_NUM IP\_ADDR：指定NCS所在服务器的IP地址。 Atlas 350 加速卡，不支持该选项。 Atlas 训练系列产品 ，不支持该选项。 Atlas 推理系列产品 ，不支持该选项。 Atlas 200I/500 A2 推理产品 ， Ascend RC 场景支持该选项，且必填。 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，不支持该选项。 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，不支持该选项。 PORT：指定NCS所在服务器端口。 Atlas 350 加速卡，不支持该选项。 Atlas 训练系列产品 ，不支持该选项。 Atlas 推理系列产品 ，不支持该选项。 Atlas 200I/500 A2 推理产品 ， Ascend RC 场景支持该选项，且必填。 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，不支持该选项。 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，不支持该选项。 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使能(https://www.hiascend.comdocument/detail/zh/canncommercial/900/devaids/atctool/atlasatc\_16\_0015.html)章节。 |


#### 返回值说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| \- | graphStatus | GRAPH\_SUCCESS(0)：成功。 其他值：失败，详情请参见"ge::graphStatus(https://www.hiascend.comdocument/detail/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi\_07\_00513.html)"。 |


#### 约束说明

- 对于已经被插入量化算子的Graph不支持进行量化。
- 支持量化的层及约束请参考  支持量化的层及约束(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/graphdevg/atlasag_25_0044.html)
。
- 使用配置文件中的calibration训练后量化功能时，只支持带NPU设备的安装场景，详细介绍请参见《CANN 软件安装(https://www.hiascend.com/document/detail/zh/canncommercial/900/softwareinst/instg/instg_0000.html)》手册搭建对应产品环境。
- Atlas 200I/500 A2 推理产品Ascend RC场景，还需要在运行环境上安装NCS软件，并配置密钥证书，请参见《AOE调优工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/aoe/auxiliarydevtool_aoe_0001.html)》>AOE工具（Ascend RC）>环境准备。
