open-mmlab / mmselfsup

OpenMMLab Self-Supervised Learning Toolbox and Benchmark
https://mmselfsup.readthedocs.io/en/latest/
Apache License 2.0
3.14k stars 429 forks source link
beit mae masked-image-modeling moco pytorch self-supervised-learning simclr simsiam unsupervised-learning
 
OpenMMLab website HOT      OpenMMLab platform TRY IT OUT
 
[![PyPI](https://img.shields.io/pypi/v/mmselfsup)](https://pypi.org/project/mmselfsup) [![docs](https://img.shields.io/badge/docs-latest-blue)](https://mmselfsup.readthedocs.io/en/latest/) [![badge](https://github.com/open-mmlab/mmselfsup/workflows/build/badge.svg)](https://github.com/open-mmlab/mmselfsup/actions) [![codecov](https://codecov.io/gh/open-mmlab/mmselfsup/branch/master/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmselfsup) [![license](https://img.shields.io/github/license/open-mmlab/mmselfsup.svg)](https://github.com/open-mmlab/mmselfsup/blob/main/LICENSE) [![open issues](https://isitmaintained.com/badge/open/open-mmlab/mmselfsup.svg)](https://github.com/open-mmlab/mmselfsup/issues) [📘Documentation](https://mmselfsup.readthedocs.io/en/latest/) | [🛠️Installation](https://mmselfsup.readthedocs.io/en/latest/get_started.html) | [👀Model Zoo](https://mmselfsup.readthedocs.io/en/latest/model_zoo.html) | [🆕Update News](https://mmselfsup.readthedocs.io/en/latest/notes/changelog.html) | [🤔Reporting Issues](https://github.com/open-mmlab/mmselfsup/issues/new/choose) 🌟 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](https://github.com/open-mmlab/mmclassification) and [discuss with us](https://github.com/open-mmlab/mmclassification/discussions)!** :point_left:
English | [简体中文](README_zh-CN.md)

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

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.

MMSelfSup v1.0.0rc6 was released in 10/02/2023.

MMSelfSup v1.0.0rc5 was released in 30/12/2022.

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:

More algorithms are in our plan.

Benchmark

Benchmarks Setting
ImageNet Linear Classification (Multi-head) Goyal2019
ImageNet Linear Classification (Last)
ImageNet Semi-Sup Classification
Places205 Linear Classification (Multi-head) Goyal2019
iNaturalist2018 Linear Classification (Multi-head) Goyal2019
PASCAL VOC07 SVM Goyal2019
PASCAL VOC07 Low-shot SVM Goyal2019
PASCAL VOC07+12 Object Detection MoCo
COCO17 Object Detection MoCo
Cityscapes Segmentation MMSeg
PASCAL VOC12 Aug Segmentation MMSeg

Contributing

We appreciate all contributions improving MMSelfSup. Please refer to Contribution Guides for more details about the contributing guideline.

Acknowledgement

MMSelfSup is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new algorithms.

MMSelfSup originates from OpenSelfSup, and we appreciate all early contributions made to OpenSelfSup. A few contributors are listed here: Xiaohang Zhan (@XiaohangZhan), Jiahao Xie (@Jiahao000), Enze Xie (@xieenze), Xiangxiang Chu (@cxxgtxy), Zijian He (@scnuhealthy).

Citation

If you use this toolbox or benchmark in your research, please cite this project.

@misc{mmselfsup2021,
    title={{MMSelfSup}: OpenMMLab Self-Supervised Learning Toolbox and Benchmark},
    author={MMSelfSup Contributors},
    howpublished={\url{https://github.com/open-mmlab/mmselfsup}},
    year={2021}
}

License

This project is released under the Apache 2.0 license.

Projects in OpenMMLab