{"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/watt-weight-average-test-time-adaption-of","title":"WATT: Weight Average Test-Time Adaptation of CLIP","arxiv_id":"2406.13875","date":"2024-06-19","proceeding":null,"authors":["David Osowiechi","Mehrdad Noori","Gustavo Adolfo Vargas Hakim","Moslem Yazdanpanah","Ali Bahri","Milad Cheraghalikhani","Sahar Dastani","Farzad Beizaee","Ismail Ben Ayed","Christian Desrosiers"],"abstract":"Vision-Language Models (VLMs) such as CLIP have yielded unprecedented performance for zero-shot image classification, yet their generalization capability may still be seriously challenged when confronted to domain shifts. In response, we present Weight Average Test-Time Adaptation (WATT) of CLIP, a pioneering approach facilitating full test-time adaptation (TTA) of this VLM. Our method employs a diverse set of templates for text prompts, augmenting the existing framework of CLIP. Predictions are utilized as pseudo labels for model updates, followed by weight averaging to consolidate the learned information globally. Furthermore, we introduce a text ensemble strategy, enhancing overall test performance by aggregating diverse textual cues. Our findings underscore the efficacy of WATT in enhancing performance across diverse datasets, including CIFAR-10-C, CIFAR-10.1, CIFAR-100-C, VisDA-C, and several other challenging datasets, effectively covering a wide range of domain shifts. Notably, these enhancements are achieved without necessitating additional model transformations or trainable modules. Moreover, compared to other Test-Time Adaptation methods, our approach can operate effectively with just a single image. Highlighting the potential of innovative test-time strategies, this research emphasizes their role in fortifying the adaptability of VLMs. The implementation is available at: \\url{https://github.com/Mehrdad-Noori/WATT.git}.","url_abs":"https://arxiv.org/abs/2406.13875v2","url_pdf":"https://arxiv.org/pdf/2406.13875v2.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":"watt-weight-average-test-time-adaption-of","repo_url":"https://github.com/mehrdad-noori/watt","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"overall-test","task_name":"Overall - Test"},{"task_slug":"test-time-adaptation","task_name":"Test-time Adaptation"},{"task_slug":"zero-shot-image-classification","task_name":"Zero-Shot Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"clip","method_name":"CLIP"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.13875","atlas_url":"https://app.syntology.ai/?focus=2406.13875","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.13875"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/mehrdad-noori/watt","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":0,"samples":[{"code_sha256_prefix":"98f385d847636a3e","entry":"basic_clean","repo":"mehrdad-noori/watt","repo_kind":"official","path":"clip/simple_tokenizer.py","file_url":"https://github.com/mehrdad-noori/watt/blob/HEAD/clip/simple_tokenizer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"98f385d847636a3e"}},{"code_sha256_prefix":"d919ae32e5e4e616","entry":"get_pairs","repo":"mehrdad-noori/watt","repo_kind":"official","path":"clip/simple_tokenizer.py","file_url":"https://github.com/mehrdad-noori/watt/blob/HEAD/clip/simple_tokenizer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d919ae32e5e4e616"}},{"code_sha256_prefix":"8bcc28934af8c424","entry":"load_templates_from_yaml","repo":"mehrdad-noori/watt","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/mehrdad-noori/watt/blob/HEAD/utils/misc.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8bcc28934af8c424"}},{"code_sha256_prefix":"c631ff42fed59f21","entry":"stage_path","repo":"mehrdad-noori/watt","repo_kind":"official","path":"download_datasets.py","file_url":"https://github.com/mehrdad-noori/watt/blob/HEAD/download_datasets.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c631ff42fed59f21"}},{"code_sha256_prefix":"9542161e9640b858","entry":"whitespace_clean","repo":"mehrdad-noori/watt","repo_kind":"official","path":"clip/simple_tokenizer.py","file_url":"https://github.com/mehrdad-noori/watt/blob/HEAD/clip/simple_tokenizer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9542161e9640b858"}},{"code_sha256_prefix":"00d748c52da0687e","entry":"build_model","repo":"mehrdad-noori/watt","repo_kind":"official","path":"clip/model.py","file_url":"https://github.com/mehrdad-noori/watt/blob/HEAD/clip/model.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":"00d748c52da0687e"}},{"code_sha256_prefix":"2da7ec0975be872a","entry":"load","repo":"mehrdad-noori/watt","repo_kind":"official","path":"clip/clip.py","file_url":"https://github.com/mehrdad-noori/watt/blob/HEAD/clip/clip.py","link_basis":"harvester_set","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":"2da7ec0975be872a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}