Optimum 文件

量化

您正在檢視的是需要從原始碼安裝。如果您想進行常規的 pip 安裝,請檢視最新的穩定版本 (v1.27.0)。
Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

量化

ORTQuantizer

class optimum.onnxruntime.ORTQuantizer

< >

( onnx_model_path: Path config: typing.Optional[ForwardRef('PretrainedConfig')] = None )

處理 huggingface.co/models 上共享模型的 ONNX Runtime 量化過程。

compute_ranges

< >

( )

計算量化範圍。

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 )

引數

  • model_or_path (Union[ORTModel, str, Path]) — 可以是以下其中一種:
    • 已儲存的匯出 ONNX 中間表示 (IR) 模型的路徑,例如 `./my_model_directory/.
    • 或者一個 ORTModelForXX 類,例如 ORTModelForQuestionAnswering
  • file_name(Optional[str], 預設為 None) — 將預設模型檔名從 "model.onnx" 覆蓋為 file_name。這允許您從相同的儲存庫或目錄載入不同的模型檔案。

從 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 中定義的最佳化規範對模型進行量化。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.