{"id":13577704,"url":"https://github.com/elijahcole/single-positive-multi-label","last_synced_at":"2025-04-13T05:33:56.130Z","repository":{"id":37701526,"uuid":"370184890","full_name":"elijahcole/single-positive-multi-label","owner":"elijahcole","description":"Multi-Label Learning from Single Positive Labels - CVPR 2021","archived":false,"fork":false,"pushed_at":"2023-11-21T01:41:35.000Z","size":27019,"stargazers_count":95,"open_issues_count":0,"forks_count":19,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-26T22:12:40.912Z","etag":null,"topics":["computer-vision","cvpr","cvpr2021","deep-learning","missing-labels","multi-label-classification","multilabel-classification"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2106.09708","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/elijahcole.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}},"created_at":"2021-05-24T00:22:32.000Z","updated_at":"2025-03-25T01:14:45.000Z","dependencies_parsed_at":"2023-11-21T02:43:34.096Z","dependency_job_id":null,"html_url":"https://github.com/elijahcole/single-positive-multi-label","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/elijahcole%2Fsingle-positive-multi-label","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elijahcole%2Fsingle-positive-multi-label/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elijahcole%2Fsingle-positive-multi-label/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elijahcole%2Fsingle-positive-multi-label/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elijahcole","download_url":"https://codeload.github.com/elijahcole/single-positive-multi-label/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670521,"owners_count":21142896,"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":["computer-vision","cvpr","cvpr2021","deep-learning","missing-labels","multi-label-classification","multilabel-classification"],"created_at":"2024-08-01T15:01:23.721Z","updated_at":"2025-04-13T05:33:52.994Z","avatar_url":"https://github.com/elijahcole.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Multi-Label Learning from Single Positive Labels\n\nCode to reproduce the main results in the paper [Multi-Label Learning from Single Positive Labels](https://arxiv.org/abs/2106.09708) (CVPR 2021). \n\n## Getting Started\n\nSee the `README.md` file in the `data` directory for instructions on downloading and setting up the datasets.\n\n## Training a Model\n\nTo train and evaluate a model, run:\n```\npython train.py\n```\n\n## Selecting the Training Procedure\nTo generate different entries of the main table, modify the following parameters:\n1. `dataset`: Which dataset to use.\n1. `loss`: Which loss to use.\n1. `train_mode`: Whether to (a) train a linear classifier on top of pre-extracted features, (b) train end-to-end, or (c) do (a) followed by (b).\n1. `val_set_variant`: Whether to use a clean val set or a validation set where a single positive is observed for each image.\n\n## Hyperparameter Search\nAs written, `train.py` will run a hyperparameter search over a few different learning rates and batch sizes, save the results for all runs, and report the best run. If desired, modify the code at the bottom of `train.py` to search over different parameter settings. \n\n**The `linear_init` mode searches over hyperparameters for the fine-tuning phase only.** The hyperparameters for the linear training phase are fixed. In particular, `linear_init_lr` and `linear_init_bsize` are set to the best learning rate and batch size from a `linear_fixed_features` hyperparameter search. \n\n## Misc\n* The `requirements.txt` files was generated using the wonderful tool [pipreqs](https://github.com/bndr/pipreqs).\n* Please feel free to get in touch / open an issue if anything is unclear. \n* In this paper we used only those images from NUSWIDE which were still publicly available when we re-crawled the dataset in 2020 using Namhyuk Ahn's [downloader](https://github.com/nmhkahn/NUS-WIDE-downloader). Following the instructions in `data/README.md` should yield the exact subset used for our experiments. \n\n## Reference  \nIf you find our work useful in your research please consider citing our paper:  \n\n```latex\n@inproceedings{cole2021multi,\n  title={Multi-Label Learning from Single Positive Labels},\n  author={Cole, Elijah and \n          Mac Aodha, Oisin and \n          Lorieul, Titouan and \n          Perona, Pietro and \n          Morris, Dan and \n          Jojic, Nebojsa},\n  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},\n  year={2021}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felijahcole%2Fsingle-positive-multi-label","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felijahcole%2Fsingle-positive-multi-label","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felijahcole%2Fsingle-positive-multi-label/lists"}