From 531e6fbceaa123f8cacb5f64e3e37033cb28f165 Mon Sep 17 00:00:00 2001 From: xiao-shaoning Date: Tue, 2 Sep 2025 20:37:56 +0800 Subject: [PATCH] adapt to patcher changes. --- model_examples/BEVDet4D/BEVDet.patch | 22 ++++++---------------- model_examples/BEVNeXt/bevnext.patch | 8 ++++---- model_examples/Sparse4D/patch.py | 20 ++------------------ 3 files changed, 12 insertions(+), 38 deletions(-) diff --git a/model_examples/BEVDet4D/BEVDet.patch b/model_examples/BEVDet4D/BEVDet.patch index a15b0bf6..0f4e8165 100644 --- a/model_examples/BEVDet4D/BEVDet.patch +++ b/model_examples/BEVDet4D/BEVDet.patch @@ -399,7 +399,7 @@ index dea131b..6dafb49 100755 --node_rank=$NODE_RANK \ --master_addr=$MASTER_ADDR \ diff --git a/tools/dist_train.sh b/tools/dist_train.sh -index aa71bf4..49753e8 100755 +index aa71bf4..6059f0f 100755 --- a/tools/dist_train.sh +++ b/tools/dist_train.sh @@ -8,7 +8,8 @@ PORT=${PORT:-29500} @@ -407,7 +407,7 @@ index aa71bf4..49753e8 100755 PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ -python -m torch.distributed.launch \ -+# OMP_NUM_THREADS=16 MKL_NUM_THREADS=16 ++# OMP_NUM_THREADS=16 MKL_NUM_THREADS=16 +MKL_NUM_THREADS=1 python -m torch.distributed.run \ --nnodes=$NNODES \ --node_rank=$NODE_RANK \ @@ -457,19 +457,10 @@ index c669247..904623e 100644 device_ids=[torch.cuda.current_device()], broadcast_buffers=False) diff --git a/tools/train.py b/tools/train.py -index 72a1579..8be5ffb 100644 +index 72a1579..f548321 100644 --- a/tools/train.py +++ b/tools/train.py -@@ -12,6 +12,8 @@ import torch - import torch.distributed as dist - from mmcv import Config, DictAction - from mmcv.runner import get_dist_info, init_dist -+from mx_driving.patcher.patcher import PatcherBuilder, Patch -+from mx_driving.patcher.tensor import batch_matmul - - from mmdet import __version__ as mmdet_version - from mmdet3d import __version__ as mmdet3d_version -@@ -22,6 +24,10 @@ from mmdet3d.utils import collect_env, get_root_logger +@@ -22,6 +22,10 @@ from mmdet3d.utils import collect_env, get_root_logger from mmdet.apis import set_random_seed from mmseg import __version__ as mmseg_version @@ -480,7 +471,7 @@ index 72a1579..8be5ffb 100644 try: # If mmdet version > 2.20.0, setup_multi_processes would be imported and # used from mmdet instead of mmdet3d. -@@ -93,6 +99,7 @@ def parse_args(): +@@ -93,6 +97,7 @@ def parse_args(): choices=['none', 'pytorch', 'slurm', 'mpi'], default='none', help='job launcher') @@ -488,7 +479,7 @@ index 72a1579..8be5ffb 100644 parser.add_argument('--local_rank', type=int, default=0) parser.add_argument( '--autoscale-lr', -@@ -274,4 +281,10 @@ def main(): +@@ -274,4 +279,9 @@ def main(): if __name__ == '__main__': @@ -499,4 +490,3 @@ index 72a1579..8be5ffb 100644 + bevdet4d_patcher_builder = generate_patcher_builder() + with bevdet4d_patcher_builder.build(): + main() -+ diff --git a/model_examples/BEVNeXt/bevnext.patch b/model_examples/BEVNeXt/bevnext.patch index ead258c6..311a841f 100644 --- a/model_examples/BEVNeXt/bevnext.patch +++ b/model_examples/BEVNeXt/bevnext.patch @@ -330,8 +330,8 @@ index ad61e21..63275e0 100644 wrap_fp16_model) +import torch_npu +from torch_npu.contrib import transfer_to_npu -+from mx_driving.patcher.patcher import PatcherBuilder, Patch -+from mx_driving.patcher.tensor import batch_matmul ++from mx_driving.patcher import PatcherBuilder, Patch ++from mx_driving.patcher import batch_matmul import mmdet from mmdet3d.apis import single_gpu_test @@ -375,8 +375,8 @@ index ed9c2a6..c9343d5 100644 from mmcv.runner import get_dist_info, init_dist +import torch_npu +from torch_npu.contrib import transfer_to_npu -+from mx_driving.patcher.patcher import PatcherBuilder, Patch -+from mx_driving.patcher.tensor import batch_matmul ++from mx_driving.patcher import PatcherBuilder, Patch ++from mx_driving.patcher import batch_matmul from mmdet import __version__ as mmdet_version from mmdet3d import __version__ as mmdet3d_version diff --git a/model_examples/Sparse4D/patch.py b/model_examples/Sparse4D/patch.py index b61f8205..aa9f76a4 100644 --- a/model_examples/Sparse4D/patch.py +++ b/model_examples/Sparse4D/patch.py @@ -20,22 +20,6 @@ from mx_driving.patcher import resnet_add_relu, resnet_maxpool sys.path.append("..") -def run_ddp_forward(parallel: ModuleType, options: Dict): - def _run_ddp_forward(self, *inputs, **kwargs): - # change code - # MMDistributedDataParallel have no attribute _use_replicated_tensor_module - module_to_run = self.module - - if self.device_ids: - inputs, kwargs = self.to_kwargs( # type: ignore - inputs, kwargs, self.device_ids[0]) - return module_to_run(*inputs[0], **kwargs[0]) # type: ignore - else: - return module_to_run(*inputs, **kwargs) - - if hasattr(parallel, "MMDistributedDataParallel"): - parallel.MMDistributedDataParallel._run_ddp_forward = _run_ddp_forward - def models_blocks(models: ModuleType, options: Dict): from typing import List @@ -1117,8 +1101,8 @@ def generate_patcher_builder(): PatcherBuilder() .add_module_patch("torch", Patch(index), Patch(batch_matmul)) .add_module_patch("numpy", Patch(numpy_type)) - .add_module_patch("mmcv.parallel", Patch(ddp), Patch(stream), Patch(run_ddp_forward)) - .add_module_patch("mmdet.models.backbones.resnet", Patch(resnet_add_relu), Patch(resnet_maxpool)) + .add_module_patch("mmcv", Patch(ddp), Patch(stream)) + .add_module_patch("mmdet", Patch(resnet_add_relu), Patch(resnet_maxpool)) .add_module_patch("projects.mmdet3d_plugin.models.detection3d.detection3d_blocks", Patch(detection_blocks)) .add_module_patch("projects.mmdet3d_plugin.models.detection3d.losses", Patch(detection_losses)) .add_module_patch("projects.mmdet3d_plugin.models.blocks", Patch(models_blocks)) -- Gitee