{"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/loss-surfaces-mode-connectivity-and-fast","title":"Loss Surfaces, Mode Connectivity, and Fast Ensembling of DNNs","arxiv_id":"1802.10026","date":"2018-02-27","proceeding":"NeurIPS 2018 12","authors":["Timur Garipov","Pavel Izmailov","Dmitrii Podoprikhin","Dmitry Vetrov","Andrew Gordon Wilson"],"abstract":"The loss functions of deep neural networks are complex and their geometric\nproperties are not well understood. We show that the optima of these complex\nloss functions are in fact connected by simple curves over which training and\ntest accuracy are nearly constant. We introduce a training procedure to\ndiscover these high-accuracy pathways between modes. Inspired by this new\ngeometric insight, we also propose a new ensembling method entitled Fast\nGeometric Ensembling (FGE). Using FGE we can train high-performing ensembles in\nthe time required to train a single model. We achieve improved performance\ncompared to the recent state-of-the-art Snapshot Ensembles, on CIFAR-10,\nCIFAR-100, and ImageNet.","url_abs":"http://arxiv.org/abs/1802.10026v4","url_pdf":"http://arxiv.org/pdf/1802.10026v4.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":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/timgaripov/dnn-mode-connectivity","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/DeBur19/FGE_reproduction_project","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/biomedia-mbzuai/fissionfusion","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/chandansharma02/Deep_Learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/g-benton/loss-surface-simplexes","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/simon-larsson/keras-swa","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"loss-surfaces-mode-connectivity-and-fast","repo_url":"https://github.com/xuyxu/Ensemble-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[],"methods":[{"method_slug":"snapshot-ensembles","method_name":"Snapshot Ensembles"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1802.10026","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1802.10026"}},"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/timgaripov/dnn-mode-connectivity","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tjwhitaker/prune-and-tune-ensembles","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chandansharma02/Deep_Learning","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/g-benton/loss-surface-simplexes","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/biomedia-mbzuai/fissionfusion","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xuyxu/Ensemble-Pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/simon-larsson/keras-swa","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DeBur19/FGE_reproduction_project","reach":{"status":"ok"}}],"summary":{"ran":1,"ran_draft_wrong":2,"unverified":11},"by_repo_kind":{"listed":{"samples":14,"ran":3,"repositories":2}},"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":"14ebf34e2f003912","entry":"adjust_learning_rate","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/utils.py","link_basis":"harvester_set","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":"14ebf34e2f003912"}},{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/models/resnet.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/models/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":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/models/resnet.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/models/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":"160bb14bd76201b4"}},{"code_sha256_prefix":"d2ef37da818b9f51","entry":"densenet121","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/models/densenet.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/models/densenet.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":"d2ef37da818b9f51"}},{"code_sha256_prefix":"2c599b41c3a242e3","entry":"densenet161","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/models/densenet.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/models/densenet.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":"2c599b41c3a242e3"}},{"code_sha256_prefix":"9ee8bc3f789e311e","entry":"densenet169","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/models/densenet.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/models/densenet.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":"9ee8bc3f789e311e"}},{"code_sha256_prefix":"8e5a659674eb5d9c","entry":"get_corrupted_loaders","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/data.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/data.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":"8e5a659674eb5d9c"}},{"code_sha256_prefix":"4b373666065863fd","entry":"get_loaders","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/data.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/data.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":"4b373666065863fd"}},{"code_sha256_prefix":"1bdf337d2589e11b","entry":"learning_rate_schedule","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/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":"1bdf337d2589e11b"}},{"code_sha256_prefix":"2615428ce71ead9f","entry":"resnet18","repo":"tjwhitaker/prune-and-tune-ensembles","repo_kind":"listed","path":"src/models/resnet.py","file_url":"https://github.com/tjwhitaker/prune-and-tune-ensembles/blob/HEAD/src/models/resnet.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":"2615428ce71ead9f"}},{"code_sha256_prefix":"c5a3a3cd326f2289","entry":"set_optimizer","repo":"xuyxu/Ensemble-Pytorch","repo_kind":"listed","path":"torchensemble/utils/set_module.py","file_url":"https://github.com/xuyxu/Ensemble-Pytorch/blob/HEAD/torchensemble/utils/set_module.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"c5a3a3cd326f2289"}},{"code_sha256_prefix":"bb98a99452b24eae","entry":"set_scheduler","repo":"xuyxu/Ensemble-Pytorch","repo_kind":"listed","path":"torchensemble/utils/set_module.py","file_url":"https://github.com/xuyxu/Ensemble-Pytorch/blob/HEAD/torchensemble/utils/set_module.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"bb98a99452b24eae"}},{"code_sha256_prefix":"89aa135e73e6bce8","entry":"torchensemble_model_doc","repo":"xuyxu/Ensemble-Pytorch","repo_kind":"listed","path":"torchensemble/_base.py","file_url":"https://github.com/xuyxu/Ensemble-Pytorch/blob/HEAD/torchensemble/_base.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"89aa135e73e6bce8"}},{"code_sha256_prefix":"e85ee74b940ce638","entry":"update_lr","repo":"xuyxu/Ensemble-Pytorch","repo_kind":"listed","path":"torchensemble/utils/set_module.py","file_url":"https://github.com/xuyxu/Ensemble-Pytorch/blob/HEAD/torchensemble/utils/set_module.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e85ee74b940ce638"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}