Optimum 文件
量化
並獲得增強的文件體驗
開始使用
量化
ORTQuantizer
class optimum.onnxruntime.ORTQuantizer
< 來源 >( onnx_model_path: Path config: typing.Optional[ForwardRef('PretrainedConfig')] = None )
處理 huggingface.co/models 上共享模型的 ONNX Runtime 量化過程。
計算量化範圍。
fit
< 來源 >( 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
) — 用於執行校準步驟的資料集。 - calibration_config (
~CalibrationConfig
) — 包含與校準步驟相關的引數的配置。 - onnx_augmented_model_name (
Union[str, Path]
, 預設為"augmented_model.onnx"
) — 用於儲存用於收集量化範圍的增強模型的路徑。 - operators_to_quantize (
Optional[List[str]]
, 預設為None
) — 要量化的運算子型別列表。 - batch_size (
int
, 預設為 1) — 收集量化範圍值時使用的批大小。 - use_external_data_format (
bool
, 預設為False
) — 是否使用外部資料格式來儲存大小大於等於 2GB 的模型。 - use_gpu (
bool
, 預設為False
) — 收集量化範圍值時是否使用 GPU。 - force_symmetric_range (
bool
, 預設為False
) — 是否使量化範圍對稱。
執行校準步驟並計算量化範圍。
from_pretrained
< 來源 >( model_or_path: typing.Union[ForwardRef('ORTModel'), str, pathlib.Path] file_name: typing.Optional[str] = None )
從 ONNX 模型檔案或 ORTModel
例項化 ORTQuantizer
。
get_calibration_dataset
< 來源 >( dataset_name: str num_samples: int = 100 dataset_config_name: typing.Optional[str] = None dataset_split: typing.Optional[str] = None preprocess_function: typing.Optional[typing.Callable] = None preprocess_batch: bool = True seed: int = 2016 use_auth_token: typing.Union[str, bool, NoneType] = None token: typing.Union[str, bool, NoneType] = None )
引數
- dataset_name (
str
) — Hugging Face Hub 上的資料集倉庫名稱,或包含用於校準步驟的資料檔案的本地目錄路徑。 - num_samples (
int
, 預設為 100) — 構成校準資料集的最大樣本數量。 - dataset_config_name (
Optional[str]
, 預設為None
) — 資料集配置的名稱。 - dataset_split (
Optional[str]
, 預設為None
) — 用於執行校準步驟的資料集拆分。 - preprocess_function (
Optional[Callable]
, 預設為None
) — 載入資料集後應用於每個示例的預處理函式。 - preprocess_batch (
bool
, 預設為True
) —preprocess_function
是否應該分批處理。 - seed (
int
, 預設為 2016) — 洗牌校準資料集時使用的隨機種子。 - use_auth_token (
Optional[Union[bool,str]]
, 預設為None
) — 已棄用。請改用token
引數。 - token (
Optional[Union[bool,str]]
, 預設為None
) — 用作遠端檔案 HTTP 持有者授權的令牌。如果為True
,將使用執行huggingface-cli login
時生成的令牌(儲存在huggingface_hub.constants.HF_TOKEN_PATH
中)。
建立用於訓練後靜態量化校準步驟的校準 datasets.Dataset
。
partial_fit
< 來源 >( 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
) — 用於執行校準步驟的資料集。 - calibration_config (
CalibrationConfig
) — 包含與校準步驟相關的引數的配置。 - onnx_augmented_model_name (
Union[str, Path]
, 預設為"augmented_model.onnx"
) — 用於儲存用於收集量化範圍的增強模型的路徑。 - operators_to_quantize (
Optional[List[str]]
, 預設為None
) — 要量化的運算子型別列表。 - batch_size (
int
, 預設為 1) — 收集量化範圍值時使用的批大小。 - use_external_data_format (
bool
, 預設為False
) — 是否使用外部資料格式來儲存大小大於等於 2GB 的模型。 - use_gpu (
bool
, 預設為False
) — 收集量化範圍值時是否使用 GPU。 - force_symmetric_range (
bool
, 預設為False
) — 是否使量化範圍對稱。
執行校準步驟並收集量化範圍,但不計算它們。
量化
< 來源 >( quantization_config: QuantizationConfig save_dir: typing.Union[str, pathlib.Path] file_suffix: typing.Optional[str] = 'quantized' calibration_tensors_range: typing.Optional[typing.Dict[str, typing.Tuple[float, float]]] = None use_external_data_format: bool = False preprocessor: typing.Optional[optimum.onnxruntime.preprocessors.quantization.QuantizationPreprocessor] = None )
引數
- quantization_config (
QuantizationConfig
) — 包含與量化相關的引數的配置。 - save_dir (
Union[str, Path]
) — 量化模型應儲存的目錄。 - file_suffix (
Optional[str]
, 預設為"quantized"
) — 用於儲存量化模型的檔案字尾。 - calibration_tensors_range (
Optional[Dict[str, Tuple[float, float]]]
, 預設為None
) — 將節點名稱對映到其量化範圍的字典,僅在應用靜態量化時使用和必需。 - use_external_data_format (
bool
, 預設為False
) — 是否使用外部資料格式來儲存大小大於等於 2GB 的模型。 - preprocessor (
Optional[QuantizationPreprocessor]
, 預設為None
) — 用於收集要包含或排除在量化之外的節點的預處理器。
根據 quantization_config
中定義的最佳化規範對模型進行量化。