microsoft/Semi-supervised-learning
A Unified Semi-Supervised Learning Codebase (NeurIPS'22)
What it solves
USB (Unified Semi-supervised Learning Benchmark) 提供了一种标准化的方式,用于在不同数据模态下开发、训练和评估半监督学习 (SSL) 算法。它解决了在计算机视觉、自然语言处理和音频分类任务中,难以一致地比较 SSL 方法的问题。
How it works
USB 是一个基于 PyTorch 的 Python 包 (以 semilearn 分发),实现了广泛基于一致性正则化 (Consistency Regularization) 的 SSL 算法。它提供了一个统一的框架,用户可以使用 YAML 文件指定训练配置,以便在各种数据集上运行现有算法。
Who it’s for
它是为 AI 研究人员和开发者设计的,需要在一个全面、易于扩展的环境中对 SSL 算法进行基准测试或开发新的算法。
Highlights
Multi-modal Support: 涵盖 CV、NLP 和 Audio 分类任务。
Algorithm Library: 包含 14 种 SSL 算法的实现 (例如 FixMatch, FreeMatch, 和 SoftMatch)。
Extensive Benchmarking: 提供 15 种评估任务以确保鲁棒的性能测试。
Developer Friendly: 提供 Python 包以快速上手,支持 Docker 以确保环境一致性,并具有清晰的结构,方便使用新算法扩展库。