Semi-supervised-learning

一个代码库跑遍主流半监督算法,少标注也能训好模型

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1591
维护状态 较活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类模型训练
开发团队microsoft
所属国家
官网地址
定价模式free
价格说明开源免费,需自行部署
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型audio-classification,classification,computer-vision,deep-learning,low-resource,machine-learning,natural-language-processing,pytorch,semi-supervised-learning,semisupervised-learning,transformer
GitHub 星标★ 1591
30天Star增速
HF 下载量
上线时间2022-05-05 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-17
浏览次数0

项目介绍

这是一个统一半监督学习代码库,对应 NeurIPS 2022 论文,旨在解决半监督学习领域算法实现分散、难以公平对比的问题。它把 FixMatch、FlexMatch、SoftMatch 等主流半监督算法整合到同一框架下,覆盖图像分类、音频分类、自然语言处理等任务,支持低资源场景。核心能力包括:统一的数据集加载与预处理接口、标准化的训练与评估流程、多种半监督算法的即插即用实现,以及可复现的基准测试配置。开发者可以用它快速验证新算法,或直接调用现成方法在自有标注数据稀缺时提升模型效果。项目基于 Python 和 PyTorch,代码结构清晰,适合研究者和工程师作为半监督学习的起点或对比基线。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:进阶 约 20 分钟 部署方式:Docker 4 步

环境要求

  • Python 环境(用于 pip 安装 semilearn 包)
  • PyTorch(需与自身 CUDA 版本匹配)
  • 已安装 Docker 与 NVIDIA 驱动
  • nvidia-docker2(需要在容器内使用 GPU 时)
  • 可用的 CUDA 环境,官方 Dockerfile 使用 CUDA 11.6

安装与启动步骤

  1. 1安装 semilearn 包

    通过 pip 安装 USB 提供的 Python 包 semilearn,适合想快速在自己数据上训练/测试支持的 SSL 算法的用户。

    pip install semilearn
  2. 2检查 Docker 与 GPU

    确认已正确安装 Docker 和 NVIDIA 驱动,容器内用 GPU 还需装 nvidia-docker2,并用 nvidia-smi 查看 CUDA 版本。

    nvidia-smi
  3. 3克隆项目代码

    把 USB 仓库克隆到本地,后续构建镜像与运行示例都基于该目录。

    git clone https://github.com/microsoft/Semi-supervised-learning.git
  4. 4构建 Docker 镜像

    进入仓库目录构建镜像并命名为 semilearn。构建前可按自己的 CUDA 版本修改 Dockerfile 的基础镜像 tag 与 --extra-index-url。

    cd Semi-supervised-learning && docker build -t semilearn .

如何确认成功

docker build 成功结束后,docker images 中能看到 semilearn 镜像;pip install semilearn 无报错即安装成功。

常见问题

Q:CUDA 版本和默认的不一致怎么办?

A:README 说明可参照 Docker Hub 的 nvidia/cuda 标签修改 Dockerfile 基础镜像,并按 PyTorch 官网修改 --extra-index-url,默认使用的是 CUDA 11.6。

Q:容器里怎么使用 GPU?

A:需要先正确安装 nvidia-docker2,并在运行容器时加上 --gpu 参数(README 原文写法),否则容器内无法使用显卡。

Q:想先快速跑一个例子?

A:README 提供了两个 Colab 教程:Beginning example 和 Customize datasets,可以直接在浏览器中跟随运行,无需本地搭建环境。

Q:必须用 Docker 吗?

A:不必须。README 同时给出 pip install semilearn 的 Python 包安装方式和 Docker 镜像构建方式,可按自己的环境选择。

注意事项

  • Dockerfile 默认 CUDA 版本为 11.6,需按自身显卡环境调整基础镜像 tag 和 PyTorch 安装索引地址
  • 在容器内使用 GPU 需提前安装 nvidia-docker2,并传入 --gpu 参数
  • README 未给出具体训练命令、数据集路径与超参数,实际训练请参考仓库 results 与 Colab 教程

核心亮点

  • 统一实现了 FixMatch、FlexMatch、SoftMatch 等十余种主流半监督算法,方便公平对比
  • 覆盖图像、音频、NLP 多模态任务,适用面广
  • 提供标准化训练评估流程和可复现配置,降低实验门槛

不足之处

  • 文档和教程偏研究向,工程化落地指引较少
  • 部分算法依赖特定数据集配置,迁移到自有数据需一定改动

适用场景

  • 标注数据极少时,用半监督方法提升图像分类准确率
  • 学术研究中快速复现和对比不同半监督算法
  • 工业场景下音频或文本低资源分类任务的原型验证

替代项目

USB、TorchSSL

上一篇:gpt-neox

下一篇:OpenThoughts-Agent

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 464 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 63828 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1317 2026-08-13