fuse_modules
-
class torch.ao.quantization.fuse_modules.fuse_modules(model, modules_to_fuse, inplace=False, fuser_func=<function fuse_known_modules>, fuse_custom_config_dict=None)[исходный код] -
Объединяет список модулей в один модуль.
Объединяются только следующие последовательности модулей: conv, bn conv, bn, relu conv, relu linear, relu bn, relu. Все остальные последовательности остаются без изменений. Для этих последовательностей первый элемент списка заменяется объединённым модулем, а остальные модули заменяются на identity.
- Параметры:
-
- model – модель, содержащая модули для объединения
- modules_to_fuse – список списков имён модулей для объединения. Также может быть списком строк, если объединить нужно только один список модулей.
- inplace – логическое значение, указывающее, выполняется ли объединение непосредственно в модели; по умолчанию возвращается новая модель
- fuser_func – функция, принимающая список модулей и возвращающая список объединённых модулей той же длины. Например, fuser_func([convModule, BNModule]) возвращает список [ConvBNModule, nn.Identity()]. По умолчанию используется torch.ao.quantization.fuse_known_modules
- fuse_custom_config_dict – пользовательская конфигурация для объединения
# Example of fuse_custom_config_dict fuse_custom_config_dict = { # Additional fuser_method mapping "additional_fuser_method_mapping": { (torch.nn.Conv2d, torch.nn.BatchNorm2d): fuse_conv_bn }, }- Возвращает:
-
модель с объединёнными модулями. Если inplace=True, создаётся новая копия.
Примеры:
>>> m = M().eval() >>> # m is a module containing the sub-modules below >>> modules_to_fuse = [ ['conv1', 'bn1', 'relu1'], ['submodule.conv', 'submodule.relu']] >>> fused_m = torch.ao.quantization.fuse_modules(m, modules_to_fuse) >>> output = fused_m(input) >>> m = M().eval() >>> # Alternately provide a single list of modules to fuse >>> modules_to_fuse = ['conv1', 'bn1', 'relu1'] >>> fused_m = torch.ao.quantization.fuse_modules(m, modules_to_fuse) >>> output = fused_m(input)
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.ao.quantization.fuse_modules.fuse_modules.html