
USB :简历,NLP和音频分类的统一半监督学习基准
纸·基准·演示·Docs·发行·博客·博客(Pytorch)·博客(中文)·视频·视频(中文)
[03/16/2024]添加epass,sequenceMatch和RefixMatch。修复了一些错别字。
[07/07/2023]添加DefixMatch。修复了一些错误。释放semielearn = 0.3.1/
[06/01/2023] USB已正式加入Pytorch生态系统! [Pytorch博客]
[01/30/2023]更新SemiLearn == 0.3.0。添加频匹配和软匹配。添加不平衡算法。更新结果并添加WANDB支持。有关详细信息,请参阅Change_log。 [结果] [logs] [wandb]。可以在此处找到较旧的经典日志:[torchsss log]。
[10/16/2022]数据集下载链接和进程指令发布! [数据集]
[10/13/2022]我们已经完成了带有更新[结果]的相机准备版本。 [OpenReview]
[10/06/2022] USB的培训日志和结果已更新!可用的数据集将很快上传。 [logs] [结果]
[09/17/2022] USB纸已被神经2022数据集和基准轨道接受! [OpenReview]
[08/21/2022] USB已发布!
USB是一个基于Pytorch的Python软件包,用于半监督学习(SSL)。它易于使用/扩展,对小组负担得起,并且用于开发和评估SSL算法的全面。 USB基于一致性正规化提供了14个SSL算法的实现,以及15个用于评估CV,NLP和音频域的任务。

(返回到顶部)
这是如何在本地设置USB的一个示例。要获得本地副本,请按照以下简单的示例步骤运行。
USB建立在Pytorch上,带有火炬,Torchaudio和Transformers。
要安装所需的软件包,您可以创建一个Conda环境:
conda create --name usb python=3.8然后使用PIP安装所需的软件包:
pip install -r requirements.txt从现在开始,您可以通过键入开始使用USB
python train.py --c config/usb_cv/fixmatch/fixmatch_cifar100_200_0.yaml我们为想要开始培训/测试其数据的支持的SSL算法的用户提供了USB的Python软件包SEMILEARN :
pip install semilearn(返回到顶部)
您还可以开发自己的SSL算法并通过克隆USB进行评估:
git clone https://github.com/microsoft/Semi-supervised-learning.git(返回到顶部)
数据集下载中显示了用于下载和处理的详细说明。在运行或开发算法之前,请关注它以下载数据集。
(返回到顶部)
USB易于使用和扩展。浏览鲍式示例将帮助您熟悉USB快速使用,评估自己的数据集中现有的SSL算法或开发新的SSL算法。
请参阅首先安装USB的安装。我们提供COLAB教程:
步骤1:检查您的环境
您需要首先正确安装Docker和Nvidia驱动程序。要在Docker容器中使用GPU,您还需要安装NVIDIA-DOCKER2(安装指南)。然后,请通过nvidia-smi检查您的CUDA版本
步骤2:克隆项目
git clone https://github.com/microsoft/Semi-supervised-learning.git步骤3:构建Docker图像
在构建图像之前,您可以根据CUDA版本修改Dockerfile。我们使用的CUDA版本是11.6。您可以根据此站点更改基本图像标签。您还需要根据您的CUDA版本更改--extra-index-url ,以安装正确的Pytorch版本。您可以通过Pytorch网站检查URL。
使用此命令构建图像
cd Semi-supervised-learning && docker build -t semilearn .工作完成。您可以使用刚刚为自己的项目构建的图像。不要忘记使用该参数--gpu当您想在容器中使用GPU时,GPU。
这是一个示例,可以在CIFAR-100上使用200个标签进行修复。培训其他支持的算法(在具有不同标签设置的其他数据集上)可以通过配置文件指定:
python train.py --c config/usb_cv/fixmatch/fixmatch_cifar100_200_0.yaml培训后,您可以检查培训日志上的评估性能或运行评估脚本:
python eval.py --dataset cifar100 --num_classes 100 --load_path /PATH/TO/CHECKPOINT
检查开发文档以创建自己的SSL算法!
有关更多示例,请参考文档
(返回到顶部)
请参阅结果以获取不同任务的基准结果。
(返回到顶部)
TODO:添加预训练的模型。
(返回到顶部)
有关拟议功能(以及已知问题)的完整列表,请参见开放问题。
(返回到顶部)
该项目欢迎贡献和建议。大多数捐款要求您同意撰写贡献者许可协议(CLA),宣布您有权并实际上授予我们使用您的贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com。
当您提交拉动请求时,CLA机器人将自动确定您是否需要提供CLA并适当装饰PR(例如状态检查,评论)。只需按照机器人提供的说明即可。您只需要使用我们的CLA在所有存储库中进行一次。
该项目采用了Microsoft开源的行为代码。有关更多信息,请参见《行为守则常见问题守则》或与其他问题或评论联系[email protected]。
如果您有一个可以使USB更好的建议,请分配存储库并创建拉动请求。您也可以简单地使用标签“增强”打开问题。别忘了给项目一个明星!再次感谢!
git checkout -b your_name/your_branch )git commit -m 'Add some features' )git push origin your_name/your_branch分支(返回到顶部)
该项目可能包含用于项目,产品或服务的商标或徽标。 Microsoft商标或徽标的授权使用受到了Microsoft的商标和品牌准则的约束。在此项目的修改版本中使用Microsoft商标或徽标不得引起混乱或暗示Microsoft赞助。任何使用第三方商标或徽标都遵守这些第三方政策。
根据MIT许可分发。有关更多信息,请参见LICENSE.txt 。
(返回到顶部)
USB社区维护着:
(返回到顶部)
如果您对这个项目罚款,请引用我们,这对您的项目/论文有帮助:
@inproceedings{usb2022,
doi = {10.48550/ARXIV.2208.07204},
url = {https://arxiv.org/abs/2208.07204},
author = {Wang, Yidong and Chen, Hao and Fan, Yue and Sun, Wang and Tao, Ran and Hou, Wenxin and Wang, Renjie and Yang, Linyi and Zhou, Zhi and Guo, Lan-Zhe and Qi, Heli and Wu, Zhen and Li, Yu-Feng and Nakamura, Satoshi and Ye, Wei and Savvides, Marios and Raj, Bhiksha and Shinozaki, Takahiro and Schiele, Bernt and Wang, Jindong and Xie, Xing and Zhang, Yue},
title = {USB: A Unified Semi-supervised Learning Benchmark for Classification},
booktitle = {Thirty-sixth Conference on Neural Information Processing Systems Datasets and Benchmarks Track},
year = {2022}
}
@article{wang2023freematch,
title={FreeMatch: Self-adaptive Thresholding for Semi-supervised Learning},
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},
booktitle={International Conference on Learning Representations (ICLR)},
year={2023}
}
@article{chen2023softmatch,
title={SoftMatch: Addressing the Quantity-Quality Trade-off in Semi-supervised Learning},
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},
booktitle={International Conference on Learning Representations (ICLR)},
year={2023}
}
@article{zhang2021flexmatch,
title={FlexMatch: Boosting Semi-supervised Learning with Curriculum Pseudo Labeling},
author={Zhang, Bowen and Wang, Yidong and Hou, Wenxin and Wu, Hao and Wang, Jindong and Okumura, Manabu and Shinozaki, Takahiro},
booktitle={Neural Information Processing Systems (NeurIPS)},
year={2021}
}
我们感谢以下项目的参考创建USB:
(返回到顶部)