- Fix
_is_builtin_module
. by @HAOCHENYE in open-mmlab#1571
- Support custom
artifact_location
in MLflowVisBackend. by @daavoo in open-mmlab#1505 - Add the supported pytorch versions in README by @zhouzaida in open-mmlab#1512
- Perform evaluation upon training completion by @LZHgrla in open-mmlab#1529
- Enable
exclude_frozen_parameters
forDeepSpeedEngine._zero3_consolidated_16bit_state_dict
by @LZHgrla in open-mmlab#1517
- Fix warning capture by @fanqiNO1 in open-mmlab#1494
- Remove codeowners file by @zhouzaida in open-mmlab#1496
- Fix config of readthedocs by @zhouzaida in open-mmlab#1511
- Delete frozen parameters when using
paramwise_cfg
by @LZHgrla in open-mmlab#1441
- Refine mmengine intro by @zhouzaida in open-mmlab#1479
- Fix typo by @zhouzaida in open-mmlab#1481
- Fix typos and remove fullwidth unicode chars by @evdcush in open-mmlab#1488
- Fix docstring of Config by @MambaWong in open-mmlab#1506
- Fix typo by @hiramf in open-mmlab#1532
- Add the support for musa device support by @hanhaowen-mt in open-mmlab#1453
- Support
save_optimizer=False
for DeepSpeed by @LZHgrla in open-mmlab#1474 - Update visualizer.py by @Anm-pinellia in open-mmlab#1476
- Fix
Config.to_dict
by @HAOCHENYE in open-mmlab#1465 - Fix the resume of iteration by @LZHgrla in open-mmlab#1471
- Fix
dist.collect_results
to keep all ranks' elements by @LZHgrla in open-mmlab#1469
- Add the usage of ProfilerHook by @zhouzaida in open-mmlab#1466
- Fix the nnodes in the doc of ddp training by @XiwuChen in open-mmlab#1462
- Support multi-node distributed training with NPU backend by @shun001 in open-mmlab#1459
- Use
ImportError
to coverModuleNotFoundError
by @del-zhenwu in open-mmlab#1438
- Fix bug in
load_model_state_dict
ofBaseStrategy
by @SCZwangxiao in open-mmlab#1447 - Fix placement policy in ColossalAIStrategy by @fanqiNO1 in open-mmlab#1440
A total of 4 developers contributed to this release. Thanks @shun001, @del-zhenwu, @SCZwangxiao, @fanqiNO1
- Fix collect_env without opencv by @fanqiNO1 in open-mmlab#1434
- Fix deploy.yml by @fanqiNO1 in open-mmlab#1431
- Add build mmengine-lite from source by @fanqiNO1 in open-mmlab#1435
A total of 1 developers contributed to this release. Thanks @fanqiNO1
- Support for installing mmengine without opencv by @fanqiNO1 in open-mmlab#1429
- Support
exclude_frozen_parameters
forDeepSpeedStrategy
'sresume
by @LZHgrla in open-mmlab#1424
- Fix bugs in colo optimwrapper by @HIT-cwh in open-mmlab#1426
- Fix
scale_lr
inSingleDeviceStrategy
by @fanqiNO1 in open-mmlab#1428 - Fix CI for torch2.1.0 by @fanqiNO1 in open-mmlab#1418
A total of 3 developers contributed to this release. Thanks @HIT-cwh, @LZHgrla, @fanqiNO1
- Support slurm distributed training for mlu devices by @POI-WX in open-mmlab#1396
- Add torch 2.1.0 checking in CI by @YiyaoYang1 in open-mmlab#1389
- Add
exclude_frozen_parameters
forDeepSpeedStrategy
by @LZHgrla in open-mmlab#1415 - Enhance inputs_to_half in DeepSpeedStrategy by @fanqiNO1 in open-mmlab#1400
- Fix new config in visualizer by @HAOCHENYE in open-mmlab#1390
- Fix func params using without init in OneCycleLR (#1401) by @whlook in open-mmlab#1403
- Fix a bug when module is missing in low version of bitsandbytes by @Ben-Louis in open-mmlab#1388
- Fix ConcatDataset raising error when metainfo is np.array by @jonbakerfish in open-mmlab#1407
- Rename master to main by @zhouzaida in open-mmlab#1397
A total of 9 developers contributed to this release. Thanks @POI-WX, @whlook, @jonbakerfish, @LZHgrla, @Ben-Louis, @YiyaoYang1, @fanqiNO1, @HAOCHENYE, @zhouzaida
- Support training with ColossalAI. Refer to the Training Large Models for more detailed usages.
- Support gradient checkpointing. Refer to the Save Memory on GPU for more details.
- Supports multiple visualization backends, including
NeptuneVisBackend
,DVCLiveVisBackend
andAimVisBackend
. Refer to Visualization Backends for more details.
- Add a text translation example by @Desjajja in open-mmlab#1283
- Add
NeptuneVisBackend
by @wangerlie in open-mmlab#1311 - Add ColossalAI strategy by @HAOCHENYE in open-mmlab#1299
- Add collect_results support for Ascend NPU by @xuuyangg in open-mmlab#1309
- Unify the parameter style of DeepSpeedStrategy by @LZHgrla in open-mmlab#1320
- Add progressbar rich by @Dominic23331 in open-mmlab#1157
- Support using other file handlers by @KevinNuNu in open-mmlab#1188
- Refine error message by @zhouzaida in open-mmlab#1338
- Implement gradient checkpointing by @zeyuanyin in open-mmlab#1319
- Add
DVCLiveVisBackend
by @RangeKing in open-mmlab#1336 - Add
AimVisBackend
by @RangeKing in open-mmlab#1347 - Support bitsandbytes by @okotaku in open-mmlab#1357
- Support
Adafactor
Optimizer by @okotaku in open-mmlab#1361 - Add unit tests for autocast with Ascend device by @6Vvv in open-mmlab#1363
- Support metainfo of dataset can be a generic dict-like Mapping by @hiyyg in open-mmlab#1378
- Support for installing minimal runtime dependencies by @HAOCHENYE in open-mmlab#1362
- Support setting the number of iterations in
Runner
for each epoch by @ShuRaymond in open-mmlab#1292 - Support using gradient checkpointing in FSDP by @HAOCHENYE in open-mmlab#1382
- Add README for examples by @zhouzaida in open-mmlab#1295
- Add a new ecosystem in README by @zhouzaida in open-mmlab#1296
- Fix typo by @zhouzaida in open-mmlab#1298
- Add an image for Neptune by @zhouzaida in open-mmlab#1312
- Fix docs of ColossalAI by @HAOCHENYE in open-mmlab#1315
- Update QRCode by @crazysteeaam in open-mmlab#1328
- Add activation checkpointing usage by @zhouzaida in open-mmlab#1341
- Fix typo by @zhouzaida in open-mmlab#1348
- Update the usage of bitsandbytes in Chinese documents by @zhouzaida in open-mmlab#1359
- Fix doc typo our_dir in LoggerHook by @wangg12 in open-mmlab#1373
- Add the contributing doc in pr template by @zhouzaida in open-mmlab#1380
- Update the version info by @fanqiNO1 in open-mmlab#1383
- Fix typo by @fanqiNO1 in open-mmlab#1385
- Ignore examples in CI by @zhouzaida in open-mmlab#1297
- Fix multi-card issue in PyTorch v2.1 on Ascend by @LRJKD in open-mmlab#1321
- Fix get
optimizer_cls
by @HAOCHENYE in open-mmlab#1324 - Fix ndarray metainfo check in ConcatDataset by @NrealLzx in open-mmlab#1333
- Adapt to PyTorch v2.1 on Ascend by @LRJKD in open-mmlab#1332
- Fix the type check of tasks in progress bar by @zhouzaida in open-mmlab#1340
- The keyword mode appears nested multiple times in the log by @huaibovip in open-mmlab#1305
- Fix pydantic version to fix mlflow unit tests by @zhouzaida in open-mmlab#1351
- Fix get class attribute from a string by @HAOCHENYE in open-mmlab#1345
- Delete yapf verify by @okotaku in open-mmlab#1365
- Ensure from_cfg of Runner have the same defaults values as its init by @YinAoXiong in open-mmlab#1368
- Fix docs building error caused by deepspeed by @HAOCHENYE in open-mmlab#1379
A total of 21 developers contributed to this release. Thanks @LZHgrla, @wangerlie, @wangg12, @RangeKing, @hiyyg, @LRJKD, @KevinNuNu, @zeyuanyin, @Desjajja, @ShuRaymond, @okotaku, @crazysteeaam, @6Vvv, @NrealLzx, @YinAoXiong, @huaibovip, @xuuyangg, @Dominic23331, @fanqiNO1, @HAOCHENYE, @zhouzaida
- Support callable
collate_fn
for FlexibleRunner by @LZHgrla in open-mmlab#1284
- Skip adding
vis_backends
whensave_dir
is not set by @HAOCHENYE in open-mmlab#1289 - Fix dumping pure python style config in colab by @HAOCHENYE in open-mmlab#1290
- Find unused parameters by @zhouzaida in open-mmlab#1288
A total of 3 developers contributed to this release. Thanks @HAOCHENYE, @zhouzaida, @LZHgrla
- Support enabling
efficient_conv_bn_eval
for efficient convolution and batch normalization. See save memory on gpu for more details - Add Llama2 finetune example
- Support multi-node distributed training with MLU backend
- Enable
efficient_conv_bn_eval
for memory saving convolution and batch normalization by @youkaichao in open-mmlab#1202, open-mmlab#1251 and open-mmlab#1259 - Add Llama2 example by @HAOCHENYE in open-mmlab#1264
- Compare the difference of two configs by @gachiemchiep in open-mmlab#1260
- Enable explicit error for deepspeed not installed by @Li-Qingyun in open-mmlab#1240
- Support skipping initialization in
BaseModule
by @HAOCHENYE in open-mmlab#1263 - Add parameter
save_begin
to control when to save checkpoints by @KerwinKai in open-mmlab#1271 - Support multi-node distributed training with MLU backend by @josh6688 in open-mmlab#1266
- Enhance error message thrown by Config, build function and
ConfigDict.items
by @HAOCHENYE in open-mmlab#1272, open-mmlab#1270 and open-mmlab#1088 - Add the
loop_stage
runtime information inmessage_hub
by @zhouzaida in open-mmlab#1277 - Fix Visualizer that built
vis_backends
will not be used whensave_dir
isNone
by @Xinyu302 in open-mmlab#1275
- Fix scalar check in RuntimeInfoHook by @i-aki-y in open-mmlab#1250
- Move data preprocessor to target device in FSDPStrategy by @HAOCHENYE in open-mmlab#1261
- Add ecosystem in README by @zhouzaida in open-mmlab#1247
- Add short explanation about registry scope by @mmeendez8 in open-mmlab#1114
- Add the data flow of Runner in README by @zhouzaida in open-mmlab#1257
- Introduce how to customize distributed training settings by @zhouzaida in open-mmlab#1279
A total of 9 developers contributed to this release. Thanks @HAOCHENYE, @youkaichao, @josh6688, @i-aki-y, @mmeendez8, @zhouzaida, @gachiemchiep, @KerwinKai, @Li-Qingyun
- Fix pickling the Python style config by @HAOCHENYE in open-mmlab#1241
- Fix the logic of setting
lazy_import
by @Li-Qingyun in open-mmlab#1239
- Accelerate
Config.dump
and support converting Lazyxxx to string inConfigDict.to_dict
by @HAOCHENYE in open-mmlab#1232
- FSDP should call
_get_ignored_modules
by @HAOCHENYE in open-mmlab#1235
- Add a document to introduce how to train a large model by @zhouzaida in open-mmlab#1228
-
Support training with FSDP and DeepSpeed. Refer to the example for more detailed usages.
-
Introduce the pure Python style configuration file:
- Support navigating to base configuration file in IDE
- Support navigating to base variable in IDE
- Support navigating to source code of class in IDE
- Support inheriting two configuration files containing the same field
- Load the configuration file without other third-party requirements
Refer to the tutorial for more detailed usages.
- Support training with FSDP by @HAOCHENYE in open-mmlab#1213
- Add
FlexibleRunner
andStrategies
, and support training with DeepSpeed by @zhouzaida in open-mmlab#1183 - Support pure Python style configuration file by @HAOCHENYE in open-mmlab#1071
- Learning rate in log can show the base learning rate of optimizer by @AkideLiu in open-mmlab#1019
- Refine the error message when auto_scale_lr is not set correctly by @alexander-soare in open-mmlab#1181
- WandbVisBackend supports updating config by @zgzhengSEU in open-mmlab#977
- CheckpointHook should check whether file exists before removing it by @zhouzaida in open-mmlab#1198
- Fix undefined variable error in Runner by @HAOCHENYE in open-mmlab#1219
- Add a document to introduce how to debug with vscode by @zhouzaida in open-mmlab#1212
- Update English introduction by @evdcush in open-mmlab#1189
- Fix parameter typing error in document by @syo093c in open-mmlab#1201
- Fix gpu collection during evaluation by @edkair in open-mmlab#1208
- Fix a comment in runner tutorial by @joihn in open-mmlab#1210
A total of 9 developers contributed to this release. Thanks @evdcush, @zhouzaida, @AkideLiu, @joihn, @HAOCHENYE, @edkair, @alexander-soare, @syo093c, @zgzhengSEU
- Support using
ClearML
to record experiment data - Add
Sophia
optimizers
- Add visualize backend for clearml by @gachiemchiep in open-mmlab#1091
- Support Sophia optimizers by @zhouzaida in open-mmlab#1170
- Refactor unittest syncbuffer by @HAOCHENYE in open-mmlab#813
- Allow
ann_file
,data_root
isNone
forBaseDataset
by @HAOCHENYE in open-mmlab#850 - Enable full precision training on Ascend NPU by @Ginray in open-mmlab#1109
- Creating a text classification example by @TankNee in open-mmlab#1122
- Add option to log selected config only by @KickCellarDoor in open-mmlab#1159
- Add an option to control whether to show progress bar in BaseInference by @W-ZN in open-mmlab#1135
- Support dipu device by @CokeDong in open-mmlab#1127
- Let unit tests not affect each other by @zhouzaida in open-mmlab#1169
- Add support for full wandb's
define_metric
arguments by @i-aki-y in open-mmlab#1099
- Fix the incorrect device of inputs in get_model_complexity_info by @CescMessi in open-mmlab#1130
- Correctly saves
_metadata
ofstate_dict
when saving checkpoints by @Bomsw in open-mmlab#1131 - Correctly record random seed in log by @Shiyang980713 in open-mmlab#1152
- Close MLflowVisBackend only if active by @zimonitrome in open-mmlab#1151
- Fix
ProfileHook
cannot profile ddp-training by @HAOCHENYE in open-mmlab#1140 - Handle the case for Multi-Instance GPUs when using
cuda_visible_devices
by @adrianjoshua-strutt in open-mmlab#1164 - Fix attribute error when parsing
CUDA_VISIBLE_DEVICES
in logger @Xiangxu-0103 in open-mmlab#1172
- Translate
infer.md
by @Hongru-Xiao in open-mmlab#1121 - Fix a missing comma in
tutorials/runner.md
by @gy-7 in open-mmlab#1146 - Fix typo in comment by @YQisme in open-mmlab#1154
- Translate
data_element.md
by @xin-li-67 in open-mmlab#1067 - Add the usage of clearml by @zhouzaida in open-mmlab#1180
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
- Support using MLflow to record experiment data
- Support registering callable objects to the registry
- Add
MLflowVisBackend
by @sh0622-kim in open-mmlab#878 - Support customizing
worker_init_fn
in dataloader config by @shufanwu in open-mmlab#1038 - Make the parameters of get_model_complexity_info() friendly by @sjiang95 in open-mmlab#1056
- Add torch_npu optimizer by @luomaoling in open-mmlab#1079
- Support registering callable objects @C1rN09 in open-mmlab#595
- Complement type hint of get_model_complexity_info() by @sjiang95 in open-mmlab#1064
- MessageHub.get_info() supports returning a default value by @enkilee in open-mmlab#991
- Refactor logger hook unit test by @HAOCHENYE in open-mmlab#797
- Support BoolTensor and LongTensor on Ascend NPU by @Ginray in open-mmlab#1011
- Remove useless variable declaration by @HAOCHENYE in open-mmlab#1052
- Enhance the support for MLU device by @josh6688 in open-mmlab#1075
- Support configuring synchronization directory for BaseMetric by @HAOCHENYE in open-mmlab#1074
- Support accepting multiple
input_shape
forget_model_complexity_info
by @sjiang95 in open-mmlab#1065 - Enhance docstring and error catching in
MessageHub
by @HAOCHENYE in open-mmlab#1098 - Enhance the efficiency of Visualizer.show by @HAOCHENYE in open-mmlab#1015
- Update repo list by @HAOCHENYE in open-mmlab#1108
- Enhance error message during custom import by @HAOCHENYE in open-mmlab#1102
- Support
_load_state_dict_post_hooks
inload_state_dict
by @mzr1996 in open-mmlab#1103
- Fix publishing multiple checkpoints when using multiple GPUs by @JunweiZheng93 in open-mmlab#1070
- Fix error when
log_with_hierarchy
isTrue
by @HAOCHENYE in open-mmlab#1085 - Call SyncBufferHook before validation in IterBasedTrainLoop by @Luo-Yihang in open-mmlab#982
- Fix the resuming error caused by HistoryBuffer by @HAOCHENYE in open-mmlab#1078
- Failed to remove the previous best checkpoints by @HAOCHENYE in open-mmlab#1086
- Fix using incorrect local rank by @C1rN09 in open-mmlab#973
- No training log when the num of iterations is smaller than the default interval by @shufanwu in open-mmlab#1046
collate_fn
could not be a function object by @zhouzaida in open-mmlab#1093- Fix
optimizer.state
could be saved in cuda:0 by @HAOCHENYE in open-mmlab#966 - Fix building unnecessary loop during train/test/val by @HAOCHENYE in open-mmlab#1107
- Introduce the use of wandb and tensorboard by @zhouzaida in open-mmlab#912
- Translate tutorials/evaluation.md by @LEFTeyex in open-mmlab#1053
- Translate design/evaluation.md by @zccjjj in open-mmlab#1062
- Fix three typos in runner by @jsrdcht in open-mmlab#1068
- Translate migration/hook.md to English by @SheffieldCao in open-mmlab#1054
- Replace MMCls with MMPretrain in docs by @zhouzaida in open-mmlab#1096
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
- Align the evaluation result in log by @kitecats in open-mmlab#1034
- Update the logic to calculate the
repeat_factors
inClassBalancedDataset
by @BIGWangYuDong in open-mmlab#1048 - Initialize sub-modules in
DistributedDataParallel
that defineinit_weights
during initialization by @HAOCHENYE in open-mmlab#1045 - Refactor checkpointhook unittest by @HAOCHENYE in open-mmlab#789
A total of 3 developers contributed to this release. Thanks @kitecats, @BIGWangYuDong, @HAOCHENYE
- 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
- Add
mmpretrain
to theMODULE2PACKAGE
. by @mzr1996 in open-mmlab#1002 - Support using
get_device
in the compiled model by @C1rN09 in open-mmlab#1004 - Make sure the FileHandler still alive after
torch.compile
by @HAOCHENYE in open-mmlab#1021 - Unify the use of
print_log
andlogger.info(warning)
by @LEFTeyex in open-mmlab#997 - Publish models after training if published_keys is set in CheckpointHook by @KerwinKai in open-mmlab#987
- Enhance the error catching in registry by @HAOCHENYE in open-mmlab#1010
- Do not print config if it is empty by @zhouzaida in open-mmlab#1028
- Fix there is no space between
data_time
and metric in logs by @HAOCHENYE in open-mmlab#1025
- Minor fixes in EN docs to remove or replace unicode chars with ascii by @evdcush in open-mmlab#1018
A total of 7 developers contributed to this release. Thanks @LEFTeyex, @KerwinKai, @mzr1996, @evdcush, @C1rN09, @HAOCHENYE, @zhouzaida
- 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
- Add configurations to support
torch.compile
in Runner by @C1rN09 in open-mmlab#976 - Support
EarlyStoppingHook
by @nijkah in open-mmlab#739 - Disable duplicated warning during distributed training by @HAOCHENYE in open-mmlab#961
- Add
FUNCTIONS
root Registry by @HAOCHENYE in open-mmlab#983 - Save the "memory" field to visualization backends by @enkilee in open-mmlab#974
- Enable bf16 in
AmpOptimWrapper
by @C1rN09 in open-mmlab#960 - Support writing data to
vis_backend
with prefix by @HAOCHENYE in open-mmlab#972 - Support exporting logs of different ranks in debug mode by @HAOCHENYE in open-mmlab#968
- Silence error when
ManagerMixin
built instance with duplicate name. by @HAOCHENYE in open-mmlab#990
- Fix optim_wrapper unittest for
pytorch < 1.10.0
by @C1rN09 in open-mmlab#975 - Support calculating the flops of
matmul
with single dimension matrix by @HAOCHENYE in open-mmlab#970 - Fix repeated warning by @HAOCHENYE in open-mmlab#992
- Fix lint by @zhouzaida in open-mmlab#993
- Fix AMP in Ascend and support using NPUJITCompile environment by @luomaoling in open-mmlab#994
- Fix inferencer gets wrong configs path by @HAOCHENYE in open-mmlab#996
- Translate "Debug Tricks" to English by @enkilee in open-mmlab#953
- Translate "Model Analysis" document to English by @enkilee in open-mmlab#956
- Translate "Model Complexity Analysis" to Chinese. by @VoyagerXvoyagerx in open-mmlab#969
- Add a document about setting interval by @YuetianW in open-mmlab#964
- Translate "how to set random seed" by @xin-li-67 in open-mmlab#930
- Fix typo by @zhouzaida in open-mmlab#965
- Fix typo in hook document by @acdart in open-mmlab#980
- Fix changelog date by @HAOCHENYE in open-mmlab#986
A total of 10 developers contributed to this release. Thanks @xin-li-67, @acdart, @enkilee, @YuetianW, @luomaoling, @nijkah, @VoyagerXvoyagerx, @zhouzaida, @HAOCHENYE, @C1rN09
- Support
Apex
withApexOptimWrapper
- Support analyzing model complexity.
- Add
Lion
optimizer. - Support using environment variables in the config file.
- Support model complexity computation by @tonysy in open-mmlab#779
- Add Lion optimizer by @zhouzaida in open-mmlab#952
- Support
Apex
withApexOptimWrapper
by @xcnick in open-mmlab#742 - Support using environment variable in config file. by @jbwang1997 in open-mmlab#744
- Improve registry infer_scope by @zhouzaida in open-mmlab#334
- Support configuring
timeout
in dist configuration by @apacha in open-mmlab#877 - Beautify the print result of the registry by @Eiuyc in open-mmlab#922
- Refine the style of table by @zhouzaida in open-mmlab#941
- Refine the
repr
of Registry by @zhouzaida in open-mmlab#942 - Feature NPUProfilerHook by @luomaoling in open-mmlab#925
- Refactor hooks unittest by @HAOCHENYE in open-mmlab#946
- Temporarily fix
collect_env
raise errors and stops programs by @C1rN09 in open-mmlab#944 - Make sure Tensors to broadcast is contiguous by @XWHtorrentx in open-mmlab#948
- Clean the UT warning caused by pytest by @zhouzaida in open-mmlab#947
- Backend_args should not be modified by get_file_backend by @zhouzaida in open-mmlab#897
- Support update
np.ScalarType
data in message_hub by @HAOCHENYE in open-mmlab#898 - Support rendering Chinese character in
Visualizer
by @KevinNuNu in open-mmlab#887 - Fix the bug of
DefaultOptimWrapperConstructor
when the shared parameters do not require the grad by @HIT-cwh in open-mmlab#903
- Add the document for the transition between IterBasedTraining and EpochBasedTraining by @HAOCHENYE in open-mmlab#926
- Introduce how to set random seed by @zhouzaida in open-mmlab#914
- Count FLOPs and parameters by @zhouzaida in open-mmlab#939
- Enhance README by @Xiangxu-0103 in open-mmlab#835
- Add a document about debug tricks by @zhouzaida in open-mmlab#938
- Refine the format of changelog and visualization document by @zhouzaida in open-mmlab#906
- Move examples to a new directory by @zhouzaida in open-mmlab#911
- Resolve warnings in sphinx build by @C1rN09 in open-mmlab#915
- Fix docstring by @zhouzaida in open-mmlab#913
- How to set the interval parameter by @zhouzaida in open-mmlab#917
- Temporarily skip errors in building pdf docs at readthedocs by @C1rN09 in open-mmlab#928
- Add the links of twitter, discord, medium, and youtube by @vansin in open-mmlab#924
- Fix typo
shedule
by @Dai-Wenxun in open-mmlab#936 - Fix failed URL by @zhouzaida in open-mmlab#943
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.
- Add
BaseInferencer
to provide a general inference interface - Provide
ReduceOnPlateauParamScheduler
to adjust learning rate by metric - Deprecate support for Python3.6
- Deprecate support for Python3.6 by @HAOCHENYE in open-mmlab#863
- Support non-scalar type metric value by @mzr1996 in open-mmlab#827
- Remove unnecessary calls and lazily import to speed import performance by @zhouzaida in open-mmlab#837
- Support
ReduceOnPlateauParamScheduler
by @LEFTeyex in open-mmlab#819 - Disable warning of subprocess launched by dataloader by @HAOCHENYE in open-mmlab#870
- Add
BaseInferencer
to provide general interface by @HAOCHENYE in open-mmlab#874
- Fix support for Ascend device by @wangjiangben-hw in open-mmlab#847
- Fix
Config
cannot parse base config when there is.
in tmp path, etc.tmp/a.b/c
by @HAOCHENYE in open-mmlab#856 - Fix unloaded weights will not be initialized when using
PretrainedIinit
by @HAOCHENYE in open-mmlab#764 - Fix error package name defined in
PKG2PROJECT
by @HAOCHENYE in open-mmlab#872
- Fix typos in
advanced_tutorials/logging.md
by @RangeKing in open-mmlab#861 - Translate CN
train_a_gan
to EN by @yaqi0510 in open-mmlab#860 - Update
fileio.md
by @Xiangxu-0103 in open-mmlab#869 - Add Chinese documentation for
inferencer
. by @HAOCHENYE in open-mmlab#884
A total of 8 developers contributed to this release. Thanks @LEFTeyex, @RangeKing, @yaqi0510, @Xiangxu-0103, @wangjiangben-hw, @mzr1996, @zhouzaida, @HAOCHENYE.
- Registry supports importing modules automatically
- Upgrade the documentation and provide the English documentation
- Provide
ProfileHook
to profile the running process
- Add
conf_path
in PetrelBackend by @sunyc11 in open-mmlab#774 - Support multiple
--cfg-options
. by @mzr1996 in open-mmlab#759 - Support passing arguments to
OptimWrapper.update_params
by @twmht in open-mmlab#796 - Make
get_torchvision_model
compatible with torch 1.13 by @HAOCHENYE in open-mmlab#793 - Support
flat_decay_mult
and fixbias_decay_mult
of depth-wise-conv inDefaultOptimWrapperConstructor
by @RangiLyu in open-mmlab#771 - Registry supports importing modules automatically. by @RangiLyu in open-mmlab#643
- Add profiler hook functionality by @BayMaxBHL in open-mmlab#768
- Make TTAModel compatible with FSDP. by @HAOCHENYE in open-mmlab#611
hub.get_model
fails on some MMCls models by @C1rN09 in open-mmlab#784- Fix
BaseModel.to
andBaseDataPreprocessor.to
to make them consistent withtorch.nn.Module
by @C1rN09 in open-mmlab#783 - Fix creating a new logger at PretrainedInit by @xiexinch in open-mmlab#791
- Fix
ZeroRedundancyOptimizer
ambiguous error with param groups when PyTorch < 1.12.0 by @C1rN09 in open-mmlab#818 - Fix MessageHub set resumed key repeatedly by @HAOCHENYE in open-mmlab#839
- Add
progress
argument toload_from_http
by @austinmw in open-mmlab#770 - Ensure metrics is not empty when saving best checkpoint by @zhouzaida in open-mmlab#849
- Add
contributing.md
by @HAOCHENYE in open-mmlab#754 - Add gif to 15 min tutorial by @HAOCHENYE in open-mmlab#748
- Refactor documentations and translate them to English by @zhouzaida in open-mmlab#786
- Fix document link by @MambaWong in open-mmlab#775
- Fix typos in EN
contributing.md
by @RangeKing in open-mmlab#792 - Translate data transform docs. by @mzr1996 in open-mmlab#737
- Replace markdown table with html table by @HAOCHENYE in open-mmlab#800
- Fix wrong example in
Visualizer.draw_polygons
by @lyviva in open-mmlab#798 - Fix docstring format and rescale the images by @zhouzaida in open-mmlab#802
- Fix failed link in registry by @zhouzaida in open-mmlab#811
- Fix typos by @shanmo in open-mmlab#814
- Fix wrong links and typos in docs by @shanmo in open-mmlab#815
- Translate
save_gpu_memory.md
by @xin-li-67 in open-mmlab#803 - Translate the documentation of hook design by @zhouzaida in open-mmlab#780
- Fix docstring format by @zhouzaida in open-mmlab#816
- Translate
registry.md
by @xin-li-67 in open-mmlab#817 - Update docstring of
BaseDataElement
by @Xiangxu-0103 in open-mmlab#836 - Fix typo by @Xiangxu-0103 in open-mmlab#841
- Update docstring of
structures
by @Xiangxu-0103 in open-mmlab#840 - Translate
optim_wrapper.md
by @xin-li-67 in open-mmlab#833 - Fix link error in initialize tutorial. by @HAOCHENYE in open-mmlab#843
- Fix table in
initialized.md
by @HAOCHENYE in open-mmlab#844
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
- Send git errors to subprocess.PIPE by @austinmw in open-mmlab#717
- Add a common
TestRunnerTestCase
to build a Runner instance. by @HAOCHENYE in open-mmlab#631 - Align the log by @HAOCHENYE in open-mmlab#436
- Log the called order of hooks during training process by @songyuc in open-mmlab#672
- Support setting
eta_min_ratio
inCosineAnnealingParamScheduler
by @cir7 in open-mmlab#725 - Enhance compatibility of
revert_sync_batchnorm
by @HAOCHENYE in open-mmlab#695
- Fix
distributed_training.py
in examples by @PingHGao in open-mmlab#700 - Format the log of
CheckpointLoader.load_checkpoint
by @HAOCHENYE in open-mmlab#685 - Fix bug of CosineAnnealingParamScheduler by @fangyixiao18 in open-mmlab#735
- Fix
add_graph
is not called bug by @shenmishajing in open-mmlab#632 - Fix .pre-commit-config-zh-cn.yaml pyupgrade-repo github->gitee by @BayMaxBHL in open-mmlab#756
- Add English docs of BaseDataset by @GT9505 in open-mmlab#713
- Fix
BaseDataset
typo about lazy initialization by @MengzhangLI in open-mmlab#733 - Fix typo by @zhouzaida in open-mmlab#734
- Translate visualization docs by @xin-li-67 in open-mmlab#692
- Fix error when saving best checkpoint in ddp-training
- Replace
print
withprint_log
for those functions called by runner by @HAOCHENYE in open-mmlab#686
- Fix error when saving best checkpoint in ddp-training by @HAOCHENYE in open-mmlab#682
- Refine Chinese tutorials by @Xiangxu-0103 in open-mmlab#694
- Add MMEval in README by @sanbuphy in open-mmlab#669
- Fix error URL in runner docstring by @HAOCHENYE in open-mmlab#668
- Fix error evaluator type name in
evaluator.md
by @sanbuphy in open-mmlab#675 - Fix typo in
utils.md
@sanbuphy in open-mmlab#702
- Support running on Ascend chip by @wangjiangben-hw in open-mmlab#572
- Support torch
ZeroRedundancyOptimizer
by @nijkah in open-mmlab#551 - Add non-blocking feature to
BaseDataPreprocessor
by @shenmishajing in open-mmlab#618 - Add documents for
clip_grad
, and support clip grad by value. by @HAOCHENYE in open-mmlab#513 - Add ROCm info when collecting env by @zhouzaida in open-mmlab#633
- Add a function to mark the deprecated function. by @HAOCHENYE in open-mmlab#609
- Call
register_all_modules
inRegistry.get()
by @HAOCHENYE in open-mmlab#541 - Deprecate
_save_to_state_dict
implemented in mmengine by @HAOCHENYE in open-mmlab#610 - Add
ignore_keys
in ConcatDataset by @BIGWangYuDong in open-mmlab#556
- Fix cannot show
changelog.md
in chinese documents. by @HAOCHENYE in open-mmlab#606 - Fix Chinese docs whitespaces by @C1rN09 in open-mmlab#521
- Translate installation and 15_min by @xin-li-67 in open-mmlab#629
- Refine chinese doc by @Tau-J in open-mmlab#516
- Add MMYOLO link in README by @Xiangxu-0103 in open-mmlab#634
- Add MMEngine logo in docs by @zhouzaida in open-mmlab#641
- Fix docstring of
BaseDataset
by @HAOCHENYE in open-mmlab#656 - Fix docstring and documentation used for
hub.get_model
by @zengyh1900 in open-mmlab#659 - Fix typo in
docs/zh_cn/advanced_tutorials/visualization.md
by @MambaWong in open-mmlab#616 - Fix typo docstring of
DefaultOptimWrapperConstructor
by @triple-Mu in open-mmlab#644 - Fix typo in advanced tutorial by @cxiang26 in open-mmlab#650
- Fix typo in
Config
docstring by @sanbuphy in open-mmlab#654 - Fix typo in
docs/zh_cn/tutorials/config.md
by @Xiangxu-0103 in open-mmlab#596 - Fix typo in
docs/zh_cn/tutorials/model.md
by @C1rN09 in open-mmlab#598
- Fix error calculation of
eta_min
inCosineRestartParamScheduler
by @Z-Fran in open-mmlab#639 - Fix
BaseDataPreprocessor.cast_data
could not handle string data by @HAOCHENYE in open-mmlab#602 - Make
autocast
compatible with mps by @HAOCHENYE in open-mmlab#587 - Fix error format of log message by @HAOCHENYE in open-mmlab#508
- Fix error implementation of
is_model_wrapper
by @HAOCHENYE in open-mmlab#640 - Fix
VisBackend.add_config
is not called by @shenmishajing in open-mmlab#613 - Change
strict_load
of EMAHook to False by default by @HAOCHENYE in open-mmlab#642 - Fix
open
encoding problem of Config in Windows by @sanbuphy in open-mmlab#648 - Fix the total number of iterations in log is a float number. by @jbwang1997 in open-mmlab#604
- Fix
pip upgrade
CI by @HAOCHENYE in open-mmlab#622
- @shenmishajing made their first contribution in open-mmlab#618
- @Xiangxu-0103 made their first contribution in open-mmlab#596
- @Tau-J made their first contribution in open-mmlab#516
- @wangjiangben-hw made their first contribution in open-mmlab#572
- @triple-Mu made their first contribution in open-mmlab#644
- @sanbuphy made their first contribution in open-mmlab#648
- @Z-Fran made their first contribution in open-mmlab#639
- @BIGWangYuDong made their first contribution in open-mmlab#556
- @zengyh1900 made their first contribution in open-mmlab#659
- Add SMDDP backend and support running on AWS by @austinmw in open-mmlab#579
- Refactor
FileIO
but without breaking bc by @zhouzaida in open-mmlab#533 - Add test time augmentation base model by @HAOCHENYE in open-mmlab#538
- Use
torch.lerp\_()
to speed up EMA by @RangiLyu in open-mmlab#519 - Support converting
BN
toSyncBN
by config by @HAOCHENYE in open-mmlab#506 - Support defining metric name in wandb backend by @okotaku in open-mmlab#509
- Add dockerfile by @zhouzaida in open-mmlab#347
- Fix API files of English documentation by @zhouzaida in open-mmlab#525
- Fix typo in
instance_data.py
by @Dai-Wenxun in open-mmlab#530 - Fix the docstring of the model sub-package by @zhouzaida in open-mmlab#573
- Fix a spelling error in docs/zh_cn by @cxiang26 in open-mmlab#548
- Fix typo in docstring by @MengzhangLI in open-mmlab#527
- Update
config.md
by @Zhengfei-0311 in open-mmlab#562
- Fix
LogProcessor
does not smooth loss if the name of loss doesn't start withloss
by @liuyanyi in open-mmlab#539 - Fix failed to enable
detect_anomalous_params
inMMSeparateDistributedDataParallel
by @HAOCHENYE in open-mmlab#588 - Fix CheckpointHook behavior unexpected if given
filename_tmpl
argument by @C1rN09 in open-mmlab#518 - Fix error argument sequence in
FSDP
by @HAOCHENYE in open-mmlab#520 - Fix uploading image in wandb backend @okotaku in open-mmlab#510
- Fix loading state dictionary in
EMAHook
by @okotaku in open-mmlab#507 - Fix circle import in
EMAHook
by @HAOCHENYE in open-mmlab#523 - Fix unit test could fail caused by
MultiProcessTestCase
by @HAOCHENYE in open-mmlab#535 - Remove unnecessary "if statement" in
Registry
by @MambaWong in open-mmlab#536 - Fix
_save_to_state_dict
by @HAOCHENYE in open-mmlab#542 - Support comparing NumPy array dataset meta in
Runner.resume
by @HAOCHENYE in open-mmlab#511 - Use
get
instead ofpop
to dumprunner_type
inbuild_runner_from_cfg
by @nijkah in open-mmlab#549 - Upgrade pre-commit hooks by @zhouzaida in open-mmlab#576
- Delete the error comment in
registry.md
by @vansin in open-mmlab#514 - Fix Some out-of-date unit tests by @C1rN09 in open-mmlab#586
- Fix typo in
MMFullyShardedDataParallel
by @yhna940 in open-mmlab#569 - Update Github Action CI and CircleCI by @zhouzaida in open-mmlab#512
- Fix unit test in windows by @HAOCHENYE in open-mmlab#515
- Fix merge ci & multiprocessing unit test by @HAOCHENYE in open-mmlab#529
- @okotaku made their first contribution in open-mmlab#510
- @MengzhangLI made their first contribution in open-mmlab#527
- @MambaWong made their first contribution in open-mmlab#536
- @cxiang26 made their first contribution in open-mmlab#548
- @nijkah made their first contribution in open-mmlab#549
- @Zhengfei-0311 made their first contribution in open-mmlab#562
- @austinmw made their first contribution in open-mmlab#579
- @yhna940 made their first contribution in open-mmlab#569
- @liuyanyi made their first contribution in open-mmlab#539