{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/continual-learning-on-a-diet-learning-from","title":"Continual Learning on a Diet: Learning from Sparsely Labeled Streams Under Constrained Computation","arxiv_id":"2404.12766","date":"2024-04-19","proceeding":null,"authors":["Wenxuan Zhang","Youssef Mohamed","Bernard Ghanem","Philip H. S. Torr","Adel Bibi","Mohamed Elhoseiny"],"abstract":"We propose and study a realistic Continual Learning (CL) setting where learning algorithms are granted a restricted computational budget per time step while training. We apply this setting to large-scale semi-supervised Continual Learning scenarios with sparse label rates. Previous proficient CL methods perform very poorly in this challenging setting. Overfitting to the sparse labeled data and insufficient computational budget are the two main culprits for such a poor performance. Our new setting encourages learning methods to effectively and efficiently utilize the unlabeled data during training. To that end, we propose a simple but highly effective baseline, DietCL, which utilizes both unlabeled and labeled data jointly. DietCL meticulously allocates computational budget for both types of data. We validate our baseline, at scale, on several datasets, e.g., CLOC, ImageNet10K, and CGLM, under constraint budget setups. DietCL outperforms, by a large margin, all existing supervised CL algorithms as well as more recent continual semi-supervised methods. Our extensive analysis and ablations demonstrate that DietCL is stable under a full spectrum of label sparsity, computational budget, and various other ablations.","url_abs":"https://arxiv.org/abs/2404.12766v2","url_pdf":"https://arxiv.org/pdf/2404.12766v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"continual-learning-on-a-diet-learning-from","repo_url":"https://github.com/wx-zhang/continual-learning-on-a-diet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"continual-learning","task_name":"Continual Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2404.12766","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.12766"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wx-zhang/continual-learning-on-a-diet","reach":{"status":"ok"}}],"summary":{"ran":8,"ran_honours":1,"unverified":3},"by_repo_kind":{"official":{"samples":12,"ran":9,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":12,"samples":[{"code_sha256_prefix":"35e17b6daeb8ba28","entry":"build_transform","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"dataset/utils.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/dataset/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"35e17b6daeb8ba28"}},{"code_sha256_prefix":"c58ac0545d2d6ef6","entry":"default_loader","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"dataset/utils.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/dataset/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c58ac0545d2d6ef6"}},{"code_sha256_prefix":"0d435c96b0268941","entry":"find_available_ckpt","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"utils.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d435c96b0268941"}},{"code_sha256_prefix":"b622137cb75a6998","entry":"get_and_update_buffer","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"data.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b622137cb75a6998"}},{"code_sha256_prefix":"fe1765ac7ecd3425","entry":"get_buffer","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"data.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fe1765ac7ecd3425"}},{"code_sha256_prefix":"d6d8bcbbbf9b99ab","entry":"get_loader","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"data.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d6d8bcbbbf9b99ab"}},{"code_sha256_prefix":"88a7aed4cd817a75","entry":"get_run_name","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"utils.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"88a7aed4cd817a75"}},{"code_sha256_prefix":"f6be833ba409926f","entry":"pil_loader","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"dataset/utils.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/dataset/utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f6be833ba409926f"}},{"code_sha256_prefix":"b74b08945ac26306","entry":"resume_from_checkpoint","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"utils.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b74b08945ac26306"}},{"code_sha256_prefix":"12035a2f77d8016c","entry":"get_1d_sincos_pos_embed_from_grid","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"model/pose_embed.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/model/pose_embed.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"12035a2f77d8016c"}},{"code_sha256_prefix":"3185afc3e87293ed","entry":"get_2d_sincos_pos_embed","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"model/pose_embed.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/model/pose_embed.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3185afc3e87293ed"}},{"code_sha256_prefix":"f10004e059714d42","entry":"get_2d_sincos_pos_embed_from_grid","repo":"wx-zhang/continual-learning-on-a-diet","repo_kind":"official","path":"model/pose_embed.py","file_url":"https://github.com/wx-zhang/continual-learning-on-a-diet/blob/HEAD/model/pose_embed.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f10004e059714d42"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}