快捷方式

BackendPatternConfig

class torch.ao.quantization.backend_config.BackendPatternConfig(pattern=None)[source][source]

配置物件,指定給定運算元模式的量化行為。有關詳細用法示例,請參見 BackendConfig

add_dtype_config(dtype_config)[source][source]

新增一組支援的資料型別,這些資料型別作為引數傳遞給參考模型規範中的量化操作。

返回型別

BackendPatternConfig

classmethod from_dict(backend_pattern_config_dict)[source][source]

從一個字典建立 BackendPatternConfig,字典包含以下項

“pattern”: 正在配置的模式 “observation_type”: 指定如何為該模式插入觀察者的 ObservationType “dtype_configs”: 表示 DTypeConfig 列表的字典列表 “root_module”: 表示該模式根部的 torch.nn.Module “qat_module”: 表示該模式 QAT 實現的 torch.nn.Module “reference_quantized_module”: 表示該模式根模組的參考量化實現的 torch.nn.Module “fused_module”: 表示該模式融合實現的 torch.nn.Module “fuser_method”: 指定如何融合該模式的函式 “pattern_complex_format”: 以反向巢狀元組格式指定的模式 (已棄用)

返回型別

BackendPatternConfig

set_dtype_configs(dtype_configs)[source][source]

設定作為引數傳遞給參考模型規範中量化操作的支援資料型別,覆蓋所有先前註冊的資料型別。

返回型別

BackendPatternConfig

set_fused_module(fused_module)[source][source]

設定表示該模式融合實現的模組。

返回型別

BackendPatternConfig

set_fuser_method(fuser_method)[source][source]

設定指定如何融合此 BackendPatternConfig 模式的函式。

該函式的第一個引數應為 is_qat,其餘引數應為元組模式中的項。該函式的返回值應為融合後的模組。

例如,模式 (torch.nn.Linear, torch.nn.ReLU) 的融合函式可以是

def fuse_linear_relu(is_qat, linear, relu)

return torch.ao.nn.intrinsic.LinearReLU(linear, relu)

有關更復雜的示例,請參見 https://gist.github.com/jerryzh168/8bea7180a8ba3c279f2c9b050f2a69a6

返回型別

BackendPatternConfig

set_observation_type(observation_type)[source][source]

設定如何將觀察者插入到此模式的圖中。

此處觀察型別指的是如何在圖中放置觀察者(或量化-反量化操作)。這用於生成後端理解的所需參考模式。加權操作(例如線性層和卷積層)對於輸入和輸出需要不同的觀察者(或傳遞給參考模型中量化操作的量化引數)。

有兩種觀察型別

OUTPUT_USE_DIFFERENT_OBSERVER_AS_INPUT (預設): 輸出觀察者例項將與輸入不同。這是最常見的觀察型別。

OUTPUT_SHARE_OBSERVER_WITH_INPUT: 輸出觀察者例項將與輸入相同。這對於像 cat 這樣的運算元很有用。

注意:這將在不久的將來重新命名,因為我們很快將插入帶有觀察者(和偽量化)的 QuantDeQuantStubs,而不是直接插入觀察者本身。

返回型別

BackendPatternConfig

set_pattern(pattern)[source][source]

設定要配置的模式。

模式可以是浮點模組、函式式運算元、PyTorch 運算元或以上各項的元組組合。元組模式被視為序列模式,目前僅支援由 2 或 3 個元素組成的元組。

返回型別

BackendPatternConfig

set_qat_module(qat_module)[source][source]

設定表示此模式 QAT 實現的模組。

返回型別

BackendPatternConfig

set_reference_quantized_module(reference_quantized_module)[source][source]

設定表示此模式根模組的參考量化實現的模組。

有關更多詳細資訊,請參見 set_root_module()

返回型別

BackendPatternConfig

set_root_module(root_module)[source][source]

設定表示此模式根部的模組。

在轉換階段構建參考量化模型時,根模組(例如 torch.nn.Linear 對應 torch.ao.nn.intrinsic.LinearReLU)將被替換為相應的參考量化模組(例如 torch.ao.nn.reference.quantized.Linear)。這允許自定義後端指定自定義參考量化模組實現,以匹配其底層運算元的數值。由於這是一對一對映,根模組和參考量化模組都必須在同一個 BackendPatternConfig 中指定,才能完成轉換。

返回型別

BackendPatternConfig

to_dict()[source][source]

將此 BackendPatternConfig 轉換為一個字典,字典包含 from_dict() 中描述的項。

返回型別

dict[str, Any]

文件

訪問 PyTorch 的全面開發者文件

檢視文件

教程

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

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源