diff --git a/README.md b/README.md
index acda3047..b67ac4fd 100644
--- a/README.md
+++ b/README.md
@@ -19,16 +19,16 @@
[](https://pypi.org/project/mmselfsup)
-[](https://mmselfsup.readthedocs.io/en/latest/)
+[](https://mmselfsup.readthedocs.io/en/dev-1.x/)
[](https://github.com/open-mmlab/mmselfsup/actions)
[](https://codecov.io/gh/open-mmlab/mmselfsup)
[](https://github.com/open-mmlab/mmselfsup/blob/master/LICENSE)
[](https://github.com/open-mmlab/mmselfsup/issues)
-[📘Documentation](https://mmselfsup.readthedocs.io/en/latest/) |
-[🛠️Installation](https://mmselfsup.readthedocs.io/en/latest/install.html) |
-[👀Model Zoo](https://github.com/open-mmlab/mmselfsup/blob/master/docs/en/model_zoo.md) |
-[🆕Update News](https://mmselfsup.readthedocs.io/en/latest/changelog.html) |
+[📘Documentation](https://mmselfsup.readthedocs.io/en/dev-1.x/) |
+[🛠️Installation](https://mmselfsup.readthedocs.io/en/dev-1.x/get_started.html) |
+[👀Model Zoo](https://mmselfsup.readthedocs.io/en/dev-1.x/model_zoo.html) |
+[🆕Update News](https://mmselfsup.readthedocs.io/en/dev-1.x/notes/changelog.html) |
[🤔Reporting Issues](https://github.com/open-mmlab/mmselfsup/issues/new/choose)
@@ -43,7 +43,7 @@ English | [简体中文](README_zh-CN.md)
MMSelfSup is an open source self-supervised representation learning toolbox based on PyTorch. It is a part of the [OpenMMLab](https://openmmlab.com/) project.
-The master branch works with **PyTorch 1.5** or higher.
+The master branch works with **PyTorch 1.6** or higher.
### Major features
@@ -65,64 +65,71 @@ The master branch works with **PyTorch 1.5** or higher.
## What's New
-MMSelfSup **v0.9.1** was released in 31/05/2022.
+MMSelfSup **v1.0.0rc0** was released in 01/09/2022.
-Highlights of the new version:
+- Based on MMEngine and MMCV.
+- Released with refactor.
+- Refine all documents.
+- Refactor the data pipeline, which is more powerful.
-- Update **BYOL** model and results
-- Refine some documentation
+Please refer to [Changelog](https://mmselfsup.readthedocs.io/en/dev-1.x/notes/changelog.html) for details and release history.
-Please refer to [changelog.md](docs/en/changelog.md) for details and release history.
-
-Differences between MMSelfSup and OpenSelfSup codebases can be found in [compatibility.md](docs/en/compatibility.md).
+Differences between MMSelfSup 1.x and 0.x can be found in [Migration](https://mmselfsup.readthedocs.io/en/dev-1.x/migration.html).
## Installation
-MMSelfSup depends on [PyTorch](https://pytorch.org/), [MMCV](https://github.com/open-mmlab/mmcv) and [MMClassification](https://github.com/open-mmlab/mmclassification).
+MMSelfSup depends on [PyTorch](https://pytorch.org/), [MMCV](https://github.com/open-mmlab/mmcv), [MMEngine](https://github.com/open-mmlab/mmengine) and [MMClassification](https://github.com/open-mmlab/mmclassification).
-Please refer to [install.md](docs/en/install.md) for more detailed instruction.
+Please refer to [Installation](https://mmselfsup.readthedocs.io/en/dev-1.x/get_started.html) for more detailed instruction.
## Get Started
-Please refer to [prepare_data.md](docs/en/prepare_data.md) for dataset preparation and [get_started.md](docs/en/get_started.md) for the basic usage of MMSelfSup.
+For tutorials, we provide [User Guides](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/index.html) for basic usage:
-We also provides tutorials for more details:
+Pretrain
-- [config](docs/en/tutorials/0_config.md)
-- [add new dataset](docs/en/tutorials/1_new_dataset.md)
-- [data pipeline](docs/en/tutorials/2_data_pipeline.md)
-- [add new module](docs/en/tutorials/3_new_module.md)
-- [customize schedules](docs/en/tutorials/4_schedule.md)
-- [customize runtime](docs/en/tutorials/5_runtime.md)
-- [benchmarks](docs/en/tutorials/6_benchmarks.md)
+- [Config](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/1_config.html)
+- [Prepare Dataset](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/2_dataset_prepare.html)
+- [Pretrain with Existing Models](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/3_pretrain.html)
-Besides, we provide [colab tutorial](https://github.com/open-mmlab/mmselfsup/blob/master/demo/mmselfsup_colab_tutorial.ipynb) for basic usage.
+Downetream Tasks
-Please refer to [FAQ](docs/en/faq.md) for frequently asked questions.
+- [Classification](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/classification.html)
+- [Detection](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/detection.html)
+- [Segmentation](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/segmentation.html)
+
+Useful Tools
+
+- [Visualization](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/visualization.html)
+- [Analysis Tools](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/analysis_tools.html)
+
+[Advanced Guides](https://mmselfsup.readthedocs.io/en/dev-1.x/advanced_guides/index.html) and [Colab Tutorials](https://github.com/open-mmlab/mmselfsup/blob/dev-1.x/demo/mmselfsup_colab_tutorial.ipynb) are also provided.
+
+Please refer to [FAQ](https://mmselfsup.readthedocs.io/en/dev-1.x/notes/faq.html) for frequently asked questions.
## Model Zoo
-Please refer to [model_zoo.md](docs/en/model_zoo.md) for a comprehensive set of pre-trained models and benchmarks.
+Please refer to [Model Zoo.md](https://mmselfsup.readthedocs.io/en/dev-1.x/model_zoo.html) for a comprehensive set of pre-trained models and benchmarks.
Supported algorithms:
-- [x] [Relative Location (ICCV'2015)](https://arxiv.org/abs/1505.05192)
-- [x] [Rotation Prediction (ICLR'2018)](https://arxiv.org/abs/1803.07728)
-- [x] [DeepCluster (ECCV'2018)](https://arxiv.org/abs/1807.05520)
-- [x] [NPID (CVPR'2018)](https://arxiv.org/abs/1805.01978)
-- [x] [ODC (CVPR'2020)](https://arxiv.org/abs/2006.10645)
-- [x] [MoCo v1 (CVPR'2020)](https://arxiv.org/abs/1911.05722)
-- [x] [SimCLR (ICML'2020)](https://arxiv.org/abs/2002.05709)
-- [x] [MoCo v2 (ArXiv'2020)](https://arxiv.org/abs/2003.04297)
-- [x] [BYOL (NeurIPS'2020)](https://arxiv.org/abs/2006.07733)
-- [x] [SwAV (NeurIPS'2020)](https://arxiv.org/abs/2006.09882)
-- [x] [DenseCL (CVPR'2021)](https://arxiv.org/abs/2011.09157)
-- [x] [SimSiam (CVPR'2021)](https://arxiv.org/abs/2011.10566)
-- [x] [Barlow Twins (ICML'2021)](https://arxiv.org/abs/2103.03230)
-- [x] [MoCo v3 (ICCV'2021)](https://arxiv.org/abs/2104.02057)
-- [x] [MAE](https://arxiv.org/abs/2111.06377)
-- [x] [SimMIM](https://arxiv.org/abs/2111.09886)
-- [x] [CAE](https://arxiv.org/abs/2202.03026)
+- [x] [Relative Location (ICCV'2015)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/relavive_loc)
+- [x] [Rotation Prediction (ICLR'2018)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/rotation_pred)
+- [x] [DeepCluster (ECCV'2018)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/deepcluster)
+- [x] [NPID (CVPR'2018)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/npid)
+- [x] [ODC (CVPR'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/odc)
+- [x] [MoCo v1 (CVPR'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mocov1)
+- [x] [SimCLR (ICML'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/simclr)
+- [x] [MoCo v2 (ArXiv'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/byol)
+- [x] [BYOL (NeurIPS'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mocov2)
+- [x] [SwAV (NeurIPS'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/swav)
+- [x] [DenseCL (CVPR'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/densecl)
+- [x] [SimSiam (CVPR'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/simsiam)
+- [x] [Barlow Twins (ICML'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/barlowtwins)
+- [x] [MoCo v3 (ICCV'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mocov3)
+- [x] [MAE (CVPR'2022)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mae)
+- [x] [SimMIM (CVPR'2022)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/simmim)
+- [x] [CAE (ArXiv'2022)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/cae)
More algorithms are in our plan.
@@ -144,7 +151,7 @@ More algorithms are in our plan.
## Contributing
-We appreciate all contributions improving MMSelfSup. Please refer to [CONTRIBUTING.md](.github/CONTRIBUTING.md) for more details about the contributing guideline.
+We appreciate all contributions improving MMSelfSup. Please refer to [Contribution Guides](https://mmselfsup.readthedocs.io/en/dev-1.x/notes/contribution_guide.html) for more details about the contributing guideline.
## Acknowledgement
@@ -172,6 +179,7 @@ This project is released under the [Apache 2.0 license](LICENSE).
## Projects in OpenMMLab
+- [MMEngine](https://github.com/open-mmlab/mmengine): OpenMMLab foundational library for training deep learning models.
- [MMCV](https://github.com/open-mmlab/mmcv): OpenMMLab foundational library for computer vision.
- [MIM](https://github.com/open-mmlab/mim): MIM installs OpenMMLab packages.
- [MMClassification](https://github.com/open-mmlab/mmclassification): OpenMMLab image classification toolbox and benchmark.
diff --git a/README_zh-CN.md b/README_zh-CN.md
index a26278b8..eee039d3 100644
--- a/README_zh-CN.md
+++ b/README_zh-CN.md
@@ -19,16 +19,16 @@
[](https://pypi.org/project/mmselfsup)
-[](https://mmselfsup.readthedocs.io/en/latest/)
+[](https://mmselfsup.readthedocs.io/en/dev-1.x/)
[](https://github.com/open-mmlab/mmselfsup/actions)
[](https://codecov.io/gh/open-mmlab/mmselfsup)
[](https://github.com/open-mmlab/mmselfsup/blob/master/LICENSE)
[](https://github.com/open-mmlab/mmselfsup/issues)
-[📘使用文档](https://mmselfsup.readthedocs.io/zh_CN/latest/) |
-[🛠️安装教程](https://mmselfsup.readthedocs.io/zh_CN/latest/install.html) |
-[👀模型库](https://github.com/open-mmlab/mmselfsup/blob/master/docs/zh_cn/model_zoo.md) |
-[🆕更新日志](https://mmselfsup.readthedocs.io/zh_CN/latest/changelog.html) |
+[📘使用文档](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/) |
+[🛠️安装教程](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/get_started.html) |
+[👀模型库](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/model_zoo.html) |
+[🆕更新日志](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/notes/changelog.html) |
[🤔报告问题](https://github.com/open-mmlab/mmselfsup/issues/new/choose)
@@ -43,7 +43,7 @@
MMSelfSup 是一个基于 PyTorch 实现的开源自监督表征学习工具箱,是 [OpenMMLab](https://openmmlab.com/) 项目成员之一。
-主分支代码支持 **PyTorch 1.5** 及以上的版本。
+主分支代码支持 **PyTorch 1.6** 及以上的版本。
### 主要特性
@@ -65,64 +65,73 @@ MMSelfSup 是一个基于 PyTorch 实现的开源自监督表征学习工具箱
## 更新
-最新的 **v0.9.1** 版本已经在 2022.05.31 发布。
+最新的 **v1.0.0rc0** 版本已经在 2022.09.01 发布。
新版本亮点:
-- 更新 **BYOL** 模型和结果
-- 更新优化部分文档
+- 基于 MMEngine 和 MMCV
+- 全面代码重构
+- 文档更新
+- 更强大的数据流
-请参考 [更新日志](docs/zh_cn/changelog.md) 获取更多细节和历史版本信息。
+请参考 [更新日志](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/notes/changelog.html) 获取更多细节和历史版本信息。
-MMSelfSup 和 OpenSelfSup 的不同点写在 [对比文档](docs/en/compatibility.md) 中。
+MMSelfSup 1.x 和 0.x 的不同点写在 [迁移文档](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/migration.html) 中。
## 安装
-MMSelfSup 依赖 [PyTorch](https://pytorch.org/), [MMCV](https://github.com/open-mmlab/mmcv) 和 [MMClassification](https://github.com/open-mmlab/mmclassification).
+MMSelfSup 依赖 [PyTorch](https://pytorch.org/), [MMCV](https://github.com/open-mmlab/mmcv), [MMEngine](https://github.com/open-mmlab/mmengine) 和 [MMClassification](https://github.com/open-mmlab/mmclassification)。
-请参考 [安装文档](docs/zh_cn/install.md) 获取更详细的安装指南。
+请参考 [安装文档](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/get_started.html) 获取更详细的安装指南。
## 快速入门
-请参考 [准备数据](docs/zh_cn/prepare_data.md) 准备数据集和 [入门指南](docs/zh_cn/get_started.md) 获取 MMSelfSup 的基本使用方法.
+我们针对基础使用和进阶用法提供了 [用户指引](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/index.html):
-我们也提供了更加全面的教程,包括:
+Pretrain
-- [配置文件](docs/zh_cn/tutorials/0_config.md)
-- [添加数据集](docs/zh_cn/tutorials/1_new_dataset.md)
-- [数据处理流](docs/zh_cn/tutorials/2_data_pipeline.md)
-- [添加新模块](docs/zh_cn/tutorials/3_new_module.md)
-- [自定义流程](docs/zh_cn/tutorials/4_schedule.md)
-- [自定义运行](docs/zh_cn/tutorials/5_runtime.md)
-- [基准测试](docs/zh_cn/tutorials/6_benchmarks.md)
+- [Config](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/1_config.html)
+- [Prepare Dataset](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/2_dataset_prepare.html)
+- [Pretrain with Existing Models](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/3_pretrain.html)
-另外,我们提供了 [colab 教程](https://github.com/open-mmlab/mmselfsup/blob/master/demo/mmselfsup_colab_tutorial.ipynb)。
+Downetream Tasks
-如果遇到问题,请参考 [常见问题解答](docs/zh_cn/faq.md)。
+- [Classification](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/classification.html)
+- [Detection](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/detection.html)
+- [Segmentation](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/segmentation.html)
+
+Useful Tools
+
+- [Visualization](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/visualization.html)
+- [Analysis Tools](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/user_guides/analysis_tools.html)
+
+我们也提供了 [进阶指引](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/advanced_guides/index.html) 和 [Colab 教程](https://github.com/open-mmlab/mmselfsup/blob/master/demo/mmselfsup_colab_tutorial.ipynb)。
+
+如果遇到问题,请参考 [常见问题解答](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/notes/faq.html)。
## 模型库
-请参考 [模型库](docs/zh_cn/model_zoo.md) 查看我们更加全面的模型基准结果。
+请参考 [模型库](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/model_zoo.html) 查看我们更加全面的模型基准结果。
目前已支持的算法:
-- [x] [Relative Location (ICCV'2015)](https://arxiv.org/abs/1505.05192)
-- [x] [Rotation Prediction (ICLR'2018)](https://arxiv.org/abs/1803.07728)
-- [x] [DeepCLuster (ECCV'2018)](https://arxiv.org/abs/1807.05520)
-- [x] [NPID (CVPR'2018)](https://arxiv.org/abs/1805.01978)
-- [x] [ODC (CVPR'2020)](https://arxiv.org/abs/2006.10645)
-- [x] [MoCo v1 (CVPR'2020)](https://arxiv.org/abs/1911.05722)
-- [x] [SimCLR (ICML'2020)](https://arxiv.org/abs/2002.05709)
-- [x] [MoCo v2 (ArXiv'2020)](https://arxiv.org/abs/2003.04297)
-- [x] [BYOL (NeurIPS'2020)](https://arxiv.org/abs/2006.07733)
-- [x] [SwAV (NeurIPS'2020)](https://arxiv.org/abs/2006.09882)
-- [x] [DenseCL (CVPR'2021)](https://arxiv.org/abs/2011.09157)
-- [x] [SimSiam (CVPR'2021)](https://arxiv.org/abs/2011.10566)
-- [x] [Barlow Twins (ICML'2021)](https://arxiv.org/abs/2103.03230)
-- [x] [MoCo v3 (ICCV'2021)](https://arxiv.org/abs/2104.02057)
-- [x] [MAE](https://arxiv.org/abs/2111.06377)
-- [x] [SimMIM](https://arxiv.org/abs/2111.09886)
-- [x] [CAE](https://arxiv.org/abs/2202.03026)
+- [x] [Relative Location (ICCV'2015)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/relavive_loc)
+- [x] [Rotation Prediction (ICLR'2018)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/rotation_pred)
+- [x] [DeepCluster (ECCV'2018)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/deepcluster)
+- [x] [NPID (CVPR'2018)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/npid)
+- [x] [ODC (CVPR'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/odc)
+- [x] [MoCo v1 (CVPR'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mocov1)
+- [x] [SimCLR (ICML'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/simclr)
+- [x] [MoCo v2 (ArXiv'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/byol)
+- [x] [BYOL (NeurIPS'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mocov2)
+- [x] [SwAV (NeurIPS'2020)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/swav)
+- [x] [DenseCL (CVPR'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/densecl)
+- [x] [SimSiam (CVPR'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/simsiam)
+- [x] [Barlow Twins (ICML'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/barlowtwins)
+- [x] [MoCo v3 (ICCV'2021)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mocov3)
+- [x] [MAE (CVPR'2022)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mae)
+- [x] [SimMIM (CVPR'2022)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/simmim)
+- [x] [CAE (ArXiv'2022)](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/cae)
更多的算法实现已经在我们的计划中。
@@ -144,7 +153,7 @@ MMSelfSup 依赖 [PyTorch](https://pytorch.org/), [MMCV](https://github.com/open
## 参与贡献
-我们非常欢迎任何有助于提升 MMSelfSup 的贡献,请参考 [贡献指南](.github/CONTRIBUTING.md) 来了解如何参与贡献。
+我们非常欢迎任何有助于提升 MMSelfSup 的贡献,请参考 [贡献指南](https://mmselfsup.readthedocs.io/zh_CN/dev-1.x/notes/contribution_guide.html) 来了解如何参与贡献。
## 致谢
@@ -171,6 +180,7 @@ MMSelfSup 是一款由不同学校和公司共同贡献的开源项目,我们
## OpenMMLab 的其他项目
+- [MMEngine](https://github.com/open-mmlab/mmengine): OpenMMLab 深度学习模型训练基础库
- [MMCV](https://github.com/open-mmlab/mmcv): OpenMMLab 计算机视觉基础库
- [MIM](https://github.com/open-mmlab/mim): MIM 是 OpenMMlab 项目、算法、模型的统一入口
- [MMClassification](https://github.com/open-mmlab/mmclassification): OpenMMLab 图像分类工具箱
diff --git a/docker/Dockerfile b/docker/Dockerfile
index edba0e18..7fc5c91c 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -12,12 +12,15 @@ RUN apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
-# Install MMCV MMDetection MMSegmentation
-RUN pip install mmcv-full==1.3.16 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html
-RUN pip install mmsegmentation mmdet
+# Install MMEngine and MMCV
+RUN pip install openmim
+RUN mim install mmengine "mmcv>=2.0.0rc1"
+RUN mim install mmsegmentation mmdet
+
# Install MMSelfSup
RUN conda clean --all
RUN git clone https://github.com/open-mmlab/mmselfsup.git /mmselfsup
WORKDIR /mmselfsup
ENV FORCE_CUDA="1"
+RUN git checkout 1.x
RUN pip install --no-cache-dir -e .
diff --git a/docs/en/advanced_guides/data_flow.md b/docs/en/advanced_guides/data_flow.md
index c02c8d82..a4efc942 100644
--- a/docs/en/advanced_guides/data_flow.md
+++ b/docs/en/advanced_guides/data_flow.md
@@ -14,7 +14,7 @@ Data flow defines how data should be passed between two isolated modules, e.g. d
In MMSelfSup, we mainly focus on the data flow between dataloader and model, and between model and visualizer. As for the
data flow between model and metric, please refer to the docs in other repos, e.g. [MMClassification](https://github.com/open-mmlab/mmclassification).
-Also for data flow between model and visualizer, you can refer to [visualization](../user/guides/visualization.md)
+Also for data flow between model and visualizer, you can refer to [visualization](../user_guides/visualization.md)
## Data flow between dataloader and model
diff --git a/docs/en/get_started.md b/docs/en/get_started.md
index d23678f2..03f08cfc 100644
--- a/docs/en/get_started.md
+++ b/docs/en/get_started.md
@@ -4,6 +4,8 @@
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Best practices](#best-practices)
+ - [Install from source](#install-from-source)
+ - [Install as a Python package](#install-as-a-python-package)
- [Verify the installation](#verify-the-installation)
- [Customize installation](#customize-installation)
- [Benchmark](#benchmark)
@@ -189,10 +191,10 @@ To install MMCV with pip instead of MIM, please follow [MMCV installation guides
For example, the following command installs mmcv-full built for PyTorch 1.12.0 and CUDA 11.6.
```shell
-pip install 'mmcv-full>=2.0.0rc1' -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.12.0/index.html
+pip install 'mmcv>=2.0.0rc1' -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.12.0/index.html
```
-### Install on CPU-only platforms
+#### Install on CPU-only platforms
MMSelfSup can be built for CPU only environment. In CPU mode, you can train, test or inference a model.
diff --git a/docs/en/notes/changelog.md b/docs/en/notes/changelog.md
index 74cf987e..61e0a545 100644
--- a/docs/en/notes/changelog.md
+++ b/docs/en/notes/changelog.md
@@ -5,7 +5,7 @@
### v1.0.0rc0 (01/09/2022)
We are excited to announce the release of MMSelfSup v1.0.0rc0.
-MMSelfSup v1.0.0rc0 is the first version of MMSelfSup 1.x, a part of the OpenMMLab 2.x projects.
+MMSelfSup v1.0.0rc0 is the first version of MMSelfSup 1.x, a part of the OpenMMLab 2.x projects.
The `master` branch is still 0.x version and we will checkout a new `1.x` branch to release 1.x version. The two versions will be maintained simultaneously in the future.
We briefly list the major breaking changes here. Please refer to the [migration guide](../migration.md) for details and migration instructions.
diff --git a/docs/en/notes/faq.md b/docs/en/notes/faq.md
index a2ea424d..b6edddb9 100644
--- a/docs/en/notes/faq.md
+++ b/docs/en/notes/faq.md
@@ -8,20 +8,21 @@ We list some common troubles faced by many users and their corresponding solutio
## Installation
-Compatible MMCV, MMClassification, MMDetection and MMSegmentation versions are shown below. Please install the correct version of them to avoid installation issues.
+Compatible MMEngine, MMCV, MMClassification, MMDetection and MMSegmentation versions are shown below. Please install the correct version of them to avoid installation issues.
-| MMSelfSup version | MMCV version | MMClassification version | MMSegmentation version | MMDetection version |
-| :---------------: | :-----------------: | :-------------------------: | :--------------------: | :-----------------: |
-| 0.9.1 (master) | mmcv-full >= 1.4.2 | mmcls >= 0.21.0 | mmseg >= 0.20.2 | mmdet >= 2.19.0 |
-| 0.9.0 | mmcv-full >= 1.4.2 | mmcls >= 0.21.0 | mmseg >= 0.20.2 | mmdet >= 2.19.0 |
-| 0.8.0 | mmcv-full >= 1.4.2 | mmcls >= 0.21.0 | mmseg >= 0.20.2 | mmdet >= 2.19.0 |
-| 0.7.1 | mmcv-full >= 1.3.16 | mmcls >= 0.19.0, \<= 0.20.1 | mmseg >= 0.20.2 | mmdet >= 2.16.0 |
-| 0.6.0 | mmcv-full >= 1.3.16 | mmcls >= 0.19.0 | mmseg >= 0.20.2 | mmdet >= 2.16.0 |
-| 0.5.0 | mmcv-full >= 1.3.16 | / | mmseg >= 0.20.2 | mmdet >= 2.16.0 |
+| MMSelfSup version | MMEngine version | MMCV version | MMClassification version | MMSegmentation version | MMDetection version |
+| :---------------: | :---------------: | :-----------------: | :-------------------------: | :--------------------: | :-----------------: |
+| 1.0.0rc0 (1.x) | mmengine >= 0.5.0 | mmcv >= 2.0.0rc1 | mmcls >= 1.0.0rc0 | mmseg >= 1.0.0rc0 | mmdet >= 3.0.0rc0 |
+| 0.9.1 | / | mmcv-full >= 1.4.2 | mmcls >= 0.21.0 | mmseg >= 0.20.2 | mmdet >= 2.19.0 |
+| 0.9.0 | / | mmcv-full >= 1.4.2 | mmcls >= 0.21.0 | mmseg >= 0.20.2 | mmdet >= 2.19.0 |
+| 0.8.0 | / | mmcv-full >= 1.4.2 | mmcls >= 0.21.0 | mmseg >= 0.20.2 | mmdet >= 2.19.0 |
+| 0.7.1 | / | mmcv-full >= 1.3.16 | mmcls >= 0.19.0, \<= 0.20.1 | mmseg >= 0.20.2 | mmdet >= 2.16.0 |
+| 0.6.0 | / | mmcv-full >= 1.3.16 | mmcls >= 0.19.0 | mmseg >= 0.20.2 | mmdet >= 2.16.0 |
+| 0.5.0 | / | mmcv-full >= 1.3.16 | / | mmseg >= 0.20.2 | mmdet >= 2.16.0 |
**Note:**
-- You need to run `pip uninstall mmcv` first if you have mmcv installed. If mmcv and mmcv-full are both installed, there will be `ModuleNotFoundError`.
+- MMDetection and MMSegmentation are optional.
- If you still have version problem, please create an issue and provide your package versions.
## DeepCluster on A100 GPU
diff --git a/docs/en/overview.md b/docs/en/overview.md
index d8f1942a..a9af6f48 100644
--- a/docs/en/overview.md
+++ b/docs/en/overview.md
@@ -3,7 +3,9 @@
- [Overview](#overview)
- [Introduction of Self-supervised Learning](#introduction-of-self-supervised-learning)
- [Design of MMSelfSup](#design-of-mmselfsup)
- - [Hands-on Roadmap of MMselfSup](#hands-on-roadmap-of-mmselfsup)
+ - [Hands-on Roadmap of MMSelfSup](#hands-on-roadmap-of-mmselfsup)
+ - [Play with MMSelfSup](#play-with-mmselfsup)
+ - [Learn SSL with MMSelfSup](#learn-ssl-with-mmselfsup)
In this section, We would like to give a quick review of the open-source library [MMSelfSup](https://github.com/open-mmlab/mmselfsup).
@@ -38,12 +40,12 @@ Typically, SSL is considered as the pre-training algorithm for various model arc
- For the user who wants to try MMSelfSup with various SSL algorithms. We first refer the user to [Get Started](./get_started.md) for the **environment setup**.
-- For the pre-training stage, we refer the user to [Pre-train](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/#pretrain) for using various SSL algorithms to obtain the pre-trained model.
+- For the pre-training stage, we refer the user to [Pre-train](user_guides/3_pretrain.md) for using various SSL algorithms to obtain the pre-trained model.
- For the benchmark stage, we refer the user to [Benchmark](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/#downstream-tasks) for examples and usage of applying the pre-trained models in many downstream tasks.
-- Also, we provide some analysis tools and visualization tools [Useful Tools](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/#downstream-tasks) to help diagnose the algorithm.
+- Also, we provide some analysis tools and visualization tools [Useful Tools](https://mmselfsup.readthedocs.io/en/dev-1.x/user_guides/#useful-tools) to help diagnose the algorithm.
### Learn SSL with MMSelfSup
-If you are new to SSL, we recommend using the [Model Zoo](https://mmselfsup.readthedocs.io/en/dev-1.x/model_zoo.html) as a reference to learn the representative SSL algorithms.
+If you are new to SSL, we recommend using the [Model Zoo](model_zoo.md) as a reference to learn the representative SSL algorithms.
diff --git a/mmselfsup/__init__.py b/mmselfsup/__init__.py
index 6fd8a39d..52360e7d 100644
--- a/mmselfsup/__init__.py
+++ b/mmselfsup/__init__.py
@@ -5,11 +5,12 @@ from mmengine.utils import digit_version
from .version import __version__
-mmcv_minimum_version = '2.0.0rc0'
+mmcv_minimum_version = '2.0.0rc1'
mmcv_maximum_version = '2.1.0'
mmcv_version = digit_version(mmcv.__version__)
mmcls_minimum_version = '1.0.0rc0'
+mmcls_maximum_version = '1.1.0'
mmcls_version = digit_version(mmcls.__version__)
@@ -18,8 +19,9 @@ assert (mmcv_version >= digit_version(mmcv_minimum_version)
f'MMCV=={mmcv.__version__} is used but incompatible. ' \
f'Please install mmcv>={mmcv_minimum_version}, <{mmcv_maximum_version}.'
-assert mmcls_version >= digit_version(mmcls_minimum_version), \
+assert (mmcls_version >= digit_version(mmcls_minimum_version)
+ and mmcls_version < digit_version(mmcls_maximum_version)), \
f'MMClassification=={mmcls.__version__} is used but incompatible. ' \
- f'Please install mmcls>={mmcls_minimum_version}.'
+ f'Please install mmcls>={mmcls_minimum_version}, <{mmcls_maximum_version}.'
__all__ = ['__version__']
diff --git a/mmselfsup/models/algorithms/odc.py b/mmselfsup/models/algorithms/odc.py
index 83481ecb..cf0dd861 100644
--- a/mmselfsup/models/algorithms/odc.py
+++ b/mmselfsup/models/algorithms/odc.py
@@ -2,7 +2,6 @@
from typing import Dict, List, Optional, Tuple, Union
import torch
-import torch.nn as nn
from mmengine.device import get_device
from mmengine.structures import LabelData
diff --git a/requirements/docs.txt b/requirements/docs.txt
index 7949d09a..ba5d8b24 100644
--- a/requirements/docs.txt
+++ b/requirements/docs.txt
@@ -4,7 +4,6 @@ myst_parser
-e git+https://github.com/open-mmlab/pytorch_sphinx_theme.git#egg=pytorch_sphinx_theme
recommonmark
sphinx==4.0.2
-sphinx==4.0.2
sphinx-copybutton
sphinx_markdown_tables>=0.0.16
sphinx_rtd_theme==0.5.2
diff --git a/requirements/mminstall.txt b/requirements/mminstall.txt
index 6bdb5cd0..59a12ba3 100644
--- a/requirements/mminstall.txt
+++ b/requirements/mminstall.txt
@@ -1,4 +1,5 @@
-mmcls >= 0.21.0
-mmcv-full>=1.4.2
-mmdet >= 2.16.0
-mmsegmentation >= 0.20.2
+mmcls>=1.0.0rc0,<1.1.0
+mmcv>=2.0.0rc1,<2.1.0
+mmdet>=3.0.0rc0,<3.1.0
+mmengine>=0.1.0
+mmsegmentation>=1.0.0rc0,<1.1.0
diff --git a/requirements/readthedocs.txt b/requirements/readthedocs.txt
index 0f360e4e..ed839a8c 100644
--- a/requirements/readthedocs.txt
+++ b/requirements/readthedocs.txt
@@ -1,5 +1,6 @@
-faiss-cpu
-mmcv>=1.4.2
+mmcls
+mmcv>=2.0.0rc1
+mmengine
mmselfsup
scikit-learn
torch
diff --git a/requirements/runtime.txt b/requirements/runtime.txt
index 6423aebd..02d570d9 100644
--- a/requirements/runtime.txt
+++ b/requirements/runtime.txt
@@ -1,7 +1,7 @@
attrs
future
matplotlib
-mmcls
+mmcls>=2.0.0rc0
numpy
packaging
scikit-learn