HMCT提供的模型转换功能,输入一个onnx模型,经过模型转换和量化输出量化后的模型。
输出一个量化后的onnx模型,可以用于量化模型精度评测,以及通过hbdk编译成部署模型。
参数名 | 类型 | 详细说明 | |
onnx_model | ModelProto | 必选,无默认值 | 输入的onnx模型。 |
march | str | 必选,无默认值 | 计算平台。 |
cali_data | Union[Sequence[np.ndarray], Dict[str, Sequence[np.ndarray]]] | 必选,无默认值 | 校准数据:
|
quant_config | Optional[Union[str, Dict[str, Any]]] | None | 指定量化配置参数,详细的量化参数配置说明参考 量化配置。
|
input_dict | Optional[Dict[str, Any]] | None | 根据指定的参数,修改转换后的模型输入。注意:调用者需要确保对模型的输入修改是合法的。
|
name_prefix | Optional[str] | None | 指定模型转换过程中生成物的保存路径。
|
verbose | Optional[bool] | True | verbose=True/False,指定模型转换过程中是否打印详细信息。 |
生成物名称 | 生成物说明 |
---|---|
original_float_model.onnx | 原始模型转换之后的输出,该阶段的转换包括:opset、ir version转换,input_shape修改操作。 |
optimized_float_model.onnx | 模型优化阶段的输出,该阶段的转换包括:常量折叠、算子融合、无用算子删除、算子替换、算子拆分。 |
calibrated_model.onnx | 模型校准阶段的输出,该阶段的量化包括:插入校准节点,统计数据分布,计算量化参数。 |
ptq_model.onnx | 模型量化阶段的输出,该阶段的量化包括:基于指定march的量化参数调整和转换。 |