{"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/memsac-memory-augmented-sample-consistency","title":"MemSAC: Memory Augmented Sample Consistency for Large Scale Unsupervised Domain Adaptation","arxiv_id":"2207.12389","date":"2022-07-25","proceeding":null,"authors":["Tarun Kalluri","Astuti Sharma","Manmohan Chandraker"],"abstract":"Practical real world datasets with plentiful categories introduce new challenges for unsupervised domain adaptation like small inter-class discriminability, that existing approaches relying on domain invariance alone cannot handle sufficiently well. In this work we propose MemSAC, which exploits sample level similarity across source and target domains to achieve discriminative transfer, along with architectures that scale to a large number of categories. For this purpose, we first introduce a memory augmented approach to efficiently extract pairwise similarity relations between labeled source and unlabeled target domain instances, suited to handle an arbitrary number of classes. Next, we propose and theoretically justify a novel variant of the contrastive loss to promote local consistency among within-class cross domain samples while enforcing separation between classes, thus preserving discriminative transfer from source to target. We validate the advantages of MemSAC with significant improvements over previous state-of-the-art on multiple challenging transfer tasks designed for large-scale adaptation, such as DomainNet with 345 classes and fine-grained adaptation on Caltech-UCSD birds dataset with 200 classes. We also provide in-depth analysis and insights into the effectiveness of MemSAC.","url_abs":"https://arxiv.org/abs/2207.12389v2","url_pdf":"https://arxiv.org/pdf/2207.12389v2.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":"memsac-memory-augmented-sample-consistency","repo_url":"https://github.com/ViLab-UCSD/MemSAC_ECCV2022","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"fine-grained-visual-recognition","task_name":"Fine-Grained Visual Recognition"},{"task_slug":"unsupervised-domain-adaptation","task_name":"Unsupervised Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.12389","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.12389"}},"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/ViLab-UCSD/MemSAC_ECCV2022","reach":null}],"summary":{"ran":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"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":"51f1a4f87e3bd835","entry":"MSCLoss","repo":"ViLab-UCSD/MemSAC_ECCV2022","repo_kind":"official","path":"model/memory.py","file_url":"https://github.com/ViLab-UCSD/MemSAC_ECCV2022/blob/HEAD/model/memory.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"51f1a4f87e3bd835"}},{"code_sha256_prefix":"4566d19eaac3127a","entry":"cdist","repo":"ViLab-UCSD/MemSAC_ECCV2022","repo_kind":"official","path":"model/memory.py","file_url":"https://github.com/ViLab-UCSD/MemSAC_ECCV2022/blob/HEAD/model/memory.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4566d19eaac3127a"}},{"code_sha256_prefix":"cbb53899786dbce3","entry":"MemoryModule","repo":"ViLab-UCSD/MemSAC_ECCV2022","repo_kind":"official","path":"model/memory.py","file_url":"https://github.com/ViLab-UCSD/MemSAC_ECCV2022/blob/HEAD/model/memory.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":"cbb53899786dbce3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}