評價此頁

QConfigMapping#

class torch.ao.quantization.qconfig_mapping.QConfigMapping[source]#

將模型運算元對映到 torch.ao.quantization.QConfig

使用者可以透過以下方法指定 QConfigs(優先順序從低到高):

set_global :設定全域性(預設)QConfig

set_object_type :為給定的模組型別、函式或方法名稱設定 QConfig

set_module_name_regex :為匹配給定正則表示式的模組設定 QConfig

set_module_name :為匹配給定模組名稱的模組設定 QConfig

set_module_name_object_type_order :為匹配給定模組名稱、物件型別以及模組出現順序的組合的模組設定 QConfig

使用示例

qconfig_mapping = QConfigMapping()
    .set_global(global_qconfig)
    .set_object_type(torch.nn.Linear, qconfig1)
    .set_object_type(torch.nn.ReLU, qconfig1)
    .set_module_name_regex("foo.*bar.*conv[0-9]+", qconfig1)
    .set_module_name_regex("foo.*", qconfig2)
    .set_module_name("module1", qconfig1)
    .set_module_name("module2", qconfig2)
    .set_module_name_object_type_order("foo.bar", torch.nn.functional.linear, 0, qconfig3)
classmethod from_dict(qconfig_dict)[source]#

從具有以下鍵(全部可選)的字典建立 QConfigMapping

“” (用於全域性 QConfig)

“object_type”

“module_name_regex”

“module_name”

“module_name_object_type_order”

此字典的值預計為元組列表。

返回型別

QConfigMapping

set_global(global_qconfig)[source]#

設定全域性(預設)QConfig。

返回型別

QConfigMapping

set_module_name(module_name, qconfig)[source]#

為匹配給定模組名稱的模組設定 QConfig。如果已為現有模組名稱設定 QConfig,則新的 QConfig 將覆蓋舊的。

返回型別

QConfigMapping

set_module_name_object_type_order(module_name, object_type, index, qconfig)[source]#

為匹配給定模組名稱、物件型別以及模組出現順序的組合的模組設定 QConfig。

如果已為現有的(模組名稱、物件型別、索引)設定 QConfig,則新的 QConfig 將覆蓋舊的。

返回型別

QConfigMapping

set_module_name_regex(module_name_regex, qconfig)[source]#

為匹配給定正則表示式的模組設定 QConfig。

正則表示式將按照透過此方法註冊的順序進行匹配。因此,呼叫者應先註冊更具體的模式,例如:

qconfig_mapping = QConfigMapping()
    .set_module_name_regex("foo.*bar.*conv[0-9]+", qconfig1)
    .set_module_name_regex("foo.*bar.*", qconfig2)
    .set_module_name_regex("foo.*", qconfig3)

在此示例中,“foo.bar.conv0”將匹配 qconfig1,“foo.bar.linear”將匹配 qconfig2,“foo.baz.relu”將匹配 qconfig3。

如果已為現有的模組名稱正則表示式設定 QConfig,則新的 QConfig 將覆蓋舊的,同時保留正則表示式最初註冊的順序。

返回型別

QConfigMapping

set_object_type(object_type, qconfig)[source]#

為給定的模組型別、函式或方法名稱設定 QConfig。如果已為現有的物件型別設定 QConfig,則新的 QConfig 將覆蓋舊的。

返回型別

QConfigMapping

to_dict()[source]#

將此 QConfigMapping 轉換為具有以下鍵的字典:

“” (用於全域性 QConfig)

“object_type”

“module_name_regex”

“module_name”

“module_name_object_type_order”

此字典的值為元組列表。

返回型別

dict[str, Any]