{"id":13738283,"url":"https://github.com/zeyademam/active_learning","last_synced_at":"2025-05-08T16:33:07.872Z","repository":{"id":45952069,"uuid":"431669222","full_name":"zeyademam/active_learning","owner":"zeyademam","description":"Code for Active Learning at The ImageNet Scale. This repository implements many popular active learning algorithms and allows training with torch's DDP. ","archived":false,"fork":false,"pushed_at":"2021-11-29T02:37:39.000Z","size":809,"stargazers_count":52,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-15T07:34:05.494Z","etag":null,"topics":["active-learning","distributed-data-parallel","pytorch-implementation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeyademam.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}},"created_at":"2021-11-25T00:44:08.000Z","updated_at":"2024-10-16T03:51:53.000Z","dependencies_parsed_at":"2022-09-03T04:42:29.737Z","dependency_job_id":null,"html_url":"https://github.com/zeyademam/active_learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeyademam%2Factive_learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeyademam%2Factive_learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeyademam%2Factive_learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeyademam%2Factive_learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeyademam","download_url":"https://codeload.github.com/zeyademam/active_learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253105422,"owners_count":21855023,"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","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","distributed-data-parallel","pytorch-implementation"],"created_at":"2024-08-03T03:02:17.123Z","updated_at":"2025-05-08T16:33:07.384Z","avatar_url":"https://github.com/zeyademam.png","language":"Python","readme":"# Active Learning at the ImageNet Scale\n\nThis repo contains code for the following paper:\n```\n@misc{emam2021active,\n      title={Active Learning at the ImageNet Scale}, \n      author={Zeyad Ali Sami Emam and Hong-Min Chu and Ping-Yeh Chiang and Wojciech Czaja and Richard Leapman and Micah Goldblum and Tom Goldstein},\n      year={2021},\n      eprint={2111.12880},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}}\n```\n\nPlease cite our work if you use this code. \n\n## Requirements\n\n`pip install -r requirements.txt`\n\n## Comet and Logging\n\nThis project uses Comet ML to log all experiments, you must\ninstall [comet_ml](https://www.comet.ml) (included in requirements.txt), however, the code does not\nrequire the user to have a Comet ML account or to enable comet logging at all. If you choose to use\ncomet ML, then you should include your API key in your home directory\n`~/.comet.config` (more on this in the Comet ML documentation). To use comet make sure the use the\nflag `--enable_comet`.\n\nLogs and network weights are stored according to the command line arguments `--log_dir`\nand `--ckpt_path`.\n\n## Loading SSP checkpoints\n\nSelf-supervised pretrained checkpoints must be obtained separately and specified\nin `./src/arg_pools` for each argpool, under the key `\"init_pretrained_ckpt_path\"`.\nTo access the checkpoints used in our experiments, please use the following links:\n- [ResNet-18 checkpoint for CIFAR-10](https://drive.google.com/file/d/1jN0A9SDj_bvwyDGPwvPPvcc-iIpfdEJf/view?usp=sharing)\n- [ResNet-18 checkpoint for imbalanced CIFAR-10](https://drive.google.com/file/d/1QzJV0C4kkGqXNPkn6ifySEFKueKBiwXi/view?usp=sharing)\n- [ResNet-50 checkpoint for ImageNet](https://drive.google.com/file/d/17px0_0syO3QNmuQGlLQuw00rvSG3ypuH/view?usp=sharing)\n\n\n## Sample Commands to Reproduce the Results in the Paper\n\nEach Imagenet experiment was conducted on a cluster node with a single V100-SXM2 GPU (32GB VRAM),\n64gb of RAM, and 16 2.3 GHz Intel Gold 6140 cpus. If more than one gpu are available on the node,\nthe code will automatically distribute batches across all gpus using DistributedDataParallel\ntraining.\n\nBelow is a sample command for running an experiment. The full list of command line arguments can be\nfound in `src/utils/parser.py`.\n\n```\npython main_al.py --dataset_dir \u003cYOUR DATASET DIR HERE\u003e --exp_name RandomSampler_arg_ssp_linear_evaluation_imagenet_b10000 --dataset imagenet --arg_pool ssp_linear_evaluation --model SSLResNet50 --strategy RandomSampler --rounds 8 --round_budget 10000 --init_pool_size 30000 --subset_labeled 50000 --subset_unlabeled 80000 --freeze_feature --partitions 10 --init_pool_type random \n```\n\nThe full list of commands to reproduce all plots in the paper can be obtained by\nrunning `python src/gen_jobs.py`.\n\n\n\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeyademam%2Factive_learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeyademam%2Factive_learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeyademam%2Factive_learning/lists"}