{"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/boostadapter-improving-test-time-adaptation","title":"BoostAdapter: Improving Vision-Language Test-Time Adaptation via Regional Bootstrapping","arxiv_id":"2410.15430","date":"2024-10-20","proceeding":null,"authors":["Taolin Zhang","Jinpeng Wang","Hang Guo","Tao Dai","Bin Chen","Shu-Tao Xia"],"abstract":"Adaptation of pretrained vision-language models such as CLIP to various downstream tasks have raised great interest in recent researches. Previous works have proposed a variety of test-time adaptation (TTA) methods to achieve strong generalization without any knowledge of the target domain. However, existing training-required TTA approaches like TPT necessitate entropy minimization that involves large computational overhead, while training-free methods like TDA overlook the potential for information mining from the test samples themselves. In this paper, we break down the design of existing popular training-required and training-free TTA methods and bridge the gap between them within our framework. Specifically, we maintain a light-weight key-value memory for feature retrieval from instance-agnostic historical samples and instance-aware boosting samples. The historical samples are filtered from the testing data stream and serve to extract useful information from the target distribution, while the boosting samples are drawn from regional bootstrapping and capture the knowledge of the test sample itself. We theoretically justify the rationality behind our method and empirically verify its effectiveness on both the out-of-distribution and the cross-domain datasets, showcasing its applicability in real-world situations.","url_abs":"https://arxiv.org/abs/2410.15430v2","url_pdf":"https://arxiv.org/pdf/2410.15430v2.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":"boostadapter-improving-test-time-adaptation","repo_url":"https://github.com/taolinzhang/boostadapter","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"test-time-adaptation","task_name":"Test-time Adaptation"}],"methods":[{"method_slug":"clip","method_name":"CLIP"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.15430","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.15430"}},"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/taolinzhang/boostadapter","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"unverified":5},"by_repo_kind":{"official":{"samples":9,"ran":4,"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":1,"samples":[{"code_sha256_prefix":"a428b4b908cd066e","entry":"get_clip_logits","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a428b4b908cd066e"}},{"code_sha256_prefix":"f61d80185edfb078","entry":"get_entropy","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f61d80185edfb078"}},{"code_sha256_prefix":"9592c9734205a85d","entry":"get_output_entropy","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9592c9734205a85d"}},{"code_sha256_prefix":"6460989d9e69e02f","entry":"select_confident_samples","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6460989d9e69e02f"}},{"code_sha256_prefix":"c2df94ca3de67eb0","entry":"softmax_entropy","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"c2df94ca3de67eb0"}},{"code_sha256_prefix":"80833faac85e0e96","entry":"ProgressMeter","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"80833faac85e0e96"}},{"code_sha256_prefix":"ac93a0c3da40684b","entry":"compute_cache_logits","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ac93a0c3da40684b"}},{"code_sha256_prefix":"eee04b556a5a5f03","entry":"get_plpd_image","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eee04b556a5a5f03"}},{"code_sha256_prefix":"70dcf81e98e78237","entry":"run_test_tda","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"70dcf81e98e78237"}},{"code_sha256_prefix":"352d6e9a9e3bc20d","entry":"update_cache","repo":"taolinzhang/boostadapter","repo_kind":"official","path":"runner.py","file_url":"https://github.com/taolinzhang/boostadapter/blob/HEAD/runner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"352d6e9a9e3bc20d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}