[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-SwinTransformer--Transformer-SSL":3,"similar-SwinTransformer--Transformer-SSL":53},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":19,"owner_email":19,"owner_twitter":19,"owner_website":20,"owner_url":21,"languages":22,"stars":27,"forks":28,"last_commit_at":29,"license":30,"difficulty_score":31,"env_os":32,"env_gpu":33,"env_ram":32,"env_deps":34,"category_tags":41,"github_topics":43,"view_count":47,"oss_zip_url":19,"oss_zip_packed_at":19,"status":48,"created_at":49,"updated_at":50,"faqs":51,"releases":52},6779,"SwinTransformer\u002FTransformer-SSL","Transformer-SSL","This is an official implementation for \"Self-Supervised Learning with Swin Transformers\".","Transformer-SSL 是论文《Self-Supervised Learning with Swin Transformers》的官方开源实现，旨在推动基于 Transformer 架构的自监督学习研究。它核心提出了一种名为 MoBY 的新方法，巧妙融合了 MoCo v2 的动量队列机制与 BYOL 的非对称编码器设计，在大幅简化训练技巧的同时，实现了卓越的图像表征学习能力。\n\n该项目重点解决了以往自监督学习模型难以有效迁移至下游任务（如目标检测和语义分割）的痛点。通过引入 Swin Transformer 作为骨干网络，Transformer-SSL 成为首个系统评估并验证了 Transformer 在复杂视觉任务中迁移性能的自监督学习框架。实验数据显示，其在 ImageNet-1K 线性评估中的准确率达到了 72.8%，表现媲美甚至优于当时主流的 MoCo v3 和 DINO 等方法。\n\nTransformer-SSL 非常适合计算机视觉领域的研究人员和算法开发者使用。如果你正在探索高效的自监督预训练策略，或希望将强大的 Swin Transformer 模型应用于检测与分","Transformer-SSL 是论文《Self-Supervised Learning with Swin Transformers》的官方开源实现，旨在推动基于 Transformer 架构的自监督学习研究。它核心提出了一种名为 MoBY 的新方法，巧妙融合了 MoCo v2 的动量队列机制与 BYOL 的非对称编码器设计，在大幅简化训练技巧的同时，实现了卓越的图像表征学习能力。\n\n该项目重点解决了以往自监督学习模型难以有效迁移至下游任务（如目标检测和语义分割）的痛点。通过引入 Swin Transformer 作为骨干网络，Transformer-SSL 成为首个系统评估并验证了 Transformer 在复杂视觉任务中迁移性能的自监督学习框架。实验数据显示，其在 ImageNet-1K 线性评估中的准确率达到了 72.8%，表现媲美甚至优于当时主流的 MoCo v3 和 DINO 等方法。\n\nTransformer-SSL 非常适合计算机视觉领域的研究人员和算法开发者使用。如果你正在探索高效的自监督预训练策略，或希望将强大的 Swin Transformer 模型应用于检测与分割任务，这套代码库提供了完整的训练脚本、配置文件及预训练模型，能帮助你快速复现前沿成果并开展进一步创新。","# Self-Supervised Learning with Vision Transformers\n\nBy [Zhenda Xie](https:\u002F\u002Fgithub.com\u002Fzdaxie\u002F)\\*, [Yutong Lin](https:\u002F\u002Fgithub.com\u002Fimpiga)\\*, [Zhuliang Yao](https:\u002F\u002Fgithub.com\u002FHowal), [Zheng Zhang](https:\u002F\u002Fstupidzz.github.io\u002F), [Qi Dai](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fpeople\u002Fqid\u002F), [Yue Cao](http:\u002F\u002Fyue-cao.me) and [Han Hu](https:\u002F\u002Fancientmooner.github.io\u002F)\n\nThis repo is the official implementation of [\"Self-Supervised Learning with Swin Transformers\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.04553). \n\n**A important feature of this codebase is to include `Swin Transformer` as one of the backbones, such that we can evaluate the transferring performance of the learnt representations on down-stream tasks of object detection and semantic segmentation.** This evaluation is usually not included in previous works due to the use of ViT\u002FDeiT, which has not been well tamed for down-stream tasks.\n\nIt currently includes code and models for the following tasks:\n\n> **Self-Supervised Learning and Linear Evaluation**: Included in this repo. See [get_started.md](get_started.md) for a quick start.\n\n> **Transferring Performance on Object Detection\u002FInstance Segmentation**: See [Swin Transformer for Object Detection](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Object-Detection).\n\n> **Transferring Performance on Semantic Segmentation**: See [Swin Transformer for Semantic Segmentation](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Semantic-Segmentation).\n\n## Highlights\n\n- **Include down-stream evaluation**: the `first work` to evaluate the transferring performance on down-stream tasks for SSL using Transformers\n- **Small tricks**: significantly less tricks than previous works, such as MoCo v3 and DINO\n- **High accuracy on ImageNet-1K linear evaluation**: 72.8 vs 72.5 (MoCo v3) vs 72.5 (DINO) using DeiT-S\u002F16 and 300 epoch pre-training\n\n## Updates\n\n***05\u002F13\u002F2021***\n\n1. Self-Supervised models with DeiT-Small on ImageNet-1K ([MoBY-DeiT-Small-300Ep-Pretrained](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F18GtBXPPoofyPtNjDk0I3nk5nUb6Fj5HY\u002Fview?usp=sharing), [MoBY-DeiT-Small-300Ep-Linear](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1AjjGfM7Wtfxdl3rqqOqcZ8i4j4u08Psr\u002Fview?usp=sharing)) are provided.\n2. The supporting code and config for self-supervised learning with DeiT-Small are provided.\n\n***05\u002F11\u002F2021***\n\nInitial Commits:\n1. Self-Supervised Pre-training models on ImageNet-1K ([MoBY-Swin-T-300Ep-Pretrained](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PS1Q0tAnUfBWLRPxh9iUrinAxeq7Y--u\u002Fview?usp=sharing), [MoBY-Swin-T-300Ep-Linear](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1gbQynZy07uXPO-c0tOLeyG1pQzlnVHx9\u002Fview?usp=sharing)) are provided.\n2. The supported code and models for self-supervised pre-training and ImageNet-1K linear evaluation, COCO object detection and ADE20K semantic segmentation are provided.\n\n## Introduction\n\n### MoBY: a self-supervised learning approach by combining MoCo v2 and BYOL\n\n**MoBY** (the name `MoBY` stands for **Mo**Co v2 with **BY**OL) is initially described in [arxiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.04553), which is a combination of two popular self-supervised learning approaches: MoCo v2 and BYOL. It inherits the momentum design, the key queue, and the contrastive loss used in MoCo v2, and inherits the asymmetric encoders, asymmetric data augmentations and the momentum scheduler in BYOL.\n\n**MoBY** achieves reasonably high accuracy on ImageNet-1K linear evaluation: 72.8\\% and 75.3\\% top-1 accuracy using DeiT and Swin-T, respectively, by 300-epoch training. The performance is on par with recent works of MoCo v3 and DINO which adopt DeiT as the backbone, but with much lighter tricks. \n\n![teaser_moby](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSwinTransformer_Transformer-SSL_readme_1a4afe90cd45.png)\n\n### Swin Transformer as a backbone\n\n**Swin Transformer** (the name `Swin` stands for **S**hifted **win**dow) is initially described in [arxiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2103.14030), which capably serves as a general-purpose backbone for computer vision. It achieves strong performance on COCO object detection (`58.7 box AP` and `51.1 mask AP` on test-dev) and ADE20K semantic segmentation (`53.5 mIoU` on val), surpassing previous models by a large margin.\n\nWe involve Swin Transformer as one of backbones to evaluate the transferring performance on down-stream tasks such as object detection. This differentiate this codebase with other approaches studying SSL on Transformer architectures.\n\n## ImageNet-1K linear evaluation\n\n\n|      Method      | Architecture | Epochs | Params | FLOPs | img\u002Fs | Top-1 Accuracy |                                                 Pre-trained Checkpoint                                                 |                                                   Linear Checkpoint                                                    |\n| :--------------: | :----------: | :----: | :----: | :---: | :---: | :------------: | :--------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------: |\n|    Supervised    |    Swin-T    |  300   |  28M   | 4.5G  | 755.2 |      81.2      |         [Here](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSwin-Transformer#main-results-on-imagenet-with-pretrained-models)          |\n|       MoBY       |    Swin-T    |  100   |  28M   | 4.5G  | 755.2 |      70.9      |                                                        [TBA]()                                                         |\n| MoBY\u003Csup>1\u003C\u002Fsup> |    Swin-T    |  100   |  28M   | 4.5G  | 755.2 |      72.0      |                                                        [TBA]()                                                         |\n|       MoBY       |    DeiT-S    |  300   |  22M   | 4.6G  | 940.4 |      72.8      | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F18GtBXPPoofyPtNjDk0I3nk5nUb6Fj5HY\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_swin_t_300ep_pretrained.pth)\u002F[Baidu](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F18u1lmHHcis85VlH0lqQwHQ) | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1AjjGfM7Wtfxdl3rqqOqcZ8i4j4u08Psr\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_swin_t_300ep_linear.pth)\u002F[Baidu](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1OHLlV4gPsfS7twos4LfxrA) |\n|       MoBY       |    Swin-T    |  300   |  28M   | 4.5G  | 755.2 |      75.3      | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PS1Q0tAnUfBWLRPxh9iUrinAxeq7Y--u\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_deit_small_300ep_pretrained.pth)\u002F[Baidu](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1u3mMrJ4sPQ0t5J_e0l_YnQ) | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1gbQynZy07uXPO-c0tOLeyG1pQzlnVHx9\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_deit_small_300ep_linear.pth)\u002F[Baidu](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1NZiBcHS2nuHFGHX0D52Y6w) |\n\n- \u003Csup>1\u003C\u002Fsup> denotes the result of MoBY which has adopted a trick from MoCo v3 that replace theLayerNorm layers before the MLP blocks by BatchNorm.\n\n- Access code for `baidu` is `moby`.\n\n\n## Transferring to Downstream Tasks\n\n**COCO Object Detection (2017 val)**\n\n| Backbone |       Method       | Model | Schd. | box mAP | mask mAP | Params | FLOPs |\n| :------: | :----------------: | :---: | :---: | :-----: | :------: | :----: | :---: |\n|  Swin-T  |     Mask R-CNN     | Sup.  |  1x   |  43.7   |   39.8   |  48M   | 267G  |\n|  Swin-T  |     Mask R-CNN     | MoBY  |  1x   |  43.6   |   39.6   |  48M   | 267G  |\n|  Swin-T  |     Mask R-CNN     | Sup.  |  3x   |  46.0   |   41.6   |  48M   | 267G  |\n|  Swin-T  |     Mask R-CNN     | MoBY  |  3x   |  46.0   |   41.7   |  48M   | 267G  |\n|  Swin-T  | Cascade Mask R-CNN | Sup.  |  1x   |  48.1   |   41.7   |  86M   | 745G  |\n|  Swin-T  | Cascade Mask R-CNN | MoBY  |  1x   |  48.1   |   41.5   |  86M   | 745G  |\n|  Swin-T  | Cascade Mask R-CNN | Sup.  |  3x   |  50.4   |   43.7   |  86M   | 745G  |\n|  Swin-T  | Cascade Mask R-CNN | MoBY  |  3x   |  50.2   |   43.5   |  86M   | 745G  |\n\n**ADE20K Semantic Segmentation (val)**\n\n| Backbone | Method  | Model | Crop Size | Schd. | mIoU  | mIoU (ms+flip) | Params | FLOPs |\n| :------: | :-----: | :---: | :-------: | :---: | :---: | :------------: | :----: | :---: |\n|  Swin-T  | UPerNet | Sup.  |  512x512  | 160K  | 44.51 |     45.81      |  60M   | 945G  |\n|  Swin-T  | UPerNet | MoBY  |  512x512  | 160K  | 44.06 |     45.58      |  60M   | 945G  |\n\n\n## Citing MoBY and Swin\n\n### MoBY\n\n```\n@article{xie2021moby,\n  title={Self-Supervised Learning with Swin Transformers}, \n  author={Zhenda Xie and Yutong Lin and Zhuliang Yao and Zheng Zhang and Qi Dai and Yue Cao and Han Hu},\n  journal={arXiv preprint arXiv:2105.04553},\n  year={2021}\n}\n```\n\n### Swin Transformer\n\n```\n@article{liu2021Swin,\n  title={Swin Transformer: Hierarchical Vision Transformer using Shifted Windows},\n  author={Liu, Ze and Lin, Yutong and Cao, Yue and Hu, Han and Wei, Yixuan and Zhang, Zheng and Lin, Stephen and Guo, Baining},\n  journal={arXiv preprint arXiv:2103.14030},\n  year={2021}\n}\n```\n\n## Getting Started\n\n- For **Self-Supervised Pre-training and Linear Evaluation with MoBY and Swin Transformer**, please see [get_started.md](get_started.md) for detailed instructions.\n- For **Transferring Performance on Object Detection\u002FInstance Segmentation**, please see [Swin Transformer for Object Detection](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Object-Detection).\n- For **Transferring Performance on Semantic Segmentation**, please see [Swin Transformer for Semantic Segmentation](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Semantic-Segmentation).\n","# 基于视觉Transformer的自监督学习\n\n作者：[Zhenda Xie](https:\u002F\u002Fgithub.com\u002Fzdaxie\u002F)\\*, [Yutong Lin](https:\u002F\u002Fgithub.com\u002Fimpiga)\\*, [Zhuliang Yao](https:\u002F\u002Fgithub.com\u002FHowal), [Zheng Zhang](https:\u002F\u002Fstupidzz.github.io\u002F), [Qi Dai](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fpeople\u002Fqid\u002F), [Yue Cao](http:\u002F\u002Fyue-cao.me) 和 [Han Hu](https:\u002F\u002Fancientmooner.github.io\u002F)\n\n本仓库是论文《基于Swin Transformer的自监督学习》（arXiv:2105.04553）的官方实现。\n\n**该代码库的一个重要特性是将Swin Transformer作为骨干网络之一，从而能够在目标检测和语义分割等下游任务上评估所学表征的迁移性能。** 由于此前的工作大多使用ViT\u002FDeiT，而这些模型在下游任务上的表现尚未得到充分优化，因此通常不会包含此类评估。\n\n目前，本仓库包含了以下任务的相关代码和模型：\n\n> **自监督学习与线性评估**：已包含在本仓库中。请参阅 [get_started.md](get_started.md) 以快速入门。\n\n> **目标检测\u002F实例分割的迁移性能**：请参阅 [Swin Transformer用于目标检测](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Object-Detection)。\n\n> **语义分割的迁移性能**：请参阅 [Swin Transformer用于语义分割](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Semantic-Segmentation)。\n\n## 亮点\n\n- **包含下游评估**：首次针对基于Transformer的自监督学习，在下游任务上评估其迁移性能。\n- **精简的技巧**：相比MoCo v3和DINO等先前工作，使用的技巧显著减少。\n- **ImageNet-1K线性评估中的高精度**：使用DeiT-S\u002F16并在300个epoch上预训练时，准确率为72.8%，优于MoCo v3的72.5%和DINO的72.5%。\n\n## 更新\n\n***2021年5月13日***\n\n1. 提供了在ImageNet-1K数据集上使用DeiT-Small进行自监督学习的模型（[MoBY-DeiT-Small-300Ep-Pretrained](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F18GtBXPPoofyPtNjDk0I3nk5nUb6Fj5HY\u002Fview?usp=sharing)，[MoBY-DeiT-Small-300Ep-Linear](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1AjjGfM7Wtfxdl3rqqOqcZ8i4j4u08Psr\u002Fview?usp=sharing))。\n2. 提供了支持DeiT-Small自监督学习的代码和配置文件。\n\n***2021年5月11日***\n\n初始提交：\n1. 提供了在ImageNet-1K数据集上进行自监督预训练的模型（[MoBY-Swin-T-300Ep-Pretrained](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PS1Q0tAnUfBWLRPxh9iUrinAxeq7Y--u\u002Fview?usp=sharing)，[MoBY-Swin-T-300Ep-Linear](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1gbQynZy07uXPO-c0tOLeyG1pQzlnVHx9\u002Fview?usp=sharing))。\n2. 提供了支持自监督预训练、ImageNet-1K线性评估、COCO目标检测以及ADE20K语义分割的相关代码和模型。\n\n## 简介\n\n### MoBY：结合MoCo v2和BYOL的自监督学习方法\n\n**MoBY**（名称“MoBY”代表“Mo”Co v2与“BY”OL的结合）最初在arXiv论文（arXiv:2105.04553）中被提出，它是两种流行的自监督学习方法——MoCo v2和BYOL——的结合。它继承了MoCo v2中的动量设计、关键队列和对比损失，同时也借鉴了BYOL中的非对称编码器、非对称数据增强以及动量调度策略。\n\n**MoBY** 在ImageNet-1K数据集上的线性评估中取得了相当高的准确率：分别使用DeiT和Swin-T作为骨干网络时，300个epoch的训练可达到72.8%和75.3%的Top-1准确率。这一性能与近期采用DeiT作为骨干网络的MoCo v3和DINO等方法相当，但所需的技巧却少得多。\n\n![teaser_moby](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSwinTransformer_Transformer-SSL_readme_1a4afe90cd45.png)\n\n### Swin Transformer作为骨干网络\n\n**Swin Transformer**（名称“Swin”意为“移位窗口”）最初在arXiv论文（arXiv:2103.14030）中被提出，它能够出色地作为计算机视觉领域的通用骨干网络。在COCO目标检测任务中，其表现尤为突出（test-dev上的box AP为58.7，mask AP为51.1）；而在ADE20K语义分割任务中，mIoU达到了53.5%，远超之前的模型。\n\n我们选择Swin Transformer作为骨干网络之一，以评估其在目标检测等下游任务中的迁移性能。这使得本代码库区别于其他研究Transformer架构下自监督学习的方法。\n\n## ImageNet-1K 线性评估\n\n\n|      方法      | 架构 | Epochs | 参数量 | FLOPs | img\u002Fs | Top-1 准确率 |                                                 预训练检查点                                                 |                                                   线性检查点                                                    |\n| :--------------: | :----------: | :----: | :----: | :---: | :---: | :------------: | :--------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------: |\n|    有监督    |    Swin-T    |  300   |  28M   | 4.5G  | 755.2 |      81.2      |         [这里](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSwin-Transformer#main-results-on-imagenet-with-pretrained-models)          |\n|       MoBY       |    Swin-T    |  100   |  28M   | 4.5G  | 755.2 |      70.9      |                                                        [待定]()                                                         |\n| MoBY\u003Csup>1\u003C\u002Fsup> |    Swin-T    |  100   |  28M   | 4.5G  | 755.2 |      72.0      |                                                        [待定]()                                                         |\n|       MoBY       |    DeiT-S    |  300   |  22M   | 4.6G  | 940.4 |      72.8      | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F18GtBXPPoofyPtNjDk0I3nk5nUb6Fj5HY\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_swin_t_300ep_pretrained.pth)\u002F[百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F18u1lmHHcis85VlH0lqQwHQ) | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1AjjGfM7Wtfxdl3rqqOqcZ8i4j4u08Psr\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_swin_t_300ep_linear.pth)\u002F[百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1OHLlV4gPsfS7twos4LfxrA) |\n|       MoBY       |    Swin-T    |  300   |  28M   | 4.5G  | 755.2 |      75.3      | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PS1Q0tAnUfBWLRPxh9iUrinAxeq7Y--u\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_deit_small_300ep_pretrained.pth)\u002F[百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1u3mMrJ4sPQ0t5J_e0l_YnQ) | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1gbQynZy07uXPO-c0tOLeyG1pQzlnVHx9\u002Fview?usp=sharing)\u002F[GitHub](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002Fstorage\u002Freleases\u002Fdownload\u002Fv1.0.3\u002Fmoby_deit_small_300ep_linear.pth)\u002F[百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1NZiBcHS2nuHFGHX0D52Y6w) |\n\n- \u003Csup>1\u003C\u002Fsup> 表示采用了 MoCo v3 中的一个技巧，即用 BatchNorm 层替换 MLP 块之前的 LayerNorm 层的 MoBY 结果。\n\n- 百度网盘的提取码为 `moby`。\n\n\n## 迁移到下游任务\n\n**COCO 目标检测（2017 val）**\n\n| 主干网络 |       方法       | 模型 | 时序 | box mAP | mask mAP | 参数量 | FLOPs |\n| :------: | :----------------: | :---: | :---: | :-----: | :------: | :----: | :---: |\n|  Swin-T  |     Mask R-CNN     | 有监督  |  1x   |  43.7   |   39.8   |  48M   | 267G  |\n|  Swin-T  |     Mask R-CNN     | MoBY  |  1x   |  43.6   |   39.6   |  48M   | 267G  |\n|  Swin-T  |     Mask R-CNN     | 有监督  |  3x   |  46.0   |   41.6   |  48M   | 267G  |\n|  Swin-T  |     Mask R-CNN     | MoBY  |  3x   |  46.0   |   41.7   |  48M   | 267G  |\n|  Swin-T  | Cascade Mask R-CNN | 有监督  |  1x   |  48.1   |   41.7   |  86M   | 745G  |\n|  Swin-T  | Cascade Mask R-CNN | MoBY  |  1x   |  48.1   |   41.5   |  86M   | 745G  |\n|  Swin-T  | Cascade Mask R-CNN | 有监督  |  3x   |  50.4   |   43.7   |  86M   | 745G  |\n|  Swin-T  | Cascade Mask R-CNN | MoBY  |  3x   |  50.2   |   43.5   |  86M   | 745G  |\n\n**ADE20K 语义分割（val）**\n\n| 主干网络 | 方法  | 模型 | 裁剪尺寸 | 时序 | mIoU  | mIoU (ms+flip) | 参数量 | FLOPs |\n| :------: | :-----: | :---: | :-------: | :---: | :---: | :------------: | :----: | :---: |\n|  Swin-T  | UPerNet | 有监督  |  512x512  | 160K  | 44.51 |     45.81      |  60M   | 945G  |\n|  Swin-T  | UPerNet | MoBY  |  512x512  | 160K  | 44.06 |     45.58      |  60M   | 945G  |\n\n\n## 引用 MoBY 和 Swin\n\n### MoBY\n\n```\n@article{xie2021moby,\n  title={Self-Supervised Learning with Swin Transformers}, \n  author={Zhenda Xie and Yutong Lin and Zhuliang Yao and Zheng Zhang and Qi Dai and Yue Cao and Han Hu},\n  journal={arXiv preprint arXiv:2105.04553},\n  year={2021}\n}\n```\n\n### Swin Transformer\n\n```\n@article{liu2021Swin,\n  title={Swin Transformer: Hierarchical Vision Transformer using Shifted Windows},\n  author={Liu, Ze and Lin, Yutong and Cao, Yue and Hu, Han and Wei, Yixuan and Zhang, Zheng and Lin, Stephen and Guo, Baining},\n  journal={arXiv preprint arXiv:2103.14030},\n  year={2021}\n}\n```\n\n## 开始使用\n\n- 对于 **使用 MoBY 和 Swin Transformer 进行自监督预训练及线性评估**，请参阅 [get_started.md](get_started.md) 获取详细说明。\n- 对于 **目标检测\u002F实例分割性能迁移**，请参阅 [Swin Transformer for Object Detection](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Object-Detection)。\n- 对于 **语义分割性能迁移**，请参阅 [Swin Transformer for Semantic Segmentation](https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FSwin-Transformer-Semantic-Segmentation)。","# Transformer-SSL (MoBY) 快速上手指南\n\n本指南基于官方仓库 `Transformer-SSL`，帮助用户快速使用 MoBY 算法结合 Swin Transformer 或 DeiT 进行自监督学习预训练及线性评估。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 18.04+)\n*   **Python**: 3.7 或更高版本\n*   **GPU**: 支持 CUDA 的 NVIDIA GPU (建议显存 16GB+)\n*   **核心依赖**:\n    *   PyTorch >= 1.8.0\n    *   torchvision\n    *   timm\n    *   mmcv-full (用于下游任务评估，若仅做预训练可暂不安装)\n    *   Apex (可选，用于混合精度加速)\n\n**前置检查**：\n请确保已安装正确的 CUDA 版本和对应的 PyTorch。\n\n## 安装步骤\n\n### 1. 克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FSwinTransformer\u002FTransformer-SSL.git\ncd Transformer-SSL\n```\n\n### 2. 创建虚拟环境并安装依赖\n推荐使用 Conda 管理环境：\n\n```bash\nconda create -n moby python=3.8 -y\nconda activate moby\n\n# 安装 PyTorch (根据实际 CUDA 版本调整，此处以 CUDA 11.1 为例)\npip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Ftorch_stable.html\n\n# 安装其他核心依赖\npip install timm==0.4.12 opencv-python-headless scipy pandas\n\n# 【国内加速】安装 mmcv-full (若需进行下游任务评估)\n# 使用 OpenMMLab 清华镜像源加速安装\npip install mmcv-full==1.3.17 -f https:\u002F\u002Fdownload.openmmlab.com\u002Fmmcv\u002Fdist\u002Fcu111\u002Ftorch1.9.0\u002Findex.html\n```\n\n### 3. 编译自定义算子 (如需)\n如果项目中包含自定义 CUDA 算子，通常需要编译：\n```bash\npython setup.py build_ext --inplace\n```\n*(注：MoBY 主要依赖标准 PyTorch 模块，若直接运行预训练脚本报错缺失算子，请执行此步)*\n\n## 基本使用\n\n本仓库核心功能为 **自监督预训练 (Self-Supervised Pre-training)** 和 **线性评估 (Linear Evaluation)**。以下以最常用的 **DeiT-Small**  backbone 在 ImageNet-1K 上的训练为例。\n\n### 1. 数据准备\n请将 ImageNet-1K 数据集整理为以下目录结构：\n```text\n\u002Fpath\u002Fto\u002Fimagenet\u002F\n  train\u002F\n    class1\u002F\n      img1.jpeg\n    class2\u002F\n      img2.jpeg\n  val\u002F\n    class1\u002F\n      img3.jpeg\n    class2\u002F\n      img4.jpeg\n```\n\n### 2. 自监督预训练 (Pre-training)\n使用 MoBY 算法训练 DeiT-Small 模型（300 epochs）。\n\n```bash\npython main_pretrain.py \\\n  --data-path \u002Fpath\u002Fto\u002Fimagenet \\\n  --model deit_small_patch16_224 \\\n  --batch-size 256 \\\n  --epochs 300 \\\n  --warmup-epochs 10 \\\n  --blr 1.5e-4 \\\n  --weight-decay 0.05 \\\n  --output_dir .\u002Foutput\u002Fpretrain_deit_s\n```\n\n*   `--model`: 可选择 `deit_small_patch16_224` 或 `swin_tiny_patch4_window7_224`。\n*   `--blr`: 基础学习率 (base learning rate)，公式通常为 `batch_size \u002F 256 * base_lr`。\n\n### 3. 线性评估 (Linear Evaluation)\n使用预训练好的权重冻结骨干网络，仅训练分类头进行线性探测。\n\n```bash\npython main_linear.py \\\n  --data-path \u002Fpath\u002Fto\u002Fimagenet \\\n  --model deit_small_patch16_224 \\\n  --batch-size 256 \\\n  --epochs 90 \\\n  --blr 0.1 \\\n  --pretrained_weights .\u002Foutput\u002Fpretrain_deit_s\u002Fcheckpoint.pth \\\n  --output_dir .\u002Foutput\u002Flinear_deit_s\n```\n\n### 4. 加载官方预训练模型\n如果您不想从头训练，可以直接下载官方提供的预训练权重进行线性评估或下游任务迁移。\n\n**下载链接 (含国内百度盘加速):**\n*   **DeiT-S (300 Ep) 预训练权重**: [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F18GtBXPPoofyPtNjDk0I3nk5nUb6Fj5HY\u002Fview?usp=sharing) | [BaiduPan](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F18u1lmHHcis85VlH0lqQwHQ) (提取码: `moby`)\n*   **Swin-T (300 Ep) 预训练权重**: [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PS1Q0tAnUfBWLRPxh9iUrinAxeqY--u\u002Fview?usp=sharing) | [BaiduPan](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1u3mMrJ4sPQ0t5J_e0l_YnQ) (提取码: `moby`)\n\n**使用示例:**\n将下载的 `.pth` 文件路径填入上述线性评估命令的 `--pretrained_weights` 参数即可。\n\n---\n*更多详细配置（如 Swin Transformer 的具体参数、多节点训练等）请参考仓库根目录下的 `get_started.md` 文件或配置文件目录 `configs\u002F`。*","某自动驾驶初创公司的算法团队正试图利用海量未标注的路况监控视频，训练一个能精准识别行人和交通标志的视觉模型。\n\n### 没有 Transformer-SSL 时\n- **标注成本高昂**：团队依赖人工标注数万张图像进行监督学习，耗时数月且预算严重超支，难以覆盖长尾场景。\n- **下游任务适配难**：尝试使用标准的 ViT 进行自监督预训练后，迁移到目标检测任务时性能大幅下降，模型无法有效定位小物体。\n- **调参复杂繁琐**：复现主流的 MoCo v3 或 DINO 方案需要大量复杂的技巧（Tricks）和超参数调整，实验迭代周期极长。\n- **特征表达能力弱**：在有限标注数据下训练的模型，对遮挡、光照变化等复杂路况的鲁棒性不足，误检率居高不下。\n\n### 使用 Transformer-SSL 后\n- **大幅降低标注依赖**：利用 Transformer-SSL 中的 MoBY 算法对海量无标签视频进行自监督预训练，仅需少量标注数据微调即可达到高精度。\n- **原生支持下游评估**：得益于 Swin Transformer 作为骨干网络，预训练模型直接在对象检测和语义分割任务上展现出卓越的迁移性能，无需额外魔改。\n- **流程简洁高效**：相比以往方案，Transformer-SSL 减少了大量繁琐的训练技巧，团队能快速复现 75.3% 的 Top-1 准确率并部署到检测任务中。\n- **泛化能力显著提升**：学到的视觉表示对复杂环境具有更强的适应性，显著降低了车辆在雨天或夜间场景下的漏检与误报。\n\nTransformer-SSL 通过结合 Swin Transformer 的强大架构与高效的自监督学习策略，成功解决了从海量无标签数据到高精密度下游视觉任务的“最后一公里”难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSwinTransformer_Transformer-SSL_7c99b1cd.png","SwinTransformer","Swin Transformer","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FSwinTransformer_2d07cab3.png","This organization maintains repositories built on Swin Transformers. The pretrained models locate at https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSwin-Transformer",null,"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.14030.pdf","https:\u002F\u002Fgithub.com\u002FSwinTransformer",[23],{"name":24,"color":25,"percentage":26},"Python","#3572A5",100,668,72,"2026-03-11T13:37:48","MIT",4,"未说明","需要 NVIDIA GPU（基于高吞吐量训练需求及下游任务评估），具体型号和显存大小未说明，CUDA 版本未说明",{"notes":35,"python":32,"dependencies":36},"该项目主要支持自监督预训练、线性评估以及在目标检测（COCO）和语义分割（ADE20K）上的迁移性能评估。代码库结合了 MoCo v2 和 BYOL 的特性（称为 MoBY）。README 中未直接列出具体的环境配置脚本或版本号，详细安装步骤需参考项目链接中的 get_started.md 文件或相关的下游任务仓库（如 Swin-Transformer-Object-Detection）。由于涉及大规模模型训练（如 300 epoch），建议使用高性能计算环境。",[37,16,38,39,40],"PyTorch","DeiT","MoCo v2","BYOL",[42],"语言模型",[44,45,46],"transformer","swin-transformer","self-supervised-learning",2,"ready","2026-03-27T02:49:30.150509","2026-04-12T09:05:35.554155",[],[],[54,64,74,82,95,104],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":47,"last_commit_at":60,"category_tags":61,"status":48},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151314,"2026-04-11T23:32:58",[62,63,42],"开发框架","Agent",{"id":65,"name":66,"github_repo":67,"description_zh":68,"stars":69,"difficulty_score":70,"last_commit_at":71,"category_tags":72,"status":48},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[42,73,63,62],"图像",{"id":75,"name":76,"github_repo":77,"description_zh":78,"stars":79,"difficulty_score":47,"last_commit_at":80,"category_tags":81,"status":48},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[62,42],{"id":83,"name":84,"github_repo":85,"description_zh":86,"stars":87,"difficulty_score":47,"last_commit_at":88,"category_tags":89,"status":48},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[73,90,91,92,63,93,42,62,94],"数据工具","视频","插件","其他","音频",{"id":96,"name":97,"github_repo":98,"description_zh":99,"stars":100,"difficulty_score":101,"last_commit_at":102,"category_tags":103,"status":48},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[42,90,93],{"id":105,"name":106,"github_repo":107,"description_zh":108,"stars":109,"difficulty_score":101,"last_commit_at":110,"category_tags":111,"status":48},6590,"gpt4all","nomic-ai\u002Fgpt4all","GPT4All 是一款让普通电脑也能轻松运行大型语言模型（LLM）的开源工具。它的核心目标是打破算力壁垒，让用户无需依赖昂贵的显卡（GPU）或云端 API，即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。\n\n对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说，GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点，让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者，还是单纯想体验私有化 AI 聊天的普通用户，都能从中受益。\n\n技术上，GPT4All 基于高效的 `llama.cpp` 后端，支持多种主流模型架构（包括最新的 DeepSeek R1 蒸馏模型），并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端，支持 Windows、macOS 和 Linux 等多平台一键安装，还为开发者提供了便捷的 Python 库，可轻松集成到 LangChain 等生态中。通过简单的下载和配置，用户即可立即开始探索本地大模型的无限可能。",77307,"2026-04-11T06:52:37",[42,62]]