{"id":20349987,"url":"https://github.com/cure-lab/deep-active-learning","last_synced_at":"2025-10-16T17:31:50.615Z","repository":{"id":40487473,"uuid":"408734984","full_name":"cure-lab/deep-active-learning","owner":"cure-lab","description":"An implementation of the state-of-the-art Deep Active Learning algorithms","archived":false,"fork":false,"pushed_at":"2023-09-19T14:02:06.000Z","size":1679848,"stargazers_count":103,"open_issues_count":4,"forks_count":18,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-19T09:04:45.132Z","etag":null,"topics":["active-learning","deep-learning","sample-selection"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cure-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-21T08:00:06.000Z","updated_at":"2025-04-13T13:59:29.000Z","dependencies_parsed_at":"2024-11-14T22:39:09.341Z","dependency_job_id":null,"html_url":"https://github.com/cure-lab/deep-active-learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cure-lab/deep-active-learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cure-lab%2Fdeep-active-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cure-lab%2Fdeep-active-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cure-lab%2Fdeep-active-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cure-lab%2Fdeep-active-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cure-lab","download_url":"https://codeload.github.com/cure-lab/deep-active-learning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cure-lab%2Fdeep-active-learning/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267889864,"owners_count":24161295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["active-learning","deep-learning","sample-selection"],"created_at":"2024-11-14T22:28:27.867Z","updated_at":"2025-10-16T17:31:45.578Z","avatar_url":"https://github.com/cure-lab.png","language":"Python","readme":"# Deep Active Learning with Pytorch\nAn implementation of the state-of-the-art Deep Active Learning algorithm. \nThis code was built based on [Jordan Ash's repository](https://github.com/JordanAsh/badge).\n\n# Dependencies\n\nTo run this code fully, you'll need [PyTorch](https://pytorch.org/) (we're using version 1.4.0), [scikit-learn](https://scikit-learn.org/stable/).\nWe've been running our code in Python 3.7.\n\n# Algorithms Implemented\n## Deep active learning Strategies\n|                Sampling Strategies                |    Year    | Done |\n|:-------------------------------------------------:|:----------:|:----:|\n|                  Random Sampling                  |      x     |  ✅ |\n|                 ClusterMargin [1]                 |  arXiv'21  |  ✅ |\n|                      WAAL [2]                     | AISTATS'20 |  ✅ |\n|                     BADGE [3]                     |   ICLR'20  |  ✅ |\n|    Adversarial Sampling for Active Learning [4]   |   WACV'20  |  ✅ |\n|       Learning Loss for Active Learning [5]       |   CVPR'19  |  ✅ |\n|     Variational Adversial Active Learning [6]     |   ICCV'19  |  ✅ |\n|                   BatchBALD [7]                   |   NIPS'19  |  ✅ |\n|                K-Means Sampling [8]               |   ICLR'18  |  ✅ |\n|                K-Centers Greedy [8]               |   ICLR'18  |  ✅ |\n|                    Core-Set [8]                   |   ICLR'18  |  ✅ |\n|             Adversarial - DeepFool [9]            |  ArXiv'18  |  ✅ |\n|             Uncertainty Ensembles [10]            |   NIPS'17  |  ✅ |\n| Uncertainty Sampling with Dropout Estimation [11] |   ICML'17  |  ✅ |\n|     Bayesian Active Learning Disagreement [11]    |   ICML'17  |  ✅ |\n|               Least Confidence [12]               |  IJCNN'14  |  ✅ |\n|                Margin Sampling [12]               |  IJCNN'14  |  ✅ |\n|               Entropy Sampling [12]               |  IJCNN'14  |  ✅ |\n|               UncertainGCN Sampling [13]          |  CVPR'21  |  ✅ |\n|               CoreGCN Sampling [13]               |  CVPR'21  |  ✅ |\n|               Ensemble [14]                       |  CVPR'18  |  ✅ |\n|               MCDAL [15]                |  Knowledge-based Systems'19  |  ✅ |\n\n\n## Deep active learning + Semi-supervised learning\n\n|                Sampling Strategies                |    Year    | Done |\n|:-------------------------------------------------:|:----------:|:----:|\n|               Consistency-SSLAL [16]                |  ECCV'20  |  ✅ |\n|               MixMatch-SSLAL [17]                |  arXiv  |  ✅ |\n|               UDA [18]                |  NIPS'20  |  In progress |\n\n\n\n\n# Running an experiment\n## Requirements\n\nFirst, please make sure you have installed Conda. Then, our environment can be installed by:\n```\nconda create -n DAL python=3.7\nconda activate DAL\npip install -r requirements.txt\n```\n\n## Example\n```\npython main.py --model ResNet18  --dataset cifar10 --strategy LeastConfidence\n```\nIt runs an active learning experiment using ResNet18 and CIFAR-10 data, querying according to the LeastConfidence algorithm. The result will be saved in the **./save** directory.\n\nYou can also use `run.sh` to run experiments.\n\n## Self-supervised feautres of data\nYou can download the features/feature_model from [here](https://mycuhk-my.sharepoint.com/:f:/g/personal/1155170454_link_cuhk_edu_hk/EtfELBvgwwlArSvrxtOHbaoBkTmCZgqZ3qOPwaQ601a4SQ?e=GfEj94)\n\n# Contact\nIf you have any questions/suggestions, or would like to contribute to this repo, please feel free to contact:\n  Yu Li `yuli@cse.cuhk.edu.hk`,   Muxi Chen `mxchen21@cse.cuhk.edu.hk` or Prof. Qiang Xu `qxu@cse.cuhk.edu.hk`\n\n  \n\n## References\n\n[1] (ClusterMargin, 2021) Batch Active Learning at Scale\n\n[2] (WAAL, AISTATS'20) Deep Active Learning: Unified and Principled Method for Query and Training [paper](https://arxiv.org/pdf/1911.09162.pdf) [code](https://github.com/cjshui/WAAL)\n\n[3] (BADGE, ICLR'20) Deep Batch Active Learning by Diverse, Uncertain Gradient Lower Bounds [paper](https://openreview.net/forum?id=ryghZJBKPS) [code](https://github.com/JordanAsh/badge)\n\n\u003c!-- - [x] (PROXY, ICLR'20) Selection via Proxy: Efficient Data Selection for Deep Learning [paper](https://arxiv.org/pdf/1906.11829.pdf) [code](https://github.com/stanford-futuredata/selection-via-proxy) --\u003e\n\n\n[4] (ASAL, WACV'20) Adversarial Sampling for Active Learning [paper](https://arxiv.org/pdf/1808.06671.pdf) \n\n[5] (CVPR'19) Learning Loss for Active Learning [paper](https://arxiv.org/pdf/1905.03677v1.pdf) [code](https://github.com/Mephisto405/Learning-Loss-for-Active-Learning)\n\n[6] (VAAL, ICCV'19) Variational Adversial Active Learning [paper](https://arxiv.org/pdf/1904.00370.pdf) [code](https://github.com/sinhasam/vaal)\n\n[7] (BatchBALD, NIPS'19) BatchBALD: Efficient and Diverse Batch Acquisition for Deep Bayesian Active Learning [paper](https://papers.nips.cc/paper/2019/file/95323660ed2124450caaac2c46b5ed90-Paper.pdf) [code](https://github.com/BlackHC/BatchBALD)\n\n\u003c!-- - [Muxi] (ICML'19) Bayesian Generative Active Deep Learning [paper](https://arxiv.org/pdf/1904.11643v1.pdf) [code](https://github.com/toantm/BGADL) --\u003e\n\u003c!-- - [YuLi] (AAAI'19) (SPAL) Self-Paced Active Learning: Query the Right Thing at the Right Time [paper](https://ojs.aaai.org//index.php/AAAI/article/view/4445)  --\u003e\n\n[8] (CORE-SET, ICLR'18) Active Learning for Convolutional Neural Networks: A Core-Set Approach [paper](https://arxiv.org/pdf/1708.00489.pdf) [code](https://github.com/ozansener/active_learning_coreset)\n\n[9] (DFAL, 2018) Adversarial Active Learning for Deep Networks: a Margin Based Approach\n\n[10] (NIPS'17) Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles [paper](https://arxiv.org/pdf/1612.01474.pdf) [code](https://github.com/vvanirudh/deep-ensembles-uncertainty) \n\n[11] (DBAL, ICML'17) Deep Bayesian Active Learning with Image Data [paper](https://arxiv.org/pdf/1703.02910.pdf) [code](https://github.com/bnjasim/Deep-Bayesian-Active-Learning)\n\n[12] (Least Confidence/Margin/Entropy, IJCNN'14) A New Active Labeling Method for Deep Learning, IJCNN, 2014\n\n\n\u003c!-- - [x] (ICDM'20) Active Learning with Multi-granular Graph Auto-Encoder [paper](https://ieeexplore.ieee.org/document/9338373/authors#authors)  --\u003e\n\n\n[13] (UncertainGCN, CoreGCN, CVPR'21) Sequential Graph Convolutional Network for Active Learning [paper](https://arxiv.org/pdf/2006.10219.pdf) [code](https://github.com/razvancaramalau/Sequential-GCN-for-Active-Learning)\n\n[14] (Emsemble, CVPR'18) The power of ensembles for active learning in image classification [paper](https://openaccess.thecvf.com/content_cvpr_2018/papers/Beluch_The_Power_of_CVPR_2018_paper.pdf) \n\n[15] (Knowledge-based Systems'19) Multi-criteria active deep learning for image classification [paper](https://www.sciencedirect.com/science/article/abs/pii/S0950705119300747?via%3Dihub) [code](https://github.com/houxingxing/Multi-Criteria-Active-Deep-Learning-for-Image-Classification)\n\n[16] (ECCV'20) Consistency-based semi-supervised active learning: Towards minimizing labeling cost [paper](https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123550511.pdf) \n\n[17] (Google, arXiv) Combining MixMatch and Active Learning for Better Accuracy with Fewer Labels \n\n[18] (Google, NIPS’20) Unsupervised Data Augmentation for Consistency Training \n\n\n\n\u003c!-- - [YuLi] (LAL, NIPS'17) Learning Active Learning from Data [paper](https://papers.nips.cc/paper/2017/file/8ca8da41fe1ebc8d3ca31dc14f5fc56c-Paper.pdf) [code](https://github.com/ksenia-konyushkova/LAL) --\u003e\n\n\n","funding_links":[],"categories":["scientific publications"],"sub_categories":["Sampling as a step of the publication"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcure-lab%2Fdeep-active-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcure-lab%2Fdeep-active-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcure-lab%2Fdeep-active-learning/lists"}