mmselfsup/README_zh-CN.md
Yixiao Fang 47f6feb925
Bump version to v0.7.0 (#229)
* [Enhance] add pre-commit hook for algo-readme and copyright (#213)

* [Enhance] add test windows in workflows (#215)

* [Enhance] add test windows in workflows

* fix lint

* add optional requirements

* add try-except judgement

* add opencv installation in windows test steps

* fix path error on windows

* update

* update path

* update

* add pytest skip for algorithm test

* update requirements/runtime.txt

* update pytest skip

* [Docs] translate 0_config.md into Chinese (#216)

* [Docs] translate 0_config.md into Chinese

* [Fix] fix format description in 0_config.md

* Update: 0_config.md

* [Fix] fix tsne 'no `init_cfg`' error (#222)

* [Fix] fix tsne 'no init_cfg' and pool_type errors

* [Refactor] fix linting of tsne vis

* [Docs] reorganizing OpenMMLab projects and update algorithms in readme (#219)

* [Docs] reorganizing OpenMMLab projects and update algorithms in readme

* using small letters

* fix typo

* [Fix] fix image channel bgr/rgb bug and update benchmarks (#210)

* [Fix] fix image channel bgr/rgb bug

* update model zoo

* update readme and metafile

* [Fix] fix typo

* [Fix] fix typo

* [Fix] fix lint

* modify Places205 directory according to the downloaded dataset

* update results

* [Fix] Fix the bug when using prefetch under multi-view methods, e.g., DenseCL (#218)

* fig bug for prefetch_loader under multi-view setting

* fix lint problem

Co-authored-by: liming <liming.ai@bytedance.com>

* [Feature]: MAE official (#221)

* [Feature]: MAE single image pre-training

* [Fix]: Fix config

* [Fix]: Fix dataset link

* [Feature]: Add run

* [Refactor]: Delete spot

* [Feature]: ignore nohup output file

* [Feature]: Add auto script to generate run cmd

* [Refactor]: Refactor mae config file

* [Feature]: sz20 settings

* [Feature]: Add auto resume

* [Fix]: Fix lint

* [Feature]: Make git ignore txt

* [Refactor]: Delete gpus in script

* [Fix]: Make generate_cmd to add --async

* [Feature]: Initial version of Vit fine-tune

* [Fix]: Add 1424 specific settings

* [Fix]: Fix missing file client bug for 1424

* [Feature]: 1424 customized settings

* [Fix]: Make drop in eval to False

* [Feature]: Change the finetune and pre-training settings

* [Feature]: Add debug setting

* [Refactor]: Refactor the model

* [Feature]: Customized settings

* [Feature]: Add A100 settings

* [Fix]: Change mae to imagenet

* [Feature]: Change mae pretrain num workers to 32

* [Feature]: Change num workers to 16

* [Feature]: Add A100 setting for pre_release ft version

* [Feature]: Add img_norm_cfg

* [Fix]: Fix mae cls test missing logits bug

* [Fix]: Fix mae cls head bias initialize to zero

* [Feature]: Rename mae config name

* [Feature]: Add MAE README.md

* [Fix]: Fix lint

* [Feature]: Fix typo

* [Fix]: Fix typo

* [Feature]: Fix invalid link

* [Fix]: Fix finetune config file name

* [Feature]: Official pretrain v1

* [Feature]: Change log interval to 100

* [Feature]: pretrain 1600 epochs

* [Fix]: Change encoder num head to 12

* [Feature]: Mix precision

* [Feature]: Add default value to random masking

* [Feature]: Official MAE finetune

* [Feature]: Finetune img per gpu 32

* [Feature]: Add multi machine training for lincls

* [Fix]: Fix lincls master port master addr

* [Feature]: Change img per gpu to 128

* [Feature]: Add linear eval and Refactor

* [Fix]: Fix debug mode

* [Fix]: Delete MAE dataset in __init__.py

* [Feature]: normalize pixel for mae

* [Fix]: Fix lint

* [Feature]: LARS for linear eval

* [Feature]: Add lars for mae linear eval

* [Feature]: Change mae linear lars num workers to 32

* [Feature]: Change mae linear lars num workers to 8

* [Feature]: log every 25 iter for mae linear eval lars

* [Feature]: Add 1600 epoch and 800 epoch pretraining

* [Fix]: Change linear eval to 902

* [Fix]: Add random flip to linear eval

* [Fix]: delete fp16 in mae

* [Refactor]: Change backbone to mmcls

* [Fix]: Align finetune settings

* [Fix]: replace timm trunc_normal with mmcv trunc_normal

* [Fix]: Change finetune layer_decay to 0.65

* [Fix]: Delete pretrain last norm when global_pooling

* [Fix]: set requires_grad of norm1 to False

* [Fix]: delete norm1

* [Fix]: Fix docstring bug

* [Fix]: Fix lint

* [Fix]: Add external link

* [Fix]: Delete auto_resume and reformat config readme.

* [Fix]: Fix pytest bug

* [Fix]: Fix lint

* [Refactor]: Rename filename

* [Feature]: Add docstring

* [Fix]: Rename config file name

* [Fix]: Fix name inconsistency bug

* [Fix]: Change the default value of persistent_worker in builder to True

* [Fix]: Change the default value of CPUS_PER_TASK to 5

* [Fix]: Add a blank line to line136 in tools/train.py

* [Fix]: Fix MAE algorithm docstring format and add paper name and url

* [Feature]: Add MAE paper name and link, and store mae teaser on github

* [Refactor]: Delete mae.png

* [Fix]: Fix config file name”

* [Fix]: Fix name bug

* [Refactor]: Change default GPUS to 8

* [Fix]: Abandon change to drop_last

* [Fix]: Fix docstring in mae algorithm

* [Fix]: Fix lint

* [Fix]: Fix lint

* [Fix]: Fix mae finetune algo type bug

* [Feature]: Add unit test for algorithm

* [Feature]: Add unit test for remaining parts

* [Fix]: Fix lint

* [Fix]: Fix typo

* [Fix]: Delete some unnecessary modification in gitignore

* [Feature]: Change finetune setting in mae algo to mixup setting

* [Fix]: Change norm_pix_loss to norm_pix in pretrain head

* [Fix]: Delete modification in dist_train_linear.sh

* [Refactor]: Delete global pool in mae_cls_vit.py

* [Fix]: Change finetune param to mixup in test_mae_classification

* [Fix]: Change norm_pix_loss to norm_pix of mae_pretrain_head in unit test

* [Fix]: Change norm_pix_loss to norm_pix in unit test

* [Refactor]: Create init_weights for mae_finetune_head and mae_linprobe_head

* [Refactor]: Construct 2d sin-cosine position embedding using torch

* [Refactor]: Using classification and using mixup from mmcls

* [Fix]: Fix lint

* [Fix]: Add False to finetune mae linprobe‘
“

* [Fix]: Set drop_last to False

* [Fix]: Fix MAE finetune layerwise lr bug

* [Refactor]: Delete redundant MAE when registering MAE

* [Refactor]: Split initialize_weights in MAE to submodules

* [Fix]: Change the min_lr of mae pretrain to 0.0

* [Refactor]: Delete  unused _init_weights in mae_cls_vit

* [Refactor]: Change MAE cls vit to a more general name

* [Feature]: Add Epoch Fix cosine annealing lr updater

* [Fix]: Fix lint

* [Feature]: Add layer wise lr decay in optimizer constructor

* [Fix]: Fix lint

* [Fix]: Fix set layer wise lr decay bug

* [Fix]: Fix UT for MAE

* [Fix]: Fix lint

* [Fix]: update algorithm readme format for MAE

* [Fix]: Fix isort

* [Fix]: Add Returns inmae_pretrain_vit

* [Fix]: Change bgr to rgb

* [Fix]: Change norm pix to True

* [Fix]: Use cls_token to linear prob

* [Fix]: Delete mixup.py

* [Fix]: Fix MAE readme

* [Feature]: Delete linprobe

* [Refactor]: Merge MAE head into one file

* [Fix]: Fix lint

* [Fix]: rename mae_pretrain_head to mae_head

* [Fix]: Fix import error in __init__.py

* [Feature]: skip MAE algo UT when running on windows

* [Fix]: Fix UT bug

* [Feature]: Update model_zoo

* [Fix]: Rename MAE pretrain model name

* [Fix]: Delete mae ft prefix

* [Feature]: Change b to base

* [Refactor]: Change b in MAE pt config to base

* [Fix]: Fix typo in docstring

* [Fix]: Fix name bug

* [Feature]: Add new constructor for MAE finetune

* [Fix]: Fix model_zoo link

* [Fix]: Skip UT for MAE

* [Fix]: Change fixed channel order to param

Co-authored-by: LIU Yuan <liuyuuan@pjlab.org.cn>
Co-authored-by: liu yuan <liuyuan@pjlab.org.cn>

* [Feature]: Add diff seeds to diff ranks and set torch seed in worker_init_fn (#228)

* [Feature]: Add set diff seeds to diff ranks

* [Fix]: Set diff seed to diff workers

* Bump version to v0.7.0 (#227)

* Bump version to v0.7.0

* [Docs] update readme

Co-authored-by: wang11wang <95845452+wang11wang@users.noreply.github.com>
Co-authored-by: Liangyu Chen <45140242+c-liangyu@users.noreply.github.com>
Co-authored-by: Ming Li <73068772+mitming@users.noreply.github.com>
Co-authored-by: liming <liming.ai@bytedance.com>
Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com>
Co-authored-by: LIU Yuan <liuyuuan@pjlab.org.cn>
Co-authored-by: liu yuan <liuyuan@pjlab.org.cn>
2022-03-04 13:43:49 +08:00

11 KiB
Raw Blame History

 
OpenMMLab 官网 HOT      OpenMMLab 开放平台 TRY IT OUT
 

PyPI docs badge codecov license open issues

📘使用文档 | 🛠️安装教程 | 👀模型库 | 🆕更新日志 | 🤔报告问题

介绍

English | 简体中文

MMSelfSup 是一个基于 PyTorch 实现的开源自监督表征学习工具箱,是 OpenMMLab 项目成员之一。

主分支代码支持 PyTorch 1.5 及以上的版本。

主要特性

  • 多方法集成

    MMSelfSup 提供了多种前沿的自监督学习算法,大部分的自监督预训练学习都设置相同,以在基准中获得更加公平的比较。

  • 模块化设计

    MMSelfSup 遵照 OpenMMLab 项目一贯的设计理念,进行模块化设计,便于用户自定义实现自己的算法。

  • 标准化的性能评测

    MMSelfSup 拥有丰富的基准进行评估和测试,包括线性评估, 线性特征的 SVM / Low-shot SVM, 半监督分类, 目标检测和语义分割。

  • 兼容性

    兼容 OpenMMLab 各大算法库,拥有丰富的下游评测任务和预训练模型的应用。

开源许可证

该项目采用 Apache 2.0 开源许可证.

更新日志

最新的 v0.7.0 版本已经在 2022.03.03 发布。

新版本亮点:

  • 支持 MAE
  • 增加 Places205 下游基准测试
  • 增加 Windows 测试

请参考 更新日志 获取更多细节和历史版本信息。

MMSelfSup 和 OpenSelfSup 的不同点写在 对比文档 中。

模型库和基准测试

模型库

请参考 模型库 查看我们更加全面的模型基准结果。

目前已支持的算法:

更多的算法实现已经在我们的计划中。

基准测试

基准测试方法 参考设置
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

安装

请参考 安装文档 进行安装和参考 准备数据 准备数据集。

快速入门

请参考 入门指南 获取 MMSelfSup 的基本使用方法.

我们也提供了更加全面的教程,包括:

参与贡献

我们非常欢迎任何有助于提升 MMSelfSup 的贡献,请参考 贡献指南 来了解如何参与贡献。

致谢

MMSelfSup 是一款由不同学校和公司共同贡献的开源项目,我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户;同时,我们非常感谢 OpenSelfSup 的原开发者和贡献者。

我们希望该工具箱和基准测试可以为社区提供灵活的代码工具,供用户复现现有算法并开发自己的新模型,从而不断为开源社区提供贡献。

引用

如果您发现此项目对您的研究有用,请考虑引用:

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

OpenMMLab 的其他项目

  • MMCV: OpenMMLab 计算机视觉基础库
  • MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
  • MMClassification: OpenMMLab 图像分类工具箱
  • MMDetection: OpenMMLab 目标检测工具箱
  • MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
  • MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
  • MMSegmentation: OpenMMLab 语义分割工具箱
  • MMOCR: OpenMMLab 全流程文字检测识别理解工具箱
  • MMPose: OpenMMLab 姿态估计工具箱
  • MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
  • MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
  • MMRazor: OpenMMLab 模型压缩工具箱与测试基准
  • MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
  • MMAction2: OpenMMLab 新一代视频理解工具箱
  • MMTracking: OpenMMLab 一体化视频目标感知平台
  • MMFlow: OpenMMLab 光流估计工具箱与测试基准
  • MMEditing: OpenMMLab 图像视频编辑工具箱
  • MMGeneration: OpenMMLab 图片视频生成模型工具箱
  • MMDeploy: OpenMMLab 模型部署框架

欢迎加入 OpenMMLab 社区

扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,加入 OpenMMLab 团队的 官方交流 QQ 群添加OpenMMLab 官方小助手微信,加入 MMSelfSup 微信社区。

我们会在 OpenMMLab 社区为大家

  • 📢 分享 AI 框架的前沿核心技术
  • 💻 解读 PyTorch 常用模块源码
  • 📰 发布 OpenMMLab 的相关新闻
  • 🚀 介绍 OpenMMLab 开发的前沿算法
  • 🏃 获取更高效的问题答疑和意见反馈
  • 🔥 提供与各行各业开发者充分交流的平台

干货满满 📘,等你来撩 💗OpenMMLab 社区期待您的加入 👬