評價此頁

quantize_dynamic#

class torch.ao.quantization.quantize_dynamic(model, qconfig_spec=None, dtype=torch.qint8, mapping=None, inplace=False)[原始碼]#

將浮點模型轉換為動態(即僅權重)量化模型。

用動態權重僅量化版本替換指定的模組,並輸出量化模型。

最簡單的用法是提供 dtype 引數,可以是 float16 或 qint8。預設情況下,對具有大權重尺寸的層(即 Linear 和 RNN 變體)執行權重僅量化。

可以透過 qconfigmapping 實現細粒度控制,其作用與 quantize() 類似。如果提供了 qconfig,則會忽略 dtype 引數。

引數
  • model – 輸入模型

  • qconfig_spec

    Either

    • 一個字典,從子模組的名稱或型別對映到量化配置,qconfig 應用於給定模組的所有子模組,除非為子模組指定了 qconfig(當子模組已具有 qconfig 屬性時)。字典中的條目需要是 QConfig 例項。

    • 一組型別和/或子模組名稱,用於應用動態量化,在這種情況下,dtype 引數用於指定位寬。

  • inplace – 就地執行模型轉換,原始模組將被修改

  • mapping – 將子模組的型別對映到對應的動態量化版本型別,子模組需要被替換成該型別。