以 torch 脚本格式推断量化模型
您可在 PyTorch 框架下以 TorchScript 格式(PT 文件)运行量化模型。执行推断之前,请先导入 pytorch_nndct 模块,因为它会为该模型设置量化运算符。代码示例如下所示:
import pytorch_nndct
# prepare input data
input = ......
quantized_model = torch.jit.load(quantized_model_path)
# feed input data to quantized model and make inference
output = quantized_model(input)
以 ONNX 脚本格式推断量化模型
您可通过 ONNX Runtime API 以 ONNX 格式运行量化模型。对于含原生 Quantize 运算符和 DeQuantize 运算符的 ONNX 模型,您可使用 ONNX Runtime 来运行模型。代码示例如下所示:
import onnxruntime as ort
# prepare input data
input_data = ......
ort_sess = ort.InferenceSession(quantized_model_path)
input_name = ort_sess.get_inputs()[0].name
ort_output = ort_sess.run(None, {input_name: input_data})
您必须设置自定义运算符,然后为带有 VAI Quantize 和 DeQuantize 运算符的 ONNX 模型使用 onnxruntime_extensions 来运行模型。此设置可通过从 pytorch_nndct 导入的 load_vai_ops() 函数来完成。代码示例如下所示:
from onnxruntime_extensions import PyOrtFunction
from pytorch_nndct.apis import load_vai_ops
## Before running the ONNX model, custom ops must be set.
load_vai_ops()
# prepare input data
input = ......
# run using onnxruntime_extensions API
run_ort = PyOrtFunction.from_model(quantized_model_path)
ort_outputs = run_ort(input)
以 XIR 格式推断量化模型
目前尚无任何工具可运行 XIR 格式的量化模型。