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指示 fake quantie 是動態量化運算元 (choose_qparams -> q -> dq) 還是靜態量化運算元 (q -> dq) 的佔位符scale定義了用於量化的比例因子。zero_point指定了浮點數中的 0 對映到的量化值fake_quant_enabled控制對張量的偽量化應用,請注意統計資訊仍可被更新。observer_enabled控制張量的統計資訊收集dtype指定了使用偽量化進行模擬的量化資料型別,允許的值為 torch.qint8 和 torch.quint8。
- 引數
observer (module) – 用於觀察輸入張量上的統計資訊並計算比例因子和零點的模組。
observer_kwargs (optional) – observer 模組的引數
- 變數
activation_post_process (Module) – 使用者提供的模組,用於收集輸入張量上的統計資訊並提供計算比例因子和零點的方法。