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