{"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/unsupervised-domain-adaptation-through-self-1","title":"Unsupervised Domain Adaptation through Self-Supervision","arxiv_id":"1909.11825","date":"2019-09-26","proceeding":null,"authors":["Yu Sun","Eric Tzeng","Trevor Darrell","Alexei A. Efros"],"abstract":"This paper addresses unsupervised domain adaptation, the setting where labeled training data is available on a source domain, but the goal is to have good performance on a target domain with only unlabeled data. Like much of previous work, we seek to align the learned representations of the source and target domains while preserving discriminability. The way we accomplish alignment is by learning to perform auxiliary self-supervised task(s) on both domains simultaneously. Each self-supervised task brings the two domains closer together along the direction relevant to that task. Training this jointly with the main task classifier on the source domain is shown to successfully generalize to the unlabeled target domain. The presented objective is straightforward to implement and easy to optimize. We achieve state-of-the-art results on four out of seven standard benchmarks, and competitive results on segmentation adaptation. We also demonstrate that our method composes well with another popular pixel-level adaptation method.","url_abs":"https://arxiv.org/abs/1909.11825v2","url_pdf":"https://arxiv.org/pdf/1909.11825v2.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":"unsupervised-domain-adaptation-through-self-1","repo_url":"https://github.com/yueatsprograms/uda_release","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Unlicense"}},{"paper_slug":"unsupervised-domain-adaptation-through-self-1","repo_url":"https://github.com/Jinsung-Jeon/DomainAdaptation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"unsupervised-domain-adaptation-through-self-1","repo_url":"https://github.com/Jinsung-Jeon/Unsupervised-Domain-Adaptation-Through-Self-Supervision","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"unsupervised-domain-adaptation","task_name":"Unsupervised Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/synthetic-to-real-translation-on-gtav-to","task":"Synthetic-to-Real Translation","dataset":"GTAV-to-Cityscapes Labels","model":"UDA-SA + CyCADA","rank_in_archive_order":65,"of":73,"metrics":{"mIoU":"41.2"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1909.11825","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1909.11825"}},"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/Jinsung-Jeon/DomainAdaptation","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yueatsprograms/uda_release","reach":{"status":"ok","spdx":"Unlicense"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Jinsung-Jeon/Unsupervised-Domain-Adaptation-Through-Self-Supervision","reach":null}],"summary":{"ran_draft_wrong":2,"ran":2,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"repositories":1},"listed":{"samples":2,"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":2,"samples":[{"code_sha256_prefix":"7f4e3d03f22214c8","entry":"flip_hor","repo":"Jinsung-Jeon/Unsupervised-Domain-Adaptation-Through-Self-Supervision","repo_kind":"listed","path":"self-supervised/flip.py","file_url":"https://github.com/Jinsung-Jeon/Unsupervised-Domain-Adaptation-Through-Self-Supervision/blob/HEAD/self-supervised/flip.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f4e3d03f22214c8"}},{"code_sha256_prefix":"e2cb418984e62890","entry":"flip_ver","repo":"Jinsung-Jeon/Unsupervised-Domain-Adaptation-Through-Self-Supervision","repo_kind":"listed","path":"self-supervised/flip.py","file_url":"https://github.com/Jinsung-Jeon/Unsupervised-Domain-Adaptation-Through-Self-Supervision/blob/HEAD/self-supervised/flip.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e2cb418984e62890"}},{"code_sha256_prefix":"890d94991798f654","entry":"tensor_rot_180","repo":"yueatsprograms/uda_release","repo_kind":"official","path":"dset_classes/DsetSSRotRand.py","file_url":"https://github.com/yueatsprograms/uda_release/blob/HEAD/dset_classes/DsetSSRotRand.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Unlicense","inline_ok":true,"mcp_get_code":{"code_sha256":"890d94991798f654"}},{"code_sha256_prefix":"de9a9c1253646b04","entry":"tensor_rot_90","repo":"yueatsprograms/uda_release","repo_kind":"official","path":"dset_classes/DsetSSRotRand.py","file_url":"https://github.com/yueatsprograms/uda_release/blob/HEAD/dset_classes/DsetSSRotRand.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Unlicense","inline_ok":true,"mcp_get_code":{"code_sha256":"de9a9c1253646b04"}},{"code_sha256_prefix":"67ad1a94d4cfa4ba","entry":"tensor_rot_90_digit","repo":"yueatsprograms/uda_release","repo_kind":"official","path":"dset_classes/DsetSSRotRand.py","file_url":"https://github.com/yueatsprograms/uda_release/blob/HEAD/dset_classes/DsetSSRotRand.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Unlicense","inline_ok":true,"mcp_get_code":{"code_sha256":"67ad1a94d4cfa4ba"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}