
aclgrphCalibration【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况产品是否支持Atlas A3 训练系列产品 / Atlas A3 推理系列产品√Atlas A2 训练系列产品 / Atlas A2 推理系列产品√头文件/库文件头文件#include amct/acl_graph_calibration.h库文件libamctacl.so功能说明将非量化Graph自动修改为量化后的Graph。函数原型graphStatus aclgrphCalibration(ge::Graph graph, const std::mapge::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 推理系列产品针对如下产品在安装昇腾AI处理器的服务器执行npu-smi info -t board -iid-cchip_id命令进行查询获取Chip Name和NPU Name信息实际配置值为Chip Name_NPU Name。例如Chip Name取值为AscendxxxNPU Name取值为1234实际配置值为Ascendxxx_1234。其中id设备id通过npu-smi info -l命令查出的NPU ID即为设备id。chip_id芯片id通过npu-smi info -m命令查出的Chip ID即为芯片id。Atlas A3 训练系列产品 / Atlas A3 推理系列产品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_DUMP1日志落盘到当前路径的“amct_log_{timestamp}/amct_acl.log”文件中不保存量化因子record文件和graph文件。export AMCT_LOG_DUMP2日志落盘到当前路径的“amct_log_{timestamp}/amct_acl.log”文件中同时在“amct_log_{timestamp}”目录下保存量化因子record文件。export AMCT_LOG_DUMP3日志落盘到当前路径的“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 A2 训练系列产品 / Atlas A2 推理系列产品支持该选项。Atlas A3 训练系列产品 / Atlas A3 推理系列产品支持该选项。infer_aicore_num选填进行训练后量化校准推理时使用的AI Core核数查询方法请参见aclgrphBuildInitialize支持的配置参数 AICORE_NUMIP_ADDR指定NCS所在服务器的IP地址。Atlas A2 训练系列产品 / Atlas A2 推理系列产品不支持该选项。Atlas A3 训练系列产品 / Atlas A3 推理系列产品不支持该选项。PORT指定NCS所在服务器端口。Atlas A2 训练系列产品 / Atlas A2 推理系列产品不支持该选项。Atlas A3 训练系列产品 / Atlas A3 推理系列产品不支持该选项。INSERT_OP_CONF插入算子的配置文件路径与文件名例如Aipp预处理算子。配置文件路径和文件名支持大小写字母a-zA-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 }关于配置文件详细配置以及参数说明请参见《ATC离线模型编译工具用户指南》。返回值说明参数名类型说明-graphStatusGRAPH_SUCCESS(0)成功。其他失败。约束说明对于已经被插入量化算子的Graph不支持进行量化。使用配置文件中的calibration训练后量化功能时只支持带NPU设备的安装场景详细介绍请参见《CANN 软件安装指南》手册搭建对应产品环境。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考