快捷方式

FakeQuantize

class torch.ao.quantization.fake_quantize.FakeQuantize(observer=<class 'torch.ao.quantization.observer.MovingAverageMinMaxObserver'>, quant_min=None, quant_max=None, is_dynamic=False, **observer_kwargs)[原始碼][原始碼]

模擬訓練時的量化和反量化操作。

此模組的輸出由下式給出:

x_out = (
  clamp(round(x/scale + zero_point), quant_min, quant_max) - zero_point
) * scale
  • is_dynamic 表示偽量化是否為動態量化運算子 (choose_qparams -> q -> dq) 或靜態量化運算子 (q -> dq) 的佔位符。

  • scale 定義用於量化的縮放因子。

  • zero_point 指定量化值,浮點數中的 0 會對應到此值。

  • fake_quant_enabled 控制張量上偽量化的應用,請注意,統計資訊仍然可以更新。

  • observer_enabled 控制張量上的統計資訊收集。

  • dtype 指定使用偽量化模擬的量化 dtype,

    允許的值為 torch.qint8 和 torch.quint8。

參數
  • observer (module) – 用於觀察輸入張量的統計資訊並計算 scale 和 zero-point 的模組。

  • observer_kwargs (optional) – observer 模組的參數

變數

activation_post_process (Module) – 使用者提供的模組,用於收集輸入張量的統計資訊並提供計算 scale 和 zero-point 的方法。

文件

存取 PyTorch 的完整開發人員文件

檢視文件

教學

取得初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並獲得您的問題解答

檢視資源