文档
注册

推理结果与预期差异较大

问题描述

ONNX 1.9.0+ONNX Runtime 1.8.0 GPU版本+Python3.9.2配套关系下进行量化,发现量化后仿真模型的推理结果与预期差距较大。

查看量化后仿真模型的图结构,发现MatMul算子存在两个输入+AscendQuant输出的网络结构场景下,可能会导致AscendQuant算子输入获取的值不准确。

处理建议

在创建session推理代码前增加如下代码,使能Profiling功能,这样会在算子执行前后打点,算子调度间隔会变长,MatMul算子的输出和AscendQuant输入的读取会有间隔,从而可以规避上述问题。

1
2
3
4
5
6
import amct_onnx as amct
# 进行网络推理,期间完成量化
# 由于接口生成的校准模型中包含了AMCT新增的自定义算子,所以在执行校准集的推理时创建的onnxruntime的InferenceSession需要包含AMCT提供的SessionOptions
for i in batch_num:
   amct.AMCT_SO.enable_profiling=True
    onnxruntime.InferenceSession(onnx_model, amct.AMCT_SO).run(None, {'input':input_batch})
搜索结果
找到“0”个结果

当前产品无相关内容

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