自动量化
功能介绍
通过aclgrphCalibration接口对非量化的Graph进行自动量化。
调用示例
- 添加头文件。
#include "amct/acl_graph_calibration.h" #include "amct/acl_calibration_configs.h" #include "amct/amct_error_code.h"
- 通过解析或手动构造方式创建Graph对象。
#include "parser/caffe_parser.h" ge::Graph graph("origin"); std::map<ge::AscendString, ge::AscendString> parseOptions; auto ret = ge::aclgrphParseCaffe("./path/to/resnet50.prototxt", "./path/to/resnet50.caffemodel", parseOptions, graph);
- 定义aclgrphCalibration接口所需配置参数。
std::map<ge::AscendString, ge::AscendString> quantizeConfigs = {}; quantizeConfigs[ge::AscendString(amct::aclCaliConfigs::INPUT_DATA_DIR)] = ge::AscendString("./path/to/cali_data.bin"); quantizeConfigs[ge::AscendString(amct::aclCaliConfigs::INPUT_SHAPE)] = ge::AscendString("input:16,224,224,3"); quantizeConfigs[ge::AscendString(amct::aclCaliConfigs::SOC_VERSION)] = ge::AscendString("Ascend310P3");
- 调用接口执行量化改图。
ret = ge::aclgrphCalibration(graph, quantizeConfigs); if (ret != ge::GRAPH_SUCCESS) { return FAILED; } return SUCCESS;
父主题: 量化