Skip to content

MMDetection V2.25.0 Release

Compare
Choose a tag to compare
@ZwwWayne ZwwWayne released this 01 Jun 14:16
· 107 commits to master since this release
ca11860

Highlights

Backwards incompatible changes

  • Rename config files of Mask2Former (#7571)

    before v2.25.0 after v2.25.0
    • mask2former_xxx_coco.py represents config files for panoptic segmentation.
    • mask2former_xxx_coco.py represents config files for instance segmentation.
    • mask2former_xxx_coco-panoptic.py represents config files for panoptic segmentation.

New Features

Bug Fixes

  • Enable YOLOX training on different devices (#7912)
  • Fix the log plot error when evaluation with interval != 1 (#7784)
  • Fix RuntimeError of HTC (#8083)

Improvements

  • Support dedicated WandbLogger hook (#7459)

    Users can set

    cfg.log_config.hooks = [
      dict(type='MMDetWandbHook',
           init_kwargs={'project': 'MMDetection-tutorial'},
           interval=10,
           log_checkpoint=True,
           log_checkpoint_metadata=True,
           num_eval_images=10)]

    in the config to use MMDetWandbHook. Example can be found in this colab tutorial

  • Add AvoidOOM to avoid OOM (#7434, #8091)

    Try to use AvoidCUDAOOM to avoid GPU out of memory. It will first retry after calling torch.cuda.empty_cache(). If it still fails, it will then retry by converting the type of inputs to FP16 format. If it still fails, it will try to copy inputs from GPUs to CPUs to continue computing. Try AvoidOOM in code to make the code continue to run when GPU memory runs out:

    from mmdet.utils import AvoidCUDAOOM
    
    output = AvoidCUDAOOM.retry_if_cuda_oom(some_function)(input1, input2)

    Users can also try AvoidCUDAOOM as a decorator to make the code continue to run when GPU memory runs out:

    from mmdet.utils import AvoidCUDAOOM
    
    @AvoidCUDAOOM.retry_if_cuda_oom
    def function(*args, **kwargs):
        ...
        return xxx
  • Support reading gpu_collect from cfg.evaluation.gpu_collect (#7672)

  • Speedup the Video Inference by Accelerating data-loading Stage (#7832)

  • Support replacing the ${key} with the value of cfg.key (#7492)

  • Accelerate result analysis in analyze_result.py. The evaluation time is speedup by 10 ~ 15 times and only tasks 10 ~ 15 minutes now. (#7891)

  • Support to set block_dilations in DilatedEncoder (#7812)

  • Support panoptic segmentation result analysis (#7922)

  • Release DyHead with Swin-Large backbone (#7733)

  • Documentations updating and adding

Contributors

A total of 20 developers contributed to this release.

Thanks @ZwwWayne, @DarthThomas, @solyaH, @LutingWang, @chenxinfeng4, @Czm369, @Chenastron, @chhluo, @austinmw, @Shanyaliux @hellock, @Y-M-Y, @jbwang1997, @hhaAndroid, @Irvingao, @zhanggefan, @BIGWangYuDong, @Keiku, @PeterVennerstrom, @ayulockin

New Contributors

Full Changelog: v2.24.1...v2.25.0