
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:
(返回到頂部)