快捷方式

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)[source][source]

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

此模組的輸出由下式給出

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 指定了使用偽量化模擬的量化資料型別,

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

引數
  • observer (模組) – 用於觀察輸入張量上的統計資訊並計算比例和零點值的模組。

  • observer_kwargs (可選) – 觀察者模組的引數

變數

activation_post_process (Module) – 使用者提供的模組,用於收集輸入張量上的統計資訊並提供計算比例和零點值的方法。

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得解答

檢視資源