diff --git a/README.md b/README.md index 6e5cb555..5c69c8eb 100644 --- a/README.md +++ b/README.md @@ -74,16 +74,14 @@ Major features: ## What's New -v0.6.0 was released on 2023-02-24. +v0.7.0 was released on 2023-03-16. Highlights: -- Support `Apex` with `ApexOptimWrapper` -- Support analyzing model complexity -- Add `Lion` optimizer -- Support using environment variables in the config file +- Support PyTorch 2.0! Accelerate training by compiling models. See the tutorial [Model Compilation](https://mmengine.readthedocs.io/en/latest/common_usage/speed_up_training.html#model-compilation) for details +- Add `EarlyStoppingHook` to stop training when the metric does not improve -Read [Changelog](./docs/en/notes/changelog.md#v060-02242023) for more details. +Read [Changelog](./docs/en/notes/changelog.md#v070-03162023) for more details. ## Installation diff --git a/README_zh-CN.md b/README_zh-CN.md index 6226d748..f672ae25 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -60,16 +60,14 @@ MMEngine 是一个基于 PyTorch 实现的,用于训练深度学习模型的 ## 最近进展 -最新版本 v0.6.0 在 2023.02.24 发布。 +最新版本 v0.7.0 在 2023.03.16 发布。 亮点: -- 新增 `ApexOptimWrapper` 支持 `Apex` 的混合精度训练功能 -- 支持计算模型复杂度 -- 新增 Lion 优化器 -- 支持在配置文件使用环境变量 +- 支持 PyTorch 2.0!通过编译模型实现训练加速,参考[编译模型文档](https://mmengine.readthedocs.io/en/latest/common_usage/speed_up_training.html#model-compilation)抢先体验 +- 新增 `EarlyStoppingHook`,当监控的指标不再提升时,自动停止训练 -如果想了解更多版本更新细节和历史信息,请阅读[更新日志](./docs/en/notes/changelog.md#v060-02242023) +如果想了解更多版本更新细节和历史信息,请阅读[更新日志](./docs/en/notes/changelog.md#v070-03162023) ## 安装 diff --git a/docs/en/notes/changelog.md b/docs/en/notes/changelog.md index b2a8ab32..44c00060 100644 --- a/docs/en/notes/changelog.md +++ b/docs/en/notes/changelog.md @@ -1,5 +1,48 @@ # Changelog of v0.x +## v0.7.0 (03/16/2023) + +### Highlights + +- Support PyTorch 2.0! Accelerate training by compiling models. See the tutorial [Model Compilation](https://mmengine.readthedocs.io/en/latest/common_usage/speed_up_training.html#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](https://github.com/C1rN09) in https://github.com/open-mmlab/mmengine/pull/976 +- Support `EarlyStoppingHook` by [@nijkah](https://github.com/nijkah) in https://github.com/open-mmlab/mmengine/pull/739 +- Disable duplicated warning during distributed training by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/961 +- Add `FUNCTIONS` root Registry by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/983 +- Save the "memory" field to visualization backends by [@enkilee](https://github.com/enkilee) in https://github.com/open-mmlab/mmengine/pull/974 +- Enable bf16 in `AmpOptimWrapper` by [@C1rN09](https://github.com/C1rN09) in https://github.com/open-mmlab/mmengine/pull/960 +- Support writing data to `vis_backend` with prefix by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/972 +- Support exporting logs of different ranks in debug mode by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/968 +- Silence error when `ManagerMixin` built instance with duplicate name. by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/990 + +### Bug fixes + +- Fix optim_wrapper unittest for `pytorch < 1.10.0` by [@C1rN09](https://github.com/C1rN09) in https://github.com/open-mmlab/mmengine/pull/975 +- Support calculating the flops of `matmul` with single dimension matrix by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/970 +- Fix repeated warning by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/992 +- Fix lint by [@zhouzaida](https://github.com/zhouzaida) in https://github.com/open-mmlab/mmengine/pull/993 +- Fix AMP in Ascend and support using NPUJITCompile environment by [@luomaoling](https://github.com/luomaoling) in https://github.com/open-mmlab/mmengine/pull/994 +- Fix inferencer gets wrong configs path by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/996 + +### Docs + +- Translate "Debug Tricks" to English by [@enkilee](https://github.com/enkilee) in https://github.com/open-mmlab/mmengine/pull/953 +- Translate "Model Analysis" document to English by [@enkilee](https://github.com/enkilee) in https://github.com/open-mmlab/mmengine/pull/956 +- Translate "Model Complexity Analysis" to Chinese. by [@VoyagerXvoyagerx](https://github.com/VoyagerXvoyagerx) in https://github.com/open-mmlab/mmengine/pull/969 +- Add a document about setting interval by [@YuetianW](https://github.com/YuetianW) in https://github.com/open-mmlab/mmengine/pull/964 +- Translate "how to set random seed" by [@xin-li-67](https://github.com/xin-li-67) in https://github.com/open-mmlab/mmengine/pull/930 +- Fix typo by [@zhouzaida](https://github.com/zhouzaida) in https://github.com/open-mmlab/mmengine/pull/965 +- Fix typo in hook document by [@acdart](https://github.com/acdart) in https://github.com/open-mmlab/mmengine/pull/980 +- Fix changelog date by [@HAOCHENYE](https://github.com/HAOCHENYE) in https://github.com/open-mmlab/mmengine/pull/986 + +### Contributors + +A total of 10 developers contributed to this release. Thanks [@xin-li-67](https://github.com/xin-li-67), [@acdart](https://github.com/acdart), [@enkilee](https://github.com/enkilee), [@YuetianW](https://github.com/YuetianW), [@luomaoling](https://github.com/luomaoling), [@nijkah](https://github.com/nijkah), [@VoyagerXvoyagerx](https://github.com/VoyagerXvoyagerx), [@zhouzaida](https://github.com/zhouzaida), [@HAOCHENYE](https://github.com/HAOCHENYE), [@C1rN09](https://github.com/C1rN09) + ## v0.6.0 (02/24/2023) ### Highlights diff --git a/mmengine/version.py b/mmengine/version.py index bb11ba74..9edb3821 100644 --- a/mmengine/version.py +++ b/mmengine/version.py @@ -1,6 +1,6 @@ # Copyright (c) OpenMMLab. All rights reserved. -__version__ = '0.6.0' +__version__ = '0.7.0' def parse_version_info(version_str):