量化
ORTQuantizer
类 optimum.onnxruntime.ORTQuantizer
< 源代码 >( onnx_model_path: Path config: typing.Optional[ForwardRef('PretrainedConfig')] = None )
处理 huggingface.co/models 上共享的模型的 ONNX Runtime 量化过程。
计算量化范围。
拟合
< 源代码 >( dataset: Dataset calibration_config: CalibrationConfig onnx_augmented_model_name: typing.Union[str, pathlib.Path] = 'augmented_model.onnx' operators_to_quantize: typing.Optional[typing.List[str]] = None batch_size: int = 1 use_external_data_format: bool = False use_gpu: bool = False force_symmetric_range: bool = False )
参数
- dataset (
Dataset
) — 执行校准步骤时要使用的数据集。 - 校准配置 (
~CalibrationConfig
) — 包含与校准步骤相关的参数的配置。 - 增强ONNX模型名称 (
Union[str, Path]
, 默认为"augmented_model.onnx"
) — 用于保存用于收集量化范围的增强模型的路径。 - 要量化的算子 (
Optional[List[str]]
, 默认为None
) — 要量化的算子类型的列表。 - 批大小 (
int
, 默认为 1) — 收集量化范围值时使用的批大小。 - 使用外部数据格式 (
bool
, 默认为False
) — 是否使用外部数据格式存储大小>= 2Gb的模型。 - 使用GPU (
bool
, 默认为False
) — 是否在收集量化范围值时使用GPU。 - 强制对称范围 (
bool
, 默认为False
) — 是否使量化范围对称。
执行校准步骤并计算量化范围。
从预训练加载
< 源代码 >( 模型或路径: typing.Union[ForwardRef('ORTModel'), str, pathlib.Path] 文件名: typing.Optional[str] = None )
从 ONNX 模型文件或 ORTModel
实例化一个 ORTQuantizer
。
量化
< 源代码 > ( 量化配置: QuantizationConfig 保存目录: typing.Union[str, pathlib.Path] 文件后缀: typing.Optional[str] = 'quantized' 校准张量范围: typing.Union[typing.Dict[str, typing.Tuple[float, float]], NoneType] = None 使用外部数据格式: bool = False 预处理器: typing.Optional[optimum.onnxruntime.preprocessors.quantization.QuantizationPreprocessor] = None )
参数
- 量化配置 (
QuantizationConfig
) — 包含与量化相关的参数的配置。 - save_dir (
Union[str, Path]
) — 量化后的模型保存目录。 - file_suffix (
Optional[str]
, defaults to"quantized"
) — 保存量化模型时使用的文件后缀。 - calibration_tensors_range (
Optional[Dict[str, Tuple[float, float]]]
, defaults toNone
) — 用于静态量化的节点名称与其量化范围的映射字典。 - use_external_data_format (
bool
, defaults toFalse
) — 是否使用外部数据格式存储大小 >= 2Gb 的模型。 - preprocessor (
Optional[QuantizationPreprocessor]
, defaults toNone
) — 用于收集要包含或排除在量化范围内的节点的预处理器。
根据 quantization_config
中定义的优化规范量化模型。