{"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/semi-supervised-domain-adaptation-via-minimax","title":"Semi-supervised Domain Adaptation via Minimax Entropy","arxiv_id":"1904.06487","date":"2019-04-13","proceeding":"ICCV 2019 10","authors":["Kuniaki Saito","Donghyun Kim","Stan Sclaroff","Trevor Darrell","Kate Saenko"],"abstract":"Contemporary domain adaptation methods are very effective at aligning feature distributions of source and target domains without any target supervision. However, we show that these techniques perform poorly when even a few labeled examples are available in the target. To address this semi-supervised domain adaptation (SSDA) setting, we propose a novel Minimax Entropy (MME) approach that adversarially optimizes an adaptive few-shot model. Our base model consists of a feature encoding network, followed by a classification layer that computes the features' similarity to estimated prototypes (representatives of each class). Adaptation is achieved by alternately maximizing the conditional entropy of unlabeled target data with respect to the classifier and minimizing it with respect to the feature encoder. We empirically demonstrate the superiority of our method over many baselines, including conventional feature alignment and few-shot methods, setting a new state of the art for SSDA.","url_abs":"https://arxiv.org/abs/1904.06487v5","url_pdf":"https://arxiv.org/pdf/1904.06487v5.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":"semi-supervised-domain-adaptation-via-minimax","repo_url":"https://github.com/DianCh/AdaContrast","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"semi-supervised-domain-adaptation-via-minimax","repo_url":"https://github.com/PrasannaPulakurthi/SPM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"semi-supervised-domain-adaptation-via-minimax","repo_url":"https://github.com/VisionLearningGroup/SSDA_MME","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"semi-supervised-domain-adaptation-via-minimax","repo_url":"https://github.com/nazmul-karim170/C-SFDA_Source-Free-Domain-Adaptation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"semi-supervised-domain-adaptation-via-minimax","repo_url":"https://github.com/userb2020/s3d","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":"mme","task_name":"MME"},{"task_slug":"semi-supervised-domain-adaptation","task_name":"Semi-supervised Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.06487","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.06487"}},"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/PrasannaPulakurthi/SPM","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/userb2020/s3d","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/VisionLearningGroup/SSDA_MME","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DianCh/AdaContrast","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nazmul-karim170/C-SFDA_Source-Free-Domain-Adaptation","reach":null}],"summary":{"ran_honours":4,"ran_draft_wrong":1,"unverified":19},"by_repo_kind":{"listed":{"samples":24,"ran":5,"repositories":3}},"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":"cc577af946e48249","entry":"adaptation_factor","repo":"userb2020/s3d","repo_kind":"listed","path":"main_stage2.py","file_url":"https://github.com/userb2020/s3d/blob/HEAD/main_stage2.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cc577af946e48249"}},{"code_sha256_prefix":"3db485aae510c043","entry":"cal_start_step_for_weight","repo":"userb2020/s3d","repo_kind":"listed","path":"main_stage2.py","file_url":"https://github.com/userb2020/s3d/blob/HEAD/main_stage2.py","link_basis":"first_harvest_node","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":"3db485aae510c043"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"model/resnet.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/model/resnet.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":"fac5364e2f53c6db"}},{"code_sha256_prefix":"d41e65573feeba36","entry":"load_image","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"image_list.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/image_list.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d41e65573feeba36"}},{"code_sha256_prefix":"f321f54723433661","entry":"pil_loader","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"loaders/data_list.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/loaders/data_list.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f321f54723433661"}},{"code_sha256_prefix":"e352afa5762c5a6b","entry":"calc_coeff","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"utils/loss.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/utils/loss.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":"e352afa5762c5a6b"}},{"code_sha256_prefix":"f476e57a273481b9","entry":"check_file_name","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"sample/eval_results.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/sample/eval_results.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":"f476e57a273481b9"}},{"code_sha256_prefix":"a2ae53d34bc13317","entry":"concat_all_gather","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/utils.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":"a2ae53d34bc13317"}},{"code_sha256_prefix":"c26abd7b60ba9d50","entry":"create_feather_mask","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"spm.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/spm.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":"c26abd7b60ba9d50"}},{"code_sha256_prefix":"cf9fb585131a2ccc","entry":"edgelogic","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"spm.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/spm.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":"cf9fb585131a2ccc"}},{"code_sha256_prefix":"b2ee349e9ce0fc83","entry":"entropy","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"utils/loss.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/utils/loss.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":"b2ee349e9ce0fc83"}},{"code_sha256_prefix":"84a015f614f2cea5","entry":"get_categories","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/utils.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":"84a015f614f2cea5"}},{"code_sha256_prefix":"c1295fc23e5b74a4","entry":"get_source_optimizer","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"source.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/source.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":"c1295fc23e5b74a4"}},{"code_sha256_prefix":"9546e8417b4bdc1a","entry":"grad_reverse","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"model/basenet.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/model/basenet.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":"9546e8417b4bdc1a"}},{"code_sha256_prefix":"b8b37ea74e8fc664","entry":"inv_lr_scheduler","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"utils/lr_schedule.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/utils/lr_schedule.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":"b8b37ea74e8fc664"}},{"code_sha256_prefix":"7f26a8f9f7e7e915","entry":"l2_norm","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"model/basenet.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/model/basenet.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":"7f26a8f9f7e7e915"}},{"code_sha256_prefix":"e93ddc5135657ae1","entry":"make_dataset_fromlist","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"loaders/data_list.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/loaders/data_list.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":"e93ddc5135657ae1"}},{"code_sha256_prefix":"ee1a4a51e75b6f4e","entry":"remove_wrap_arounds","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/utils.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":"ee1a4a51e75b6f4e"}},{"code_sha256_prefix":"0f295141a5bc895d","entry":"resnet18","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"model/resnet.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/model/resnet.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":"0f295141a5bc895d"}},{"code_sha256_prefix":"eef0e62e0432535a","entry":"return_classlist","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"loaders/data_list.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/loaders/data_list.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":"eef0e62e0432535a"}},{"code_sha256_prefix":"c7bbad42f8cc5c3b","entry":"return_label2cat","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"sample/eval_results.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/sample/eval_results.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":"c7bbad42f8cc5c3b"}},{"code_sha256_prefix":"1b8b5cb46997c745","entry":"return_label_list","repo":"VisionLearningGroup/SSDA_MME","repo_kind":"listed","path":"sample/eval_results.py","file_url":"https://github.com/VisionLearningGroup/SSDA_MME/blob/HEAD/sample/eval_results.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":"1b8b5cb46997c745"}},{"code_sha256_prefix":"a1020db8c5cc6104","entry":"smoothed_cross_entropy","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"source.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/source.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":"a1020db8c5cc6104"}},{"code_sha256_prefix":"a3bebec7cc18aaa8","entry":"unnormalize","repo":"PrasannaPulakurthi/SPM","repo_kind":"listed","path":"usefull_files/visualize_augmentations.py","file_url":"https://github.com/PrasannaPulakurthi/SPM/blob/HEAD/usefull_files/visualize_augmentations.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":"a3bebec7cc18aaa8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}