项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
技术标签
使用教程
—
环境要求
- Python 环境(用于 pip 安装 semilearn 包)
- PyTorch(需与自身 CUDA 版本匹配)
- 已安装 Docker 与 NVIDIA 驱动
- nvidia-docker2(需要在容器内使用 GPU 时)
- 可用的 CUDA 环境,官方 Dockerfile 使用 CUDA 11.6
安装与启动步骤
-
1安装 semilearn 包
通过 pip 安装 USB 提供的 Python 包 semilearn,适合想快速在自己数据上训练/测试支持的 SSL 算法的用户。
pip install semilearn -
2检查 Docker 与 GPU
确认已正确安装 Docker 和 NVIDIA 驱动,容器内用 GPU 还需装 nvidia-docker2,并用 nvidia-smi 查看 CUDA 版本。
nvidia-smi -
3克隆项目代码
把 USB 仓库克隆到本地,后续构建镜像与运行示例都基于该目录。
git clone https://github.com/microsoft/Semi-supervised-learning.git -
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
同类项目推荐
Long-RL
开源
让强化学习轻松驾驭超长序列,训练更稳更快
Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)
TPA
开源
把注意力复杂度从平方降到线性,长序列不再卡顿
[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···
minimind
开源
两小时造出你的小模型,练手入门不求人
Train a 64M-parameter LLM from scratch in just 2h!
pruna
开源
一键优化 AI 模型,推理提速又省资源。
Pruna is a model optimization framework built for developers, enabling you to delive···
