[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-TorchSSL--TorchSSL":3,"similar-TorchSSL--TorchSSL":89},{"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":6,"owner_name":6,"owner_avatar_url":15,"owner_bio":16,"owner_company":17,"owner_location":17,"owner_email":17,"owner_twitter":17,"owner_website":17,"owner_url":18,"languages":19,"stars":28,"forks":29,"last_commit_at":30,"license":31,"difficulty_score":32,"env_os":33,"env_gpu":34,"env_ram":33,"env_deps":35,"category_tags":41,"github_topics":44,"view_count":53,"oss_zip_url":17,"oss_zip_packed_at":17,"status":54,"created_at":55,"updated_at":56,"faqs":57,"releases":88},6808,"TorchSSL\u002FTorchSSL","TorchSSL","A PyTorch-based library for semi-supervised learning (NeurIPS'21)","TorchSSL 是一个基于 PyTorch 的半监督学习工具箱，旨在为研究人员和开发者提供一个统一、公平的算法对比平台。它主要解决了半监督学习领域算法实现分散、评估标准不一的痛点，让用户能够轻松复现并比较多种主流方法的效果。\n\n该工具特别适合从事机器学习算法研究的研究人员、需要快速验证模型的开发者，以及希望深入理解半监督学习机制的学生。TorchSSL 集成了包括 PiModel、MeanTeacher、MixMatch、FixMatch 等在内的 9 种经典算法，并作为 NeurIPS 2021 论文 FlexMatch 的官方实现，独特地引入了课程伪标签（Curriculum Pseudo Labeling）技术以进一步提升模型性能。此外，它还支持 CIFAR、SVHN 及 ImageNet 等多个标准数据集，覆盖了从基础实验到大规模验证的多种场景。\n\n需要注意的是，TorchSSL 目前已停止维护，其功能已被更强大、训练效率更高且支持多模态数据的升级版项目 USB 所取代。尽管如此，TorchSSL 在历史上为半监督学习的标准化研究做出了重要贡献，其代码结构和实验结果仍具有重要","TorchSSL 是一个基于 PyTorch 的半监督学习工具箱，旨在为研究人员和开发者提供一个统一、公平的算法对比平台。它主要解决了半监督学习领域算法实现分散、评估标准不一的痛点，让用户能够轻松复现并比较多种主流方法的效果。\n\n该工具特别适合从事机器学习算法研究的研究人员、需要快速验证模型的开发者，以及希望深入理解半监督学习机制的学生。TorchSSL 集成了包括 PiModel、MeanTeacher、MixMatch、FixMatch 等在内的 9 种经典算法，并作为 NeurIPS 2021 论文 FlexMatch 的官方实现，独特地引入了课程伪标签（Curriculum Pseudo Labeling）技术以进一步提升模型性能。此外，它还支持 CIFAR、SVHN 及 ImageNet 等多个标准数据集，覆盖了从基础实验到大规模验证的多种场景。\n\n需要注意的是，TorchSSL 目前已停止维护，其功能已被更强大、训练效率更高且支持多模态数据的升级版项目 USB 所取代。尽管如此，TorchSSL 在历史上为半监督学习的标准化研究做出了重要贡献，其代码结构和实验结果仍具有重要的参考价值。","# TorchSSL is deprecated and no longer maintained. Please refer **[USB](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSemi-supervised-learning)**, an upgrade version of TorchSSL. Training in USB only takes **12.5%** of training time of using TorchSSL, and produce better results.\n\n### The later modification and merged pull request on TorchSSL code will no longer be rerun for updating the results. \n\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTorchSSL_TorchSSL_readme_fe905256d2d8.png)\n\n\n\n# TorchSSL\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTorchSSL_TorchSSL_readme_b6439c27329c.png\"  width = \"100\" height = \"100\" align='right' \u002F>\n\nA Pytorch-based toolbox for semi-supervised learning. This is also the official implementation for [FlexMatch: boosting semi-supervised learning using curriculum pseudo labeling](https:\u002F\u002Fproceedings.neurips.cc\u002Fpaper\u002F2021\u002Fhash\u002F995693c15f439e3d189b06e89d145dd5-Abstract.html) published at NeurIPS 2021. [[arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.08263)]  [[Zhihu article](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F422930830)] [[Video](http:\u002F\u002Fcoming)]\n\n## News and Updates\n\n*31\u002F01\u002F2023*\n - We added the codes for [[FreeMatch](https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.07246)] and [[SoftMatch](https:\u002F\u002Farxiv.org\u002Fabs\u002F2301.10921)]. Note that freematch.py refers to FreeMatch without SAF and freematch_entropy.py refers to FreeMatch with both SAT and SAF. The training logs can also be found at https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AlpW9hcyb0KvmyCfsCjGvhDXG5Nb?e=Xc6amH\n\n*17\u002F08\u002F2022*\n - TorchSSL (this repo) is no longer maintained and updated. **We have created\u002Fupdated a more comprehensive codebase and benchmark for Semi-Supervised Learning - [USB](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSemi-supervised-learning)**. It is built upon TorchSSL but more flexible to use and more extensiable, containing datasets spanning Computer Vision, Natural Language Processing, and Audio Processing. \n\n*15\u002F02\u002F2021*\n\n- The logs and model weights are shared! We notice that some model weights are missing. We will try to upload the missing model weights in the future.\n- The results of BestAcc have been updated! I use single P100 for CIFAR-10 and SVHN, single P40 for STL-10, signle V100-32G for CIFAR-100.\n\n## Introduction\n\nTorchSSL is an all-in-one toolkit based on PyTorch for semi-supervised learning (SSL). Currently, we implmented 9 popular SSL algorithms to enable fair comparison and boost the development of SSL algorithms.\n\n**Supported algorithms:** In addition to fully-supervised (as a baseline), TorchSSL supports the following popular algorithms:\n\n1. PiModel (NeurIPS 2015) [1]\n2. MeanTeacher (NeurIPS 2017) [2]\n3. PseudoLabel (ICML 2013) [3]\n4. VAT (Virtual adversarial training, TPAMI 2018) [4]\n5. MixMatch (NeurIPS 2019) [5]\n6. UDA (Unsupervised data augmentation, NeurIPS 2020) [6]\n7. ReMixMatch (ICLR 2019) [7]\n8. FixMatch (NeurIPS 2020) [8]\n9. FlexMatch (NeurIPS 2021) [9]\n10. FreeMatch (ICLR 2023) [10]\n11. SoftMatch (ICLR 2023) [11]\n\nBesides, we implement our Curriculum Pseudo Labeling (CPL) method for Pseudo-Label (Flex-Pseudo-Label) and UDA (Flex-UDA).\n\n**Supported datasets:** TorchSSL currently supports 5 popular datasets in SSL research:\n\n1. CIFAR-10\n2. CIFAR-100\n3. STL-10\n4. SVHN\n5. ImageNet\n\n## Main Results\n\nThe results are best accuracies with standard errors. In the results, \"40\", \"250\", \"1000\" etc. under the dataset row denote different numbers of labeled samples (e.g., \"40\" in CIFAR-10 means that there are only 4 labeled samples for each class). We use random seed 0,1,2 for all experiments. All configs are included under the `config\u002F` folder. You can directly cite these results in your own research. \n\nNote FullySupervised results are from training the model using all training data in the dataset, regardless of the label amount denoted in the table.\n\n### CIFAR-10 and CIFAR-100\n|                      |            |  CIFAR-10  |            |   |            | CIFAR100   |            |\n|----------------------|------------|------------|------------|---|------------|------------|------------|\n|                      | 40         | 250        | 4000       |   | 400        | 2500       | 10000      |\n| FullySupervised      | 95.38±0.05 | 95.39±0.04 | 95.38±0.05 |   | 80.7±0.09  | 80.7±0.09  | 80.73±0.05 |\n| PiModel [1]          | 25.66±1.76 | 53.76±1.29 | 86.87±0.59 |   | 13.04±0.8  | 41.2±0.66  | 63.35±0.0  |\n| PseudoLabel [3]      | 25.39±0.26 | 53.51±2.2  | 84.92±0.19 |   | 12.55±0.85 | 42.26±0.28 | 63.45±0.24 |\n| PseudoLabel_Flex [9] | 26.26±1.96 | 53.86±1.81 | 85.25±0.19 |   | 14.28±0.46 | 43.88±0.51 | 64.4±0.15  |\n| MeanTeacher [2]      | 29.91±1.6  | 62.54±3.3  | 91.9±0.21  |   | 18.89±1.44 | 54.83±1.06 | 68.25±0.23 |\n| VAT [4]              | 25.34±2.12 | 58.97±1.79 | 89.49±0.12 |   | 14.8±1.4   | 53.16±0.79 | 67.86±0.19 |\n| MixMatch [5]         | 63.81±6.48 | 86.37±0.59 | 93.34±0.26 |   | 32.41±0.66 | 60.24±0.48 | 72.22±0.29 |\n| ReMixMatch [7]       | 90.12±1.03 | 93.7±0.05  | 95.16±0.01 |   | 57.25±1.05 | 73.97±0.35 | 79.98±0.27 |\n| UDA [6]              | 89.38±3.75 | 94.84±0.06 | 95.71±0.07 |   | 53.61±1.59 | 72.27±0.21 | 77.51±0.23 |\n| UDA_Flex [9]         | 94.56±0.52 | 94.98±0.07 | 95.76±0.06 |   | 54.83±1.88 | 72.92±0.15 | 78.09±0.1  |\n| FixMatch [8]         | 92.53±0.28 | 95.14±0.05 | 95.79±0.08 |   | 53.58±0.82 | 71.97±0.16 | 77.8±0.12  |\n| FlexMatch [9]        | 95.03±0.06 | 95.02±0.09 | 95.81±0.01 |   | 60.06±1.62 | 73.51±0.2  | 78.1±0.15  |\n\n### STL-10 and SVHN\n|                      |            |  STL-10    |            |   |            | SVHN       |            |\n|----------------------|------------|------------|------------|---|------------|------------|------------|\n|                      | 40         | 250        | 1000       |   | 40         | 250        | 1000       |\n| FullySupervised      | None       | None       | None       |   | 97.87±0.02 | 97.87±0.01 | 97.86±0.01 |\n| PiModel [1]          | 25.69±0.85 | 44.87±1.5  | 67.22±0.4  |   | 32.52±0.95 | 86.7±1.12  | 92.84±0.11 |\n| PseudoLabel [3]      | 25.32±0.99 | 44.55±2.43 | 67.36±0.71 |   | 35.39±5.6  | 84.41±0.95 | 90.6±0.32  |\n| PseudoLabel_Flex [9] | 26.58±2.19 | 47.94±2.5  | 67.95±0.37 |   | 36.79±3.64 | 79.58±2.11 | 87.95±0.54 |\n| MeanTeacher [2]      | 28.28±1.45 | 43.51±2.75 | 66.1±1.37  |   | 63.91±3.98 | 96.55±0.03 | 96.73±0.05 |\n| VAT [4]              | 25.26±0.38 | 43.58±1.97 | 62.05±1.12 |   | 25.25±3.38 | 95.67±0.12 | 95.89±0.2  |\n| MixMatch [5]         | 45.07±0.96 | 65.48±0.32 | 78.3±0.68  |   | 69.4±8.39  | 95.44±0.32 | 96.31±0.37 |\n| ReMixMatch [7]       | 67.88±6.24 | 87.51±1.28 | 93.26±0.14 |   | 75.96±9.13 | 93.64±0.22 | 94.84±0.31 |\n| UDA [6]              | 62.58±8.44 | 90.28±1.15 | 93.36±0.17 |   | 94.88±4.27 | 98.08±0.05 | 98.11±0.01 |\n| UDA_Flex [9]         | 70.47±2.1  | 90.97±0.45 | 93.9±0.25  |   | 96.58±1.51 | 97.34±0.83 | 97.98±0.05 |\n| FixMatch [8]         | 64.03±4.14 | 90.19±1.04 | 93.75±0.33 |   | 96.19±1.18 | 97.98±0.02 | 98.04±0.03 |\n| FlexMatch [9]        | 70.85±4.16 | 91.77±0.39 | 94.23±0.18 |   | 91.81±3.2  | 93.41±2.29 | 93.28±0.3  |\n\n### ImageNet\n\n|                      |100k labels |            |\n|----------------------|------------|------------|\n|                      | top-1      | top-5      |\n| FixMatch [8]         | 56.34      | 78.20      |\n| FlexMatch [9]        | 58.15      | 80.52      |\n\n## Logs and weights\n\nYou can download the shared logs and weights here.\n\nhttps:\u002F\u002F1drv.ms\u002Fu\u002Fs!AlpW9hcyb0KvmyCfsCjGvhDXG5Nb?e=Xc6amH\n\n## Usage\n\nBefore running or modifing the code, you need to:\n1. Clone this repo to your machine.\n2. Make sure Anaconda or Miniconda is installed.\n3. Run `conda env create -f environment.yml` for environment initialization.\n\n### Run the experiments\n\nIt is convenient to perform experiment with TorchSSL. For example, if you want to run FlexMatch algorithm:\n\n1. Modify the config file in `config\u002Fflexmatch\u002Fflexmatch.yaml` as you need\n2. Run `python flexmatch.py --c config\u002Fflexmatch\u002Fflexmatch.yaml`\n\n### Customization\n\nIf you want to write your own algorithm, please follow the following steps:\n\n1. Create a directory for your algorithm, e.g., `SSL`, write your own model file `SSl\u002FSSL.py` in it. \n2. Write the training file in `SSL.py`\n3. Write the config file in `config\u002FSSL\u002FSSL.yaml`\n\n## Citing TorchSSL\n\nIf you think this toolkit or the results are helpful to you and your research, please cite our paper:\n\n```\n@article{wang2023freematch,\n  title={FreeMatch: Self-adaptive Thresholding for Semi-supervised Learning},\n  author={Wang, Yidong and Chen, Hao and Heng, Qiang and Hou, Wenxin and Fan, Yue and and Wu, Zhen and Wang, Jindong and Savvides, Marios and Shinozaki, Takahiro and Raj, Bhiksha and Schiele, Bernt and Xie, Xing},\n  booktitle={International Conference on Learning Representations (ICLR)},\n  year={2023}\n}\n\n@article{chen2023softmatch,\n  title={SoftMatch: Addressing the Quantity-Quality Trade-off in Semi-supervised Learning},\n  author={Chen, Hao and Tao, Ran and Fan, Yue and Wang, Yidong and Wang, Jindong and Schiele, Bernt and Xie, Xing and Raj, Bhiksha and Savvides, Marios},\n  booktitle={International Conference on Learning Representations (ICLR)},\n  year={2023}\n}\n\n@article{zhang2021flexmatch,\n  title={FlexMatch: Boosting Semi-supervised Learning with Curriculum Pseudo Labeling},\n  author={Zhang, Bowen and Wang, Yidong and Hou, Wenxin and Wu, Hao and Wang, Jindong and Okumura, Manabu and Shinozaki, Takahiro},\n  booktitle={Neural Information Processing Systems (NeurIPS)},\n  year={2021}\n}\n```\n\n## Maintainers\n\nYidong Wang\u003Csup>1\u003C\u002Fsup>, Hao Chen\u003Csup>2\u003C\u002Fsup>, Yue Fan\u003Csup>3\u003C\u002Fsup>, Hao Wu\u003Csup>1\u003C\u002Fsup>, Bowen Zhang\u003Csup>1\u003C\u002Fsup>, Wenxin Hou\u003Csup>1,4\u003C\u002Fsup>, Yuhao Chen\u003Csup>5\u003C\u002Fsup>, Jindong Wang\u003Csup>4\u003C\u002Fsup>\n\nTokyo Institute of Technology\u003Csup>1\u003C\u002Fsup>\n\nCarnegie Mellon University\u003Csup>2\u003C\u002Fsup>\n\nMax-Planck-Institut für Informatik\u003Csup>3\u003C\u002Fsup>\n\nMicrosoft Research Asia\u003Csup>4\u003C\u002Fsup>\n\nMegvii\u003Csup>5\u003C\u002Fsup>\n\n## Contributing\n\n1. You are welcome to open an issue on bugs, questions, and suggestions.\n2. If you want to join TorchSSL team, please e-mail Yidong Wang (646842131@qq.com; yidongwang37@gmail.com) for more information. We plan to add more SSL algorithms and expand TorchSSL from CV to NLP and Speech.\n\n## Statements\n\n*For ImageNet datasets:* Please download the ImageNet 2014 dataset (unchanged from 2012) from the official site (link: https:\u002F\u002Fimage-net.org\u002Fchallenges\u002FLSVRC\u002F2012\u002F2012-downloads.php)\nExtract the train and the val set into *subfolders* (the test set is not used), and put them under `train\u002F` and `val\u002F` respectively. Each subfolder will represent a class.\nNote: the offical val set is not zipped into subfolders by classes, you may want to use: https:\u002F\u002Fgithub.com\u002Fjiweibo\u002FImageNet\u002Fblob\u002Fmaster\u002Fvalprep.sh, which is a nice script for preparing the file structure.\n\n## References\n\n[1] Antti Rasmus, Harri Valpola, Mikko Honkala, Mathias Berglund, and Tapani Raiko.  Semi-supervised learning with ladder networks. InNeurIPS, pages 3546–3554, 2015.\n\n[2] Antti Tarvainen and Harri Valpola.  Mean teachers are better role models:  Weight-averagedconsistency targets improve semi-supervised deep learning results. InNeurIPS, pages 1195–1204, 2017.\n\n[3] Dong-Hyun Lee et al. Pseudo-label: The simple and efficient semi-supervised learning methodfor  deep  neural  networks.   InWorkshop  on  challenges  in  representation  learning,  ICML,volume 3, 2013.\n\n[4] Takeru Miyato, Shin-ichi Maeda, Masanori Koyama, and Shin Ishii. Virtual adversarial training:a regularization method for supervised and semi-supervised learning.IEEE TPAMI, 41(8):1979–1993, 2018.\n\n[5] David Berthelot, Nicholas Carlini, Ian Goodfellow, Nicolas Papernot, Avital Oliver, and ColinRaffel. Mixmatch: A holistic approach to semi-supervised learning.NeurIPS, page 5050–5060,2019.\n\n[6] Qizhe Xie, Zihang Dai, Eduard Hovy, Thang Luong, and Quoc Le. Unsupervised data augmen-tation for consistency training.NeurIPS, 33, 2020.\n\n[7] David Berthelot, Nicholas Carlini, Ekin D Cubuk, Alex Kurakin, Kihyuk Sohn, Han Zhang,and Colin Raffel.   Remixmatch:  Semi-supervised learning with distribution matching andaugmentation anchoring. InICLR, 2019.\n\n[8] Kihyuk Sohn, David Berthelot, Nicholas Carlini, Zizhao Zhang, Han Zhang, Colin A Raf-fel, Ekin Dogus Cubuk, Alexey Kurakin, and Chun-Liang Li.  Fixmatch:  Simplifying semi-supervised learning with consistency and confidence.NeurIPS, 33, 2020.\n\n[9] Bowen Zhang, Yidong Wang, Wenxin Hou, Hao wu, Jindong Wang, Okumura Manabu, and Shinozaki Takahiro. FlexMatch: Boosting Semi-Supervised Learning with Curriculum Pseudo Labeling. NeurIPS, 2021.\n\n[10] Yidong Wang, Hao Chen, Qiang Heng, Wenxin Hou, Yue Fan, Zhen Wu, Jindong Wang, Marios Savvides, Takahiro Shinozaki, Bhiksha Raj, Bernt Schiele, Xing Xie. FreeMatch: Self-adaptive Thresholding for Semi-supervised Learning. ICLR, 2023.\n\n[11] Hao Chen, Ran Tao, Yue Fan, Yidong Wang, Marios Savvides, Jindong Wang, Bhiksha Raj, Xing Xie, Bernt Schiele. SoftMatch: Addressing the Quantity-Quality Tradeoff in Semi-supervised Learning. ICLR, 2023.\n","# TorchSSL 已弃用且不再维护。请参考 **[USB](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSemi-supervised-learning)**，它是 TorchSSL 的升级版本。使用 USB 进行训练仅需 TorchSSL 训练时间的 **12.5%**，且效果更优。\n\n### 对 TorchSSL 代码的后续修改及合并的 Pull Request 将不再重新运行以更新结果。\n\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTorchSSL_TorchSSL_readme_fe905256d2d8.png)\n\n\n\n# TorchSSL\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTorchSSL_TorchSSL_readme_b6439c27329c.png\"  width = \"100\" height = \"100\" align='right' \u002F>\n\n一个基于 PyTorch 的半监督学习工具箱。这也是发表于 NeurIPS 2021 的论文 [FlexMatch: 利用课程伪标签提升半监督学习](https:\u002F\u002Fproceedings.neurips.cc\u002Fpaper\u002F2021\u002Fhash\u002F995693c15f439e3d189b06e89d145dd5-Abstract.html) 的官方实现。[[arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.08263)]  [[知乎文章](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F422930830)] [[视频](http:\u002F\u002Fcoming)]\n\n## 新闻与更新\n\n*2023年1月31日*\n - 我们新增了 [[FreeMatch](https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.07246)] 和 [[SoftMatch](https:\u002F\u002Farxiv.org\u002Fabs\u002F2301.10921)] 的代码。请注意，freematch.py 对应的是不包含 SAF 的 FreeMatch，而 freematch_entropy.py 则是同时包含 SAT 和 SAF 的 FreeMatch。训练日志也可在 https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AlpW9hcyb0KvmyCfsCjGvhDXG5Nb?e=Xc6amH 找到。\n\n*2022年8月17日*\n - TorchSSL（本仓库）已停止维护和更新。**我们已创建并更新了一个更为全面的半监督学习代码库和基准测试——[USB](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSemi-supervised-learning)**。它基于 TorchSSL 构建，但使用起来更加灵活、扩展性更强，涵盖了计算机视觉、自然语言处理和音频处理等多个领域的数据集。\n\n*2021年2月15日*\n\n- 日志和模型权重已共享！我们注意到部分模型权重缺失，未来会尝试补全这些缺失的权重。\n- BestAcc 的结果已更新！我在 CIFAR-10 和 SVHN 上使用单块 P100，在 STL-10 上使用单块 P40，在 CIFAR-100 上使用单块 V100-32G。\n\n## 简介\n\nTorchSSL 是一个基于 PyTorch 的一体化半监督学习（SSL）工具箱。目前，我们实现了 9 种流行的 SSL 算法，以便进行公平比较并推动 SSL 算法的发展。\n\n**支持的算法：** 除了全监督学习（作为基线），TorchSSL 还支持以下流行算法：\n\n1. PiModel（NeurIPS 2015）[1]\n2. MeanTeacher（NeurIPS 2017）[2]\n3. PseudoLabel（ICML 2013）[3]\n4. VAT（虚拟对抗训练，TPAMI 2018）[4]\n5. MixMatch（NeurIPS 2019）[5]\n6. UDA（无监督数据增强，NeurIPS 2020）[6]\n7. ReMixMatch（ICLR 2019）[7]\n8. FixMatch（NeurIPS 2020）[8]\n9. FlexMatch（NeurIPS 2021）[9]\n10. FreeMatch（ICLR 2023）[10]\n11. SoftMatch（ICLR 2023）[11]\n\n此外，我们还为 PseudoLabel 和 UDA 实现了课程伪标签方法（CPL），分别称为 Flex-Pseudo-Label 和 Flex-UDA。\n\n**支持的数据集：** TorchSSL 目前支持 SSL 研究中常用的 5 个数据集：\n\n1. CIFAR-10\n2. CIFAR-100\n3. STL-10\n4. SVHN\n5. ImageNet\n\n## 主要结果\n\n结果为最佳准确率及其标准误差。表中“40”、“250”、“1000”等数字表示不同数量的标注样本（例如，CIFAR-10 中的“40”表示每个类别仅有 4 个标注样本）。所有实验均使用随机种子 0、1、2。所有配置文件均位于 `config\u002F` 文件夹下。您可以直接在自己的研究中引用这些结果。\n\n请注意，全监督学习的结果是在不考虑表格中标注样本数量的情况下，使用数据集中全部训练数据训练得到的。\n\n### CIFAR-10 和 CIFAR-100\n|                      |            |  CIFAR-10  |            |   |            | CIFAR100   |            |\n|----------------------|------------|------------|------------|---|------------|------------|------------|\n|                      | 40         | 250        | 4000       |   | 400        | 2500       | 10000      |\n| FullySupervised      | 95.38±0.05 | 95.39±0.04 | 95.38±0.05 |   | 80.7±0.09  | 80.7±0.09  | 80.73±0.05 |\n| PiModel [1]          | 25.66±1.76 | 53.76±1.29 | 86.87±0.59 |   | 13.04±0.8  | 41.2±0.66  | 63.35±0.0  |\n| PseudoLabel [3]      | 25.39±0.26 | 53.51±2.2  | 84.92±0.19 |   | 12.55±0.85 | 42.26±0.28 | 63.45±0.24 |\n| PseudoLabel_Flex [9] | 26.26±1.96 | 53.86±1.81 | 85.25±0.19 |   | 14.28±0.46 | 43.88±0.51 | 64.4±0.15  |\n| MeanTeacher [2]      | 29.91±1.6  | 62.54±3.3  | 91.9±0.21  |   | 18.89±1.44 | 54.83±1.06 | 68.25±0.23 |\n| VAT [4]              | 25.34±2.12 | 58.97±1.79 | 89.49±0.12 |   | 14.8±1.4   | 53.16±0.79 | 67.86±0.19 |\n| MixMatch [5]         | 63.81±6.48 | 86.37±0.59 | 93.34±0.26 |   | 32.41±0.66 | 60.24±0.48 | 72.22±0.29 |\n| ReMixMatch [7]       | 90.12±1.03 | 93.7±0.05  | 95.16±0.01 |   | 57.25±1.05 | 73.97±0.35 | 79.98±0.27 |\n| UDA [6]              | 89.38±3.75 | 94.84±0.06 | 95.71±0.07 |   | 53.61±1.59 | 72.27±0.21 | 77.51±0.23 |\n| UDA_Flex [9]         | 94.56±0.52 | 94.98±0.07 | 95.76±0.06 |   | 54.83±1.88 | 72.92±0.15 | 78.09±0.1  |\n| FixMatch [8]         | 92.53±0.28 | 95.14±0.05 | 95.79±0.08 |   | 53.58±0.82 | 71.97±0.16 | 77.8±0.12  |\n| FlexMatch [9]        | 95.03±0.06 | 95.02±0.09 | 95.81±0.01 |   | 60.06±1.62 | 73.51±0.2  | 78.1±0.15  |\n\n### STL-10 和 SVHN\n|                      |            |  STL-10    |            |   |            | SVHN       |            |\n|----------------------|------------|------------|------------|---|------------|------------|------------|\n|                      | 40         | 250        | 1000       |   | 40         | 250        | 1000       |\n| FullySupervised      | 无         | 无         | 无         |   | 97.87±0.02 | 97.87±0.01 | 97.86±0.01 |\n| PiModel [1]          | 25.69±0.85 | 44.87±1.5  | 67.22±0.4  |   | 32.52±0.95 | 86.7±1.12  | 92.84±0.11 |\n| PseudoLabel [3]      | 25.32±0.99 | 44.55±2.43 | 67.36±0.71 |   | 35.39±5.6  | 84.41±0.95 | 90.6±0.32  |\n| PseudoLabel_Flex [9] | 26.58±2.19 | 47.94±2.5  | 67.95±0.37 |   | 36.79±3.64 | 79.58±2.11 | 87.95±0.54 |\n| MeanTeacher [2]      | 28.28±1.45 | 43.51±2.75 | 66.1±1.37  |   | 63.91±3.98 | 96.55±0.03 | 96.73±0.05 |\n| VAT [4]              | 25.26±0.38 | 43.58±1.97 | 62.05±1.12 |   | 25.25±3.38 | 95.67±0.12 | 95.89±0.2  |\n| MixMatch [5]         | 45.07±0.96 | 65.48±0.32 | 78.3±0.68  |   | 69.4±8.39  | 95.44±0.32 | 96.31±0.37 |\n| ReMixMatch [7]       | 67.88±6.24 | 87.51±1.28 | 93.26±0.14 |   | 75.96±9.13 | 93.64±0.22 | 94.84±0.31 |\n| UDA [6]              | 62.58±8.44 | 90.28±1.15 | 93.36±0.17 |   | 94.88±4.27 | 98.08±0.05 | 98.11±0.01 |\n| UDA_Flex [9]         | 70.47±2.1  | 90.97±0.45 | 93.9±0.25  |   | 96.58±1.51 | 97.34±0.83 | 97.98±0.05 |\n| FixMatch [8]         | 64.03±4.14 | 90.19±1.04 | 93.75±0.33 |   | 96.19±1.18 | 97.98±0.02 | 98.04±0.03 |\n| FlexMatch [9]        | 70.85±4.16 | 91.77±0.39 | 94.23±0.18 |   | 91.81±3.2  | 93.41±2.29 | 93.28±0.3  |\n\n### ImageNet\n\n|                      |100k 标签 |            |\n|----------------------|------------|------------|\n|                      | top-1      | top-5      |\n| FixMatch [8]         | 56.34      | 78.20      |\n| FlexMatch [9]        | 58.15      | 80.52      |\n\n## 日志和权重\n\n您可以在此处下载共享的日志和权重。\n\nhttps:\u002F\u002F1drv.ms\u002Fu\u002Fs!AlpW9hcyb0KvmyCfsCjGvhDXG5Nb?e=Xc6amH\n\n## 使用方法\n\n在运行或修改代码之前，您需要：\n1. 将此仓库克隆到您的机器上。\n2. 确保已安装 Anaconda 或 Miniconda。\n3. 运行 `conda env create -f environment.yml` 来初始化环境。\n\n### 运行实验\n\n使用 TorchSSL 进行实验非常方便。例如，如果您想运行 FlexMatch 算法：\n\n1. 根据需要修改 `config\u002Fflexmatch\u002Fflexmatch.yaml` 中的配置文件。\n2. 运行 `python flexmatch.py --c config\u002Fflexmatch\u002Fflexmatch.yaml`。\n\n### 自定义\n\n如果您想编写自己的算法，请按照以下步骤操作：\n\n1. 为您的算法创建一个目录，例如 `SSL`，并在其中编写您自己的模型文件 `SSl\u002FSSL.py`。\n2. 在 `SSL.py` 中编写训练文件。\n3. 在 `config\u002FSSL\u002FSSL.yaml` 中编写配置文件。\n\n## 引用 TorchSSL\n\n如果您认为本工具包或相关成果对您的研究有所帮助，请引用我们的论文：\n\n```\n@article{wang2023freematch,\n  title={FreeMatch: 自适应阈值的半监督学习},\n  author={王一东、陈浩、衡强、侯文欣、范悦、吴振、王金东、萨维德斯、筱崎隆弘、拉杰、席勒、谢星},\n  booktitle={国际表征学习会议 (ICLR)},\n  year={2023}\n}\n\n@article{chen2023softmatch,\n  title={SoftMatch: 解决半监督学习中的数量-质量权衡问题},\n  author={陈浩、陶然、范悦、王一东、王金东、席勒、谢星、拉杰、萨维德斯},\n  booktitle={国际表征学习会议 (ICLR)},\n  year={2023}\n}\n\n@article{zhang2021flexmatch,\n  title={FlexMatch: 通过课程伪标签提升半监督学习},\n  author={张博文、王一东、侯文欣、吴浩、王金东、奥村学、筱崎隆弘},\n  booktitle={神经信息处理系统会议 (NeurIPS)},\n  year={2021}\n}\n```\n\n## 维护者\n\n王一东\u003Csup>1\u003C\u002Fsup>、陈浩\u003Csup>2\u003C\u002Fsup>、范悦\u003Csup>3\u003C\u002Fsup>、吴浩\u003Csup>1\u003C\u002Fsup>、张博文\u003Csup>1\u003C\u002Fsup>、侯文欣\u003Csup>1,4\u003C\u002Fsup>、陈宇豪\u003Csup>5\u003C\u002Fsup>、王金东\u003Csup>4\u003C\u002Fsup>\n\n东京工业大学\u003Csup>1\u003C\u002Fsup>\n\n卡内基梅隆大学\u003Csup>2\u003C\u002Fsup>\n\n马克斯普朗克信息研究所\u003Csup>3\u003C\u002Fsup>\n\n微软亚洲研究院\u003Csup>4\u003C\u002Fsup>\n\n旷视科技\u003Csup>5\u003C\u002Fsup>\n\n## 贡献\n\n1. 欢迎您就 bug、问题和建议提出 issue。\n2. 如果您希望加入 TorchSSL 团队，请发送邮件至王一东（646842131@qq.com；yidongwang37@gmail.com）以获取更多信息。我们计划添加更多 SSL 算法，并将 TorchSSL 从计算机视觉扩展到自然语言处理和语音领域。\n\n## 声明\n\n*关于 ImageNet 数据集：* 请从官方网站下载 ImageNet 2014 数据集（与 2012 年版本相同）（链接：https:\u002F\u002Fimage-net.org\u002Fchallenges\u002FLSVRC\u002F2012\u002F2012-downloads.php）。将训练集和验证集解压到*子文件夹*中（测试集不使用），并分别放入 `train\u002F` 和 `val\u002F` 目录下。每个子文件夹代表一个类别。\n注意：官方验证集并未按类别压缩成子文件夹，您可以使用：https:\u002F\u002Fgithub.com\u002Fjiweibo\u002FImageNet\u002Fblob\u002Fmaster\u002Fvalprep.sh，这是一段用于准备文件结构的优秀脚本。\n\n## 参考文献\n\n[1] Antti Rasmus、Harri Valpola、Mikko Honkala、Mathias Berglund 和 Tapani Raiko. 半监督学习中的梯形网络。NeurIPS，页 3546–3554，2015 年。\n\n[2] Antti Tarvainen 和 Harri Valpola. 平均教师是更好的榜样：加权平均一致性目标可提高半监督深度学习效果。NeurIPS，页 1195–1204，2017 年。\n\n[3] Dong-Hyun Lee 等人. 伪标签：一种简单高效的深度神经网络半监督学习方法。ICML 表征学习挑战研讨会，第 3 卷，2013 年。\n\n[4] Takeru Miyato、Shin-ichi Maeda、Masanori Koyama 和 Shin Ishii. 虚拟对抗训练：一种用于监督和半监督学习的正则化方法。IEEE TPAMI，41(8):1979–1993，2018 年。\n\n[5] David Berthelot、Nicholas Carlini、Ian Goodfellow、Nicolas Papernot、Avital Oliver 和 Colin Raffel. Mixmatch：一种全面的半监督学习方法。NeurIPS，页 5050–5060，2019 年。\n\n[6] Qizhe Xie、Zihang Dai、Eduard Hovy、Thang Luong 和 Quoc Le. 用于一致性训练的无监督数据增强。NeurIPS，33 届，2020 年。\n\n[7] David Berthelot、Nicholas Carlini、Ekin D Cubuk、Alex Kurakin、Kihyuk Sohn、Han Zhang 和 Colin Raffel. Remixmatch：基于分布匹配和增强锚定的半监督学习。ICLR，2019 年。\n\n[8] Kihyuk Sohn、David Berthelot、Nicholas Carlini、Zizhao Zhang、Han Zhang、Colin A Raf-fel、Ekin Dogus Cubuk、Alexey Kurakin 和 Chun-Liang Li. Fixmatch：通过一致性和置信度简化半监督学习。NeurIPS，33 届，2020 年。\n\n[9] 张博文、王一东、侯文欣、吴浩、王金东、奥村学和筱崎隆弘. FlexMatch：通过课程伪标签提升半监督学习。NeurIPS，2021 年。\n\n[10] 王一东、陈浩、衡强、侯文欣、范悦、吴振、王金东、萨维德斯、筱崎隆弘、拉杰、席勒、谢星. FreeMatch：自适应阈值的半监督学习。ICLR，2023 年。\n\n[11] 陈浩、陶然、范悦、王一东、萨维德斯、王金东、拉杰、谢星、席勒. SoftMatch：解决半监督学习中的数量-质量权衡问题。ICLR，2023 年。","# TorchSSL 快速上手指南\n\n> **⚠️ 重要提示**：TorchSSL 项目已停止维护（Deprecated）。官方推荐使用其升级版 **[USB](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSemi-supervised-learning)**。USB 基于 TorchSSL 构建，支持更广泛的数据集（CV\u002FNLP\u002FAudio），且训练速度提升显著（仅需 TorchSSL 12.5% 的时间），效果更优。以下内容仅作为 TorchSSL 的历史参考或特定复现需求使用。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux 或 macOS (Windows 需通过 WSL 运行)\n*   **Python 版本**：建议 Python 3.6 - 3.8\n*   **依赖管理**：必须安装 **Anaconda** 或 **Miniconda**\n*   **硬件要求**：支持 CUDA 的 NVIDIA GPU（用于加速训练）\n\n## 2. 安装步骤\n\n### 第一步：克隆代码库\n将项目代码下载到本地：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTorchSSL\u002FTorchSSL.git\ncd TorchSSL\n```\n\n### 第二步：创建虚拟环境\n使用项目提供的 `environment.yml` 文件自动安装所有依赖。\n*(注：若下载速度慢，可尝试配置 conda 国内镜像源，如清华源)*\n\n```bash\n# 配置清华镜像源（可选，加速下载）\nconda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Fmain\u002F\nconda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Ffree\u002F\n\n# 创建并激活环境\nconda env create -f environment.yml\nconda activate torchssl\n```\n\n## 3. 基本使用\n\nTorchSSL 采用配置文件驱动的方式运行实验。以下以运行 **FlexMatch** 算法在 **CIFAR-10** 数据集上的实验为例：\n\n### 第一步：准备数据集\n确保已下载所需数据集（如 CIFAR-10, SVHN, ImageNet 等）。\n*   对于 **ImageNet**，需手动整理目录结构：将训练集和验证集分别解压到 `train\u002F` 和 `val\u002F` 子文件夹中，每个类别一个子文件夹。\n\n### 第二步：修改配置文件\n编辑对应的配置文件以调整超参数或数据路径。\n例如，修改 FlexMatch 的配置：\n```bash\nvim config\u002Fflexmatch\u002Fflexmatch.yaml\n```\n*在文件中确认 `dataset`、`num_labels` 以及数据根目录路径是否正确。*\n\n### 第三步：运行实验\n执行对应的 Python 脚本并指定配置文件路径：\n\n```bash\npython flexmatch.py --c config\u002Fflexmatch\u002Fflexmatch.yaml\n```\n\n### 自定义新算法（可选）\n若您希望基于此框架开发新的半监督学习算法：\n1.  在根目录创建新文件夹（如 `SSL`）。\n2.  在其中编写模型逻辑 `SSL\u002FSSL.py` 及训练流程。\n3.  在 `config\u002FSSL\u002F` 下创建对应的 `SSL.yaml` 配置文件。\n4.  参照上述命令运行即可。","某医疗影像初创公司的算法团队正试图利用少量已标注的肺部 CT 扫描数据，结合大量未标注的历史存档数据，训练一个高精度的肺炎检测模型。\n\n### 没有 TorchSSL 时\n- **复现成本极高**：团队成员需分别查找 FixMatch、MixMatch 等顶尖算法的零散代码，花费数周时间统一数据预处理和训练接口，难以进行公平对比。\n- **标签依赖严重**：在仅有几百张标注样本的情况下，传统全监督训练模型迅速过拟合，对未标注数据的巨大价值束手无策，准确率停滞不前。\n- **调参盲目低效**：缺乏统一的课程伪标签（Curriculum Pseudo Labeling）等进阶策略支持，工程师只能凭经验手动调整阈值，实验迭代周期长达数天。\n\n### 使用 TorchSSL 后\n- **一键切换算法**：借助 TorchSSL 集成的 11 种主流半监督算法，团队可在同一框架下快速切换并对比 FlexMatch 与 FreeMatch 的效果，将算法验证周期从数周缩短至几天。\n- **挖掘未标注数据**：通过应用内置的半监督学习策略，模型成功利用了海量无标签 CT 影像，在仅 40 个标注样本的极端条件下，准确率较全监督基线提升了 15% 以上。\n- **策略自动优化**：利用 TorchSSL 特有的动态伪标签机制，自动根据训练进度调整置信度阈值，无需人工干预即可稳定收敛，显著减少了调参试错成本。\n\nTorchSSL 通过提供标准化的半监督学习工具箱，让团队在极低标注成本下实现了医疗影像识别性能的突破性提升。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTorchSSL_TorchSSL_ebd135d6.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTorchSSL_04c21a80.png","",null,"https:\u002F\u002Fgithub.com\u002FTorchSSL",[20,24],{"name":21,"color":22,"percentage":23},"Python","#3572A5",99.9,{"name":25,"color":26,"percentage":27},"Shell","#89e051",0.1,1367,187,"2026-04-10T05:42:51","MIT",3,"未说明","需要 NVIDIA GPU。README 提及实验使用了 P100、P40 和 V100-32G 显卡，暗示需要支持 CUDA 的 NVIDIA 显卡，具体显存需求取决于数据集（如 CIFAR-100 使用了 32GB 显存的 V100）。",{"notes":36,"python":37,"dependencies":38},"1. 该项目已停止维护 (deprecated)，官方建议迁移至升级版工具 USB。2. 必须安装 Anaconda 或 Miniconda，并通过提供的 environment.yml 文件创建环境。3. ImageNet 数据集需要手动下载并按照特定目录结构整理（使用脚本 valprep.sh）。4. 支持的算法包括 FlexMatch, FreeMatch, SoftMatch 等 11 种半监督学习算法。","未说明 (需通过 conda env create -f environment.yml 安装)",[39,40],"PyTorch","conda (环境管理)",[42,43],"开发框架","图像",[45,46,47,48,49,50,51,52],"semi-supervised-learning","toolkit","codebase","pytorch","machine-learning","computer-vision","deep-learning","self-supervised-learning",2,"ready","2026-03-27T02:49:30.150509","2026-04-12T14:03:01.310214",[58,63,68,73,78,83],{"id":59,"question_zh":60,"answer_zh":61,"source_url":62},30705,"FlexMatch 在 CIFAR100 上训练时间过长或遇到多卡训练问题怎么办？","每个 GPU 会为训练生成自己的随机索引，这可能是导致问题的原因。目前建议暂时只使用 1~4 张 GPU 进行训练。此外，也可以尝试减小 batch size 来解决问题。维护者表示未来会重新组织这部分代码以支持更好的多卡训练。","https:\u002F\u002Fgithub.com\u002FTorchSSL\u002FTorchSSL\u002Fissues\u002F13",{"id":64,"question_zh":65,"answer_zh":66,"source_url":67},30706,"运行代码后 TensorBoard 显示\"No dashboards active\"或无法看到曲线怎么办？","确保使用了正确的参数启动脚本，例如：`python flexmatch.py --c config\u002Fflexmatch\u002Fflexmatch_cifar10_40_1.yaml --use_tensorboard`。TensorBoard 只需要 events.out 文件即可显示曲线，启动命令为 `tensorboard --logdir \u003Cevents.out 文件所在目录>`，然后在浏览器打开 localhost 地址。如果脚本报错结束并出现 multiprocessing 警告，这通常不是根本错误，请查看该警告信息上方的真实 traceback 以定位问题。","https:\u002F\u002Fgithub.com\u002FTorchSSL\u002FTorchSSL\u002Fissues\u002F9",{"id":69,"question_zh":70,"answer_zh":71,"source_url":72},30707,"STL10 实验中使用的 WideResNetVar 是什么？它与标准的 WideResNet 有什么区别？","WideResNetVar 指的是 FixMatch 论文中提到的 wrn37-2 模型。它是 WideResNet-28-2 的更深变体，专门用于处理 STL10 中较大的图像。具体结构是在输出层之前增加了四个额外的残差块（28 + 4*2 + 1 = 37 层）。该模型的参数量与 Google 官方仓库中的 wrn37-2 一致。","https:\u002F\u002Fgithub.com\u002FTorchSSL\u002FTorchSSL\u002Fissues\u002F54",{"id":74,"question_zh":75,"answer_zh":76,"source_url":77},30708,"复现 FlexMatch 在 CIFAR100 (400 labels) 上的结果时准确率偏低或训练后期性能下降怎么办？","如果遇到准确率无法提升或训练后期性能骤降的问题，首先请确认使用的是最新版本的代码，因为维护者已对代码进行了修复。关于类精度阈值（classwise_acc）初始化为 0 的疑问，这是符合论文设计的，旨在从零开始动态提升阈值。如果问题依旧，建议检查是否使用了正确的配置文件，并尝试调整训练配置。维护者指出当前版本应能正常工作，若遇新问题可提交详细日志。","https:\u002F\u002Fgithub.com\u002FTorchSSL\u002FTorchSSL\u002Fissues\u002F1",{"id":79,"question_zh":80,"answer_zh":81,"source_url":82},30709,"论文中的结果是使用多少张 GPU 训练得到的？多卡训练时参数如何设置？","论文中的部分结果（如原始 FixMatch）使用了 4 张 GPU 进行训练。在多卡环境下，默认代码会使用同步批归一化（SyncBN）。如果在多卡训练时发现结果与单卡或论文有差异，可能是因为批量大小（batch size）随 GPU 数量增加而改变，或者随机种子在不同 GPU 间的分布影响。建议在多卡训练时仔细核对 .yaml 配置文件中的参数设置，必要时可参考官方更新的实验结果。","https:\u002F\u002Fgithub.com\u002FTorchSSL\u002FTorchSSL\u002Fissues\u002F17",{"id":84,"question_zh":85,"answer_zh":86,"source_url":87},30710,"TorchSSL 的实现结果与其他 PyTorch 实现（如 FixMatch-pytorch）存在显著差异的原因是什么？","性能差异可能源于多卡训练的设置不同（如是否使用 SyncBN）或具体的超参数配置。有用户发现 TorchSSL 的结果与原始论文更接近，而其他实现可能偏低。维护者已更新了部分结果以澄清差异。如果遇到巨大性能差距，建议检查是否启用了同步批归一化（SyncBN），并对比具体的训练迭代次数和数据增强策略。","https:\u002F\u002Fgithub.com\u002FTorchSSL\u002FTorchSSL\u002Fissues\u002F15",[],[90,100,108,117,125,134],{"id":91,"name":92,"github_repo":93,"description_zh":94,"stars":95,"difficulty_score":32,"last_commit_at":96,"category_tags":97,"status":54},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,"2026-04-06T06:32:30",[98,42,43,99],"Agent","数据工具",{"id":101,"name":102,"github_repo":103,"description_zh":104,"stars":105,"difficulty_score":32,"last_commit_at":106,"category_tags":107,"status":54},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[42,43,98],{"id":109,"name":110,"github_repo":111,"description_zh":112,"stars":113,"difficulty_score":53,"last_commit_at":114,"category_tags":115,"status":54},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",[42,98,116],"语言模型",{"id":118,"name":119,"github_repo":120,"description_zh":121,"stars":122,"difficulty_score":53,"last_commit_at":123,"category_tags":124,"status":54},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[42,43,98],{"id":126,"name":127,"github_repo":128,"description_zh":129,"stars":130,"difficulty_score":53,"last_commit_at":131,"category_tags":132,"status":54},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[133,98,43,42],"插件",{"id":135,"name":136,"github_repo":137,"description_zh":138,"stars":139,"difficulty_score":53,"last_commit_at":140,"category_tags":141,"status":54},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[133,42]]