Mmselfsup
OpenMMLab Self-Supervised Learning Toolbox and Benchmark
Install / Use
/learn @open-mmlab/MmselfsupREADME
📘Documentation | 🛠️Installation | 👀Model Zoo | 🆕Update News | 🤔Reporting Issues
<img src="https://user-images.githubusercontent.com/36138628/230306412-43a5f316-bd54-4d2a-b196-210656e74683.png" width="500"/>🌟 MMPreTrain is a newly upgraded open-source framework for visual pre-training. It has set out to provide multiple powerful pre-trained backbones and support different pre-training strategies.
:point_right: MMPreTrain 1.0 branch is in trial, welcome every to try it and discuss with us! :point_left:
</div> <div align="center">English | 简体中文
</div> <div align="center"> <a href="https://openmmlab.medium.com/" style="text-decoration:none;"> <img src="https://user-images.githubusercontent.com/25839884/219255827-67c1a27f-f8c5-46a9-811d-5e57448c61d1.png" width="3%" alt="" /></a> <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" /> <a href="https://discord.gg/raweFPmdzG" style="text-decoration:none;"> <img src="https://user-images.githubusercontent.com/25839884/218347213-c080267f-cbb6-443e-8532-8e1ed9a58ea9.png" width="3%" alt="" /></a> <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" /> <a href="https://twitter.com/OpenMMLab" style="text-decoration:none;"> <img src="https://user-images.githubusercontent.com/25839884/218346637-d30c8a0f-3eba-4699-8131-512fb06d46db.png" width="3%" alt="" /></a> <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" /> <a href="https://www.youtube.com/openmmlab" style="text-decoration:none;"> <img src="https://user-images.githubusercontent.com/25839884/218346691-ceb2116a-465a-40af-8424-9f30d2348ca9.png" width="3%" alt="" /></a> <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" /> <a href="https://space.bilibili.com/1293512903" style="text-decoration:none;"> <img src="https://user-images.githubusercontent.com/25839884/219026751-d7d14cce-a7c9-4e82-9942-8375fca65b99.png" width="3%" alt="" /></a> <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" /> <a href="https://www.zhihu.com/people/openmmlab" style="text-decoration:none;"> <img src="https://user-images.githubusercontent.com/25839884/219026120-ba71e48b-6e94-4bd4-b4e9-b7d175b5e362.png" width="3%" alt="" /></a> </div>Introduction
MMSelfSup is an open source self-supervised representation learning toolbox based on PyTorch. It is a part of the OpenMMLab project.
The master branch works with PyTorch 1.8 or higher.
Major features
-
Methods All in One
MMSelfsup provides state-of-the-art methods in self-supervised learning. For comprehensive comparison in all benchmarks, most of the pre-training methods are under the same setting.
-
Modular Design
MMSelfSup follows a similar code architecture of OpenMMLab projects with modular design, which is flexible and convenient for users to build their own algorithms.
-
Standardized Benchmarks
MMSelfSup standardizes the benchmarks including logistic regression, SVM / Low-shot SVM from linearly probed features, semi-supervised classification, object detection and semantic segmentation.
-
Compatibility
Since MMSelfSup adopts similar design of modulars and interfaces as those in other OpenMMLab projects, it supports smooth evaluation on downstream tasks with other OpenMMLab projects like object detection and segmentation.
What's New
MMSelfSup v1.0.0 was released based on main branch. Please refer to Migration Guide for more details.
MMSelfSup v1.0.0 was released in 06/04/2023.
- Support
PixMIM. - Support
DINOinprojects/dino/. - Refactor file io interface.
- Refine documentations.
MMSelfSup v1.0.0rc6 was released in 10/02/2023.
- Support
MaskFeatwith video dataset inprojects/maskfeat_video/ - Translate documentation to Chinese.
MMSelfSup v1.0.0rc5 was released in 30/12/2022.
- Support
BEiT v2,MixMIM,EVA. - Support
ShapeBiasfor model analysis - Add Solution of FGIA ACCV 2022 (1st Place)
- Refactor t-SNE
Please refer to Changelog for details and release history.
Differences between MMSelfSup 1.x and 0.x can be found in Migration.
Installation
MMSelfSup depends on PyTorch, MMCV, MMEngine and MMClassification.
Please refer to Installation for more detailed instruction.
Get Started
For tutorials, we provide User Guides for basic usage:
Pretrain
Downetream Tasks
Useful Tools
Advanced Guides and Colab Tutorials are also provided.
Please refer to FAQ for frequently asked questions.
Model Zoo
Please refer to Model Zoo.md for a comprehensive set of pre-trained models and benchmarks.
Supported algorithms:
- [x] Relative Location (ICCV'2015)
- [x] Rotation Prediction (ICLR'2018)
- [x] DeepCluster (ECCV'2018)
- [x] NPID (CVPR'2018)
- [x] ODC (CVPR'2020)
- [x] MoCo v1 (CVPR'2020)
- [x] SimCLR (ICML'2020)
- [x] MoCo v2 (arXiv'2020)
- [x] BYOL (NeurIPS'2020)
- [x] SwAV (NeurIPS'2020)
- [x] DenseCL (CVPR'2021)
- [x] SimSiam (CVPR'2021)
- [x] Barlow Twins (ICML'2021)
- [x] MoCo v3 (ICCV'2021)
- [x] BEiT (ICLR'2022)
- [x] MAE (CVPR'2022)
- [x] SimMIM (CVPR'2022)
- [x] [MaskFeat (CVPR'2022)](https://github.com/open-mmlab/mmselfsup
