quantize_dynamic¶
- class torch.ao.quantization.quantize_dynamic(model, qconfig_spec=None, dtype=torch.qint8, mapping=None, inplace=False)[source][source]¶
將浮點模型轉換為動態(即僅權重)量化模型。
用動態(僅權重)量化版本替換指定的模組並輸出量化模型。
最簡單的用法是提供 dtype 引數,可以是 float16 或 qint8。預設情況下,僅權重量化對權重較大的層執行,例如 Linear 和 RNN 變體。
可以使用 qconfig 和 mapping 進行細粒度控制,它們的作用與 quantize() 類似。如果提供了 qconfig,則 dtype 引數將被忽略。
- 引數
model – 輸入模型
qconfig_spec –
以下兩者之一:
一個字典,將子模組的名稱或型別對映到量化配置,qconfig 應用於給定模組的所有子模組,除非子模組已指定 qconfig(當子模組已有 qconfig 屬性時)。字典中的條目需要是 QConfig 例項。
要應用動態量化的型別和/或子模組名稱集合,在這種情況下使用 dtype 引數來指定位寬
inplace – 就地執行模型轉換,原始模組將被修改
mapping – 將子模組型別對映到需要替換子模組的對應動態量化版本的型別