Changelog of v0.x

v0.7.4 (06/03/2023)


  • Support using ClearML to record experiment data

  • Add Sophia optimizers

New Features & Enhancements

  • Add visualize backend for clearml by @gachiemchiep in

  • Support Sophia optimizers by @zhouzaida in

  • Refactor unittest syncbuffer by @HAOCHENYE in

  • Allow ann_file, data_root is None for BaseDataset by @HAOCHENYE in

  • Enable full precision training on Ascend NPU by @Ginray in

  • Creating a text classification example by @TankNee in

  • Add option to log selected config only by @KickCellarDoor in

  • Add an option to control whether to show progress bar in BaseInference by @W-ZN in

  • Support dipu device by @CokeDong in

  • Let unit tests not affect each other by @zhouzaida in

  • Add support for full wandb’s define_metric arguments by @i-aki-y in

Bug fixes

  • Fix the incorrect device of inputs in get_model_complexity_info by @CescMessi in

  • Correctly saves _metadata of state_dict when saving checkpoints by @Bomsw in

  • Correctly record random seed in log by @Shiyang980713 in

  • Close MLflowVisBackend only if active by @zimonitrome in

  • Fix ProfileHook cannot profile ddp-training by @HAOCHENYE in

  • Handle the case for Multi-Instance GPUs when using cuda_visible_devices by @adrianjoshua-strutt in

  • Fix attribute error when parsing CUDA_VISIBLE_DEVICES in logger @Xiangxu-0103 in


  • Translate by @Hongru-Xiao in

  • Fix a missing comma in tutorials/ by @gy-7 in

  • Fix typo in comment by @YQisme in

  • Translate by @xin-li-67 in

  • Add the usage of clearml by @zhouzaida in


A total of 19 developers contributed to this release. Thanks @Hongru-Xiao @i-aki-y @Bomsw @KickCellarDoor @zhouzaida @YQisme @gachiemchiep @CescMessi @W-ZN @Ginray @adrianjoshua-strutt @CokeDong @xin-li-67 @Xiangxu-0103 @HAOCHENYE @Shiyang980713 @TankNee @zimonitrome @gy-7

v0.7.3 (04/28/2023)


  • Support using MLflow to record experiment data

  • Support registering callable objects to the registry

New Features & Enhancements

  • Add MLflowVisBackend by @sh0622-kim in

  • Support customizing worker_init_fn in dataloader config by @shufanwu in

  • Make the parameters of get_model_complexity_info() friendly by @sjiang95 in

  • Add torch_npu optimizer by @luomaoling in

  • Support registering callable objects @C1rN09 in

  • Complement type hint of get_model_complexity_info() by @sjiang95 in

  • MessageHub.get_info() supports returning a default value by @enkilee in

  • Refactor logger hook unit test by @HAOCHENYE in

  • Support BoolTensor and LongTensor on Ascend NPU by @Ginray in

  • Remove useless variable declaration by @HAOCHENYE in

  • Enhance the support for MLU device by @josh6688 in

  • Support configuring synchronization directory for BaseMetric by @HAOCHENYE in

  • Support accepting multiple input_shape for get_model_complexity_info by @sjiang95 in

  • Enhance docstring and error catching in MessageHub by @HAOCHENYE in

  • Enhance the efficiency of by @HAOCHENYE in

  • Update repo list by @HAOCHENYE in

  • Enhance error message during custom import by @HAOCHENYE in

  • Support _load_state_dict_post_hooks in load_state_dict by @mzr1996 in

Bug fixes

  • Fix publishing multiple checkpoints when using multiple GPUs by @JunweiZheng93 in

  • Fix error when log_with_hierarchy is True by @HAOCHENYE in

  • Call SyncBufferHook before validation in IterBasedTrainLoop by @Luo-Yihang in

  • Fix the resuming error caused by HistoryBuffer by @HAOCHENYE in

  • Failed to remove the previous best checkpoints by @HAOCHENYE in

  • Fix using incorrect local rank by @C1rN09 in

  • No training log when the num of iterations is smaller than the default interval by @shufanwu in

  • collate_fn could not be a function object by @zhouzaida in

  • Fix optimizer.state could be saved in cuda:0 by @HAOCHENYE in

  • Fix building unnecessary loop during train/test/val by @HAOCHENYE in


  • Introduce the use of wandb and tensorboard by @zhouzaida in

  • Translate tutorials/ by @LEFTeyex in

  • Translate design/ by @zccjjj in

  • Fix three typos in runner by @jsrdcht in

  • Translate migration/ to English by @SheffieldCao in

  • Replace MMCls with MMPretrain in docs by @zhouzaida in


A total of 17 developers contributed to this release. Thanks @enkilee, @JunweiZheng93, @sh0622-kim, @jsrdcht, @SheffieldCao, @josh6688, @mzr1996, @zhouzaida, @shufanwu, @Luo-Yihang, @C1rN09, @LEFTeyex, @zccjjj, @Ginray, @HAOCHENYE, @sjiang95, @luomaoling

v0.7.2 (04/06/2023)

Bug fixes

  • Align the evaluation result in log by @kitecats in

  • Update the logic to calculate the repeat_factors in ClassBalancedDataset by @BIGWangYuDong in

  • Initialize sub-modules in DistributedDataParallel that define init_weights during initialization by @HAOCHENYE in

  • Refactor checkpointhook unittest by @HAOCHENYE in


A total of 3 developers contributed to this release. Thanks @kitecats, @BIGWangYuDong, @HAOCHENYE

v0.7.1 (04/03/2023)


  • Support compiling the model and enabling mixed-precision training at the same time

  • Fix the bug where the logs cannot be properly saved to the log file after calling torch.compile

New Features & Enhancements

  • Add mmpretrain to the MODULE2PACKAGE. by @mzr1996 in

  • Support using get_device in the compiled model by @C1rN09 in

  • Make sure the FileHandler still alive after torch.compile by @HAOCHENYE in

  • Unify the use of print_log and by @LEFTeyex in

  • Publish models after training if published_keys is set in CheckpointHook by @KerwinKai in

  • Enhance the error catching in registry by @HAOCHENYE in

  • Do not print config if it is empty by @zhouzaida in

Bug fixes

  • Fix there is no space between data_time and metric in logs by @HAOCHENYE in


  • Minor fixes in EN docs to remove or replace unicode chars with ascii by @evdcush in


A total of 7 developers contributed to this release. Thanks @LEFTeyex, @KerwinKai, @mzr1996, @evdcush, @C1rN09, @HAOCHENYE, @zhouzaida

v0.7.0 (03/16/2023)


  • Support PyTorch 2.0! Accelerate training by compiling models. See the tutorial Model Compilation for details

  • Add EarlyStoppingHook to stop training when the metric does not improve

New Features & Enhancements

  • Add configurations to support torch.compile in Runner by @C1rN09 in

  • Support EarlyStoppingHook by @nijkah in

  • Disable duplicated warning during distributed training by @HAOCHENYE in

  • Add FUNCTIONS root Registry by @HAOCHENYE in

  • Save the “memory” field to visualization backends by @enkilee in

  • Enable bf16 in AmpOptimWrapper by @C1rN09 in

  • Support writing data to vis_backend with prefix by @HAOCHENYE in

  • Support exporting logs of different ranks in debug mode by @HAOCHENYE in

  • Silence error when ManagerMixin built instance with duplicate name. by @HAOCHENYE in

Bug fixes

  • Fix optim_wrapper unittest for pytorch < 1.10.0 by @C1rN09 in

  • Support calculating the flops of matmul with single dimension matrix by @HAOCHENYE in

  • Fix repeated warning by @HAOCHENYE in

  • Fix lint by @zhouzaida in

  • Fix AMP in Ascend and support using NPUJITCompile environment by @luomaoling in

  • Fix inferencer gets wrong configs path by @HAOCHENYE in


  • Translate “Debug Tricks” to English by @enkilee in

  • Translate “Model Analysis” document to English by @enkilee in

  • Translate “Model Complexity Analysis” to Chinese. by @VoyagerXvoyagerx in

  • Add a document about setting interval by @YuetianW in

  • Translate “how to set random seed” by @xin-li-67 in

  • Fix typo by @zhouzaida in

  • Fix typo in hook document by @acdart in

  • Fix changelog date by @HAOCHENYE in


A total of 10 developers contributed to this release. Thanks @xin-li-67, @acdart, @enkilee, @YuetianW, @luomaoling, @nijkah, @VoyagerXvoyagerx, @zhouzaida, @HAOCHENYE, @C1rN09

v0.6.0 (02/24/2023)


  • Support Apex with ApexOptimWrapper

  • Support analyzing model complexity.

  • Add Lion optimizer.

  • Support using environment variables in the config file.

New Features & Enhancements

  • Support model complexity computation by @tonysy in

  • Add Lion optimizer by @zhouzaida in

  • Support Apex with ApexOptimWrapper by @xcnick in

  • Support using environment variable in config file. by @jbwang1997 in

  • Improve registry infer_scope by @zhouzaida in

  • Support configuring timeout in dist configuration by @apacha in

  • Beautify the print result of the registry by @Eiuyc in

  • Refine the style of table by @zhouzaida in

  • Refine the repr of Registry by @zhouzaida in

  • Feature NPUProfilerHook by @luomaoling in

  • Refactor hooks unittest by @HAOCHENYE in

  • Temporarily fix collect_env raise errors and stops programs by @C1rN09 in

  • Make sure Tensors to broadcast is contiguous by @XWHtorrentx in

  • Clean the UT warning caused by pytest by @zhouzaida in

Bug fixes

  • Backend_args should not be modified by get_file_backend by @zhouzaida in

  • Support update np.ScalarType data in message_hub by @HAOCHENYE in

  • Support rendering Chinese character in Visualizer by @KevinNuNu in

  • Fix the bug of DefaultOptimWrapperConstructor when the shared parameters do not require the grad by @HIT-cwh in


  • Add the document for the transition between IterBasedTraining and EpochBasedTraining by @HAOCHENYE in

  • Introduce how to set random seed by @zhouzaida in

  • Count FLOPs and parameters by @zhouzaida in

  • Enhance README by @Xiangxu-0103 in

  • Add a document about debug tricks by @zhouzaida in

  • Refine the format of changelog and visualization document by @zhouzaida in

  • Move examples to a new directory by @zhouzaida in

  • Resolve warnings in sphinx build by @C1rN09 in

  • Fix docstring by @zhouzaida in

  • How to set the interval parameter by @zhouzaida in

  • Temporarily skip errors in building pdf docs at readthedocs by @C1rN09 in

  • Add the links of twitter, discord, medium, and youtube by @vansin in

  • Fix typo shedule by @Dai-Wenxun in

  • Fix failed URL by @zhouzaida in


A total of 15 developers contributed to this release. Thanks @Eiuyc, @xcnick, @KevinNuNu, @XWHtorrentx, @tonysy, @zhouzaida, @Xiangxu-0103, @Dai-Wenxun, @jbwang1997, @apacha, @C1rN09, @HIT-cwh, @vansin, @HAOCHENYE, @luomaoling.

v0.5.0 (01/20/2023)


  • Add BaseInferencer to provide a general inference interface

  • Provide ReduceOnPlateauParamScheduler to adjust learning rate by metric

  • Deprecate support for Python3.6

New Features & Enhancements

  • Deprecate support for Python3.6 by @HAOCHENYE in

  • Support non-scalar type metric value by @mzr1996 in

  • Remove unnecessary calls and lazily import to speed import performance by @zhouzaida in

  • Support ReduceOnPlateauParamScheduler by @LEFTeyex in

  • Disable warning of subprocess launched by dataloader by @HAOCHENYE in

  • Add BaseInferencer to provide general interface by @HAOCHENYE in

Bug Fixes

  • Fix support for Ascend device by @wangjiangben-hw in

  • Fix Config cannot parse base config when there is . in tmp path, etc. tmp/a.b/c by @HAOCHENYE in

  • Fix unloaded weights will not be initialized when using PretrainedIinit by @HAOCHENYE in

  • Fix error package name defined in PKG2PROJECT by @HAOCHENYE in


  • Fix typos in advanced_tutorials/ by @RangeKing in

  • Translate CN train_a_gan to EN by @yaqi0510 in

  • Update by @Xiangxu-0103 in

  • Add Chinese documentation for inferencer. by @HAOCHENYE in


A total of 8 developers contributed to this release. Thanks @LEFTeyex, @RangeKing, @yaqi0510, @Xiangxu-0103, @wangjiangben-hw, @mzr1996, @zhouzaida, @HAOCHENYE.

v0.4.0 (12/28/2022)


  • Registry supports importing modules automatically

  • Upgrade the documentation and provide the English documentation

  • Provide ProfileHook to profile the running process

New Features & Enhancements

  • Add conf_path in PetrelBackend by @sunyc11 in

  • Support multiple --cfg-options. by @mzr1996 in

  • Support passing arguments to OptimWrapper.update_params by @twmht in

  • Make get_torchvision_model compatible with torch 1.13 by @HAOCHENYE in

  • Support flat_decay_mult and fix bias_decay_mult of depth-wise-conv in DefaultOptimWrapperConstructor by @RangiLyu in

  • Registry supports importing modules automatically. by @RangiLyu in

  • Add profiler hook functionality by @BayMaxBHL in

  • Make TTAModel compatible with FSDP. by @HAOCHENYE in

Bug Fixes

  • hub.get_model fails on some MMCls models by @C1rN09 in

  • Fix and to make them consistent with torch.nn.Module by @C1rN09 in

  • Fix creating a new logger at PretrainedInit by @xiexinch in

  • Fix ZeroRedundancyOptimizer ambiguous error with param groups when PyTorch < 1.12.0 by @C1rN09 in

  • Fix MessageHub set resumed key repeatedly by @HAOCHENYE in

  • Add progress argument to load_from_http by @austinmw in

  • Ensure metrics is not empty when saving best checkpoint by @zhouzaida in


  • Add by @HAOCHENYE in

  • Add gif to 15 min tutorial by @HAOCHENYE in

  • Refactor documentations and translate them to English by @zhouzaida in

  • Fix document link by @MambaWong in

  • Fix typos in EN by @RangeKing in

  • Translate data transform docs. by @mzr1996 in

  • Replace markdown table with html table by @HAOCHENYE in

  • Fix wrong example in Visualizer.draw_polygons by @lyviva in

  • Fix docstring format and rescale the images by @zhouzaida in

  • Fix failed link in registry by @zhouzaida in

  • Fix typos by @shanmo in

  • Fix wrong links and typos in docs by @shanmo in

  • Translate by @xin-li-67 in

  • Translate the documentation of hook design by @zhouzaida in

  • Fix docstring format by @zhouzaida in

  • Translate by @xin-li-67 in

  • Update docstring of BaseDataElement by @Xiangxu-0103 in

  • Fix typo by @Xiangxu-0103 in

  • Update docstring of structures by @Xiangxu-0103 in

  • Translate by @xin-li-67 in

  • Fix link error in initialize tutorial. by @HAOCHENYE in

  • Fix table in by @HAOCHENYE in


A total of 16 developers contributed to this release. Thanks @BayMaxBHL, @RangeKing, @Xiangxu-0103, @xin-li-67, @twmht, @shanmo, @sunyc11, @lyviva, @austinmw, @xiexinch, @mzr1996, @RangiLyu, @MambaWong, @C1rN09, @zhouzaida, @HAOCHENYE

v0.3.2 (11/24/2022)

New Features & Enhancements

  • Send git errors to subprocess.PIPE by @austinmw in

  • Add a common TestRunnerTestCase to build a Runner instance. by @HAOCHENYE in

  • Align the log by @HAOCHENYE in

  • Log the called order of hooks during training process by @songyuc in

  • Support setting eta_min_ratio in CosineAnnealingParamScheduler by @cir7 in

  • Enhance compatibility of revert_sync_batchnorm by @HAOCHENYE in

Bug Fixes

  • Fix in examples by @PingHGao in

  • Format the log of CheckpointLoader.load_checkpoint by @HAOCHENYE in

  • Fix bug of CosineAnnealingParamScheduler by @fangyixiao18 in

  • Fix add_graph is not called bug by @shenmishajing in

  • Fix .pre-commit-config-zh-cn.yaml pyupgrade-repo github->gitee by @BayMaxBHL in


  • Add English docs of BaseDataset by @GT9505 in

  • Fix BaseDataset typo about lazy initialization by @MengzhangLI in

  • Fix typo by @zhouzaida in

  • Translate visualization docs by @xin-li-67 in

v0.3.1 (11/09/2022)


  • Fix error when saving best checkpoint in ddp-training

New Features & Enhancements

  • Replace print with print_log for those functions called by runner by @HAOCHENYE in

Bug Fixes

  • Fix error when saving best checkpoint in ddp-training by @HAOCHENYE in


  • Refine Chinese tutorials by @Xiangxu-0103 in

  • Add MMEval in README by @sanbuphy in

  • Fix error URL in runner docstring by @HAOCHENYE in

  • Fix error evaluator type name in by @sanbuphy in

  • Fix typo in @sanbuphy in

v0.3.0 (11/02/2022)

New Features & Enhancements

  • Support running on Ascend chip by @wangjiangben-hw in

  • Support torch ZeroRedundancyOptimizer by @nijkah in

  • Add non-blocking feature to BaseDataPreprocessor by @shenmishajing in

  • Add documents for clip_grad, and support clip grad by value. by @HAOCHENYE in

  • Add ROCm info when collecting env by @zhouzaida in

  • Add a function to mark the deprecated function. by @HAOCHENYE in

  • Call register_all_modules in Registry.get() by @HAOCHENYE in

  • Deprecate _save_to_state_dict implemented in mmengine by @HAOCHENYE in

  • Add ignore_keys in ConcatDataset by @BIGWangYuDong in


  • Fix cannot show in chinese documents. by @HAOCHENYE in

  • Fix Chinese docs whitespaces by @C1rN09 in

  • Translate installation and 15_min by @xin-li-67 in

  • Refine chinese doc by @Tau-J in

  • Add MMYOLO link in README by @Xiangxu-0103 in

  • Add MMEngine logo in docs by @zhouzaida in

  • Fix docstring of BaseDataset by @HAOCHENYE in

  • Fix docstring and documentation used for hub.get_model by @zengyh1900 in

  • Fix typo in docs/zh_cn/advanced_tutorials/ by @MambaWong in

  • Fix typo docstring of DefaultOptimWrapperConstructor by @triple-Mu in

  • Fix typo in advanced tutorial by @cxiang26 in

  • Fix typo in Config docstring by @sanbuphy in

  • Fix typo in docs/zh_cn/tutorials/ by @Xiangxu-0103 in

  • Fix typo in docs/zh_cn/tutorials/ by @C1rN09 in

Bug Fixes

  • Fix error calculation of eta_min in CosineRestartParamScheduler by @Z-Fran in

  • Fix BaseDataPreprocessor.cast_data could not handle string data by @HAOCHENYE in

  • Make autocast compatible with mps by @HAOCHENYE in

  • Fix error format of log message by @HAOCHENYE in

  • Fix error implementation of is_model_wrapper by @HAOCHENYE in

  • Fix VisBackend.add_config is not called by @shenmishajing in

  • Change strict_load of EMAHook to False by default by @HAOCHENYE in

  • Fix open encoding problem of Config in Windows by @sanbuphy in

  • Fix the total number of iterations in log is a float number. by @jbwang1997 in

  • Fix pip upgrade CI by @HAOCHENYE in

New Contributors

  • @shenmishajing made their first contribution in

  • @Xiangxu-0103 made their first contribution in

  • @Tau-J made their first contribution in

  • @wangjiangben-hw made their first contribution in

  • @triple-Mu made their first contribution in

  • @sanbuphy made their first contribution in

  • @Z-Fran made their first contribution in

  • @BIGWangYuDong made their first contribution in

  • @zengyh1900 made their first contribution in

v0.2.0 (10/11/2022)

New Features & Enhancements

  • Add SMDDP backend and support running on AWS by @austinmw in

  • Refactor FileIO but without breaking bc by @zhouzaida in

  • Add test time augmentation base model by @HAOCHENYE in

  • Use torch.lerp\_() to speed up EMA by @RangiLyu in

  • Support converting BN to SyncBN by config by @HAOCHENYE in

  • Support defining metric name in wandb backend by @okotaku in

  • Add dockerfile by @zhouzaida in


  • Fix API files of English documentation by @zhouzaida in

  • Fix typo in by @Dai-Wenxun in

  • Fix the docstring of the model sub-package by @zhouzaida in

  • Fix a spelling error in docs/zh_cn by @cxiang26 in

  • Fix typo in docstring by @MengzhangLI in

  • Update by @Zhengfei-0311 in

Bug Fixes

  • Fix LogProcessor does not smooth loss if the name of loss doesn’t start with loss by @liuyanyi in

  • Fix failed to enable detect_anomalous_params in MMSeparateDistributedDataParallel by @HAOCHENYE in

  • Fix CheckpointHook behavior unexpected if given filename_tmpl argument by @C1rN09 in

  • Fix error argument sequence in FSDP by @HAOCHENYE in

  • Fix uploading image in wandb backend @okotaku in

  • Fix loading state dictionary in EMAHook by @okotaku in

  • Fix circle import in EMAHook by @HAOCHENYE in

  • Fix unit test could fail caused by MultiProcessTestCase by @HAOCHENYE in

  • Remove unnecessary “if statement” in Registry by @MambaWong in

  • Fix _save_to_state_dict by @HAOCHENYE in

  • Support comparing NumPy array dataset meta in Runner.resume by @HAOCHENYE in

  • Use get instead of pop to dump runner_type in build_runner_from_cfg by @nijkah in

  • Upgrade pre-commit hooks by @zhouzaida in

  • Delete the error comment in by @vansin in

  • Fix Some out-of-date unit tests by @C1rN09 in

  • Fix typo in MMFullyShardedDataParallel by @yhna940 in

  • Update Github Action CI and CircleCI by @zhouzaida in

  • Fix unit test in windows by @HAOCHENYE in

  • Fix merge ci & multiprocessing unit test by @HAOCHENYE in

New Contributors

  • @okotaku made their first contribution in

  • @MengzhangLI made their first contribution in

  • @MambaWong made their first contribution in

  • @cxiang26 made their first contribution in

  • @nijkah made their first contribution in

  • @Zhengfei-0311 made their first contribution in

  • @austinmw made their first contribution in

  • @yhna940 made their first contribution in

  • @liuyanyi made their first contribution in

Read the Docs v: v0.7.4
On Read the Docs
Project Home

Free document hosting provided by Read the Docs.