Shortcuts

is_model_wrapper

class mmengine.model.is_model_wrapper(model, registry=                           Registry of model_wrapper                             ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Names                             ┃ Objects                                  ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ DataParallel                      │ <class                                   │ │                                   │ 'torch.nn.parallel.data_parallel.DataPa… │ │ DistributedDataParallel           │ <class                                   │ │                                   │ 'torch.nn.parallel.distributed.Distribu… │ │ MMDeepSpeedEngineWrapper          │ <class                                   │ │                                   │ 'mmengine.model.wrappers._deepspeed.MMD… │ │ MMDistributedDataParallel         │ <class                                   │ │                                   │ 'mmengine.model.wrappers.distributed.MM… │ │ MMFullyShardedDataParallel        │ <class                                   │ │                                   │ 'mmengine.model.wrappers.fully_sharded_… │ │ MMSeparateDistributedDataParallel │ <class                                   │ │                                   │ 'mmengine.model.wrappers.seperate_distr… │ └───────────────────────────────────┴──────────────────────────────────────────┘)[源代码]

Check if a module is a model wrapper.

The following 4 model in MMEngine (and their subclasses) are regarded as model wrappers: DataParallel, DistributedDataParallel, MMDataParallel, MMDistributedDataParallel. You may add you own model wrapper by registering it to mmengine.registry.MODEL_WRAPPERS.

参数
  • model (nn.Module) – The model to be checked.

  • registry (Registry) – The parent registry to search for model wrappers.

返回

True if the input model is a model wrapper.

返回类型

bool