{"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/divide-and-conquer-posterior-sampling-for","title":"Divide-and-Conquer Posterior Sampling for Denoising Diffusion Priors","arxiv_id":"2403.11407","date":"2024-03-18","proceeding":null,"authors":["Yazid Janati","Badr Moufad","Alain Durmus","Eric Moulines","Jimmy Olsson"],"abstract":"Recent advancements in solving Bayesian inverse problems have spotlighted denoising diffusion models (DDMs) as effective priors. Although these have great potential, DDM priors yield complex posterior distributions that are challenging to sample. Existing approaches to posterior sampling in this context address this problem either by retraining model-specific components, leading to stiff and cumbersome methods, or by introducing approximations with uncontrolled errors that affect the accuracy of the produced samples. We present an innovative framework, divide-and-conquer posterior sampling, which leverages the inherent structure of DDMs to construct a sequence of intermediate posteriors that guide the produced samples to the target posterior. Our method significantly reduces the approximation error associated with current techniques without the need for retraining. We demonstrate the versatility and effectiveness of our approach for a wide range of Bayesian inverse problems. The code is available at \\url{https://github.com/Badr-MOUFAD/dcps}","url_abs":"https://arxiv.org/abs/2403.11407v2","url_pdf":"https://arxiv.org/pdf/2403.11407v2.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":"divide-and-conquer-posterior-sampling-for","repo_url":"https://github.com/badr-moufad/dcps","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-restoration","task_name":"Image Restoration"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.11407","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.11407"}},"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/badr-moufad/dcps","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":5,"ran_draft_wrong":5,"unverified":7},"by_repo_kind":{"official":{"samples":17,"ran":10,"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":17,"samples":[{"code_sha256_prefix":"e41367ad14ff58fd","entry":"get_param_groups_and_shapes","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/fp16_util.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/fp16_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e41367ad14ff58fd"}},{"code_sha256_prefix":"e20dd5102da3b050","entry":"make_master_params","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/fp16_util.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/fp16_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e20dd5102da3b050"}},{"code_sha256_prefix":"8027fc71dcbcfc45","entry":"register_conditioning_method","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/condition_methods.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/condition_methods.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8027fc71dcbcfc45"}},{"code_sha256_prefix":"2423fa5313aa3525","entry":"register_mean_processor","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/posterior_mean_variance.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/posterior_mean_variance.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2423fa5313aa3525"}},{"code_sha256_prefix":"905f4b0d3baca742","entry":"register_noise","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/measurements.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/measurements.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"905f4b0d3baca742"}},{"code_sha256_prefix":"7f47ba486efd2c7e","entry":"register_operator","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/measurements.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/measurements.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f47ba486efd2c7e"}},{"code_sha256_prefix":"d9bb4d03137bc7e9","entry":"register_sampler","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/gaussian_diffusion.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/gaussian_diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d9bb4d03137bc7e9"}},{"code_sha256_prefix":"e214ee19e7a9d92b","entry":"register_var_processor","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/posterior_mean_variance.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/posterior_mean_variance.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e214ee19e7a9d92b"}},{"code_sha256_prefix":"64fff1e30802b815","entry":"unflatten_master_params","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/fp16_util.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/fp16_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"64fff1e30802b815"}},{"code_sha256_prefix":"129b804760b3115f","entry":"zero_module","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/nn.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/nn.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"129b804760b3115f"}},{"code_sha256_prefix":"ecd0fc28815b65ae","entry":"avg_pool_nd","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/nn.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/nn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ecd0fc28815b65ae"}},{"code_sha256_prefix":"fe4eb545bbb728e0","entry":"conv_nd","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/nn.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/nn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fe4eb545bbb728e0"}},{"code_sha256_prefix":"7a9479e9edb0166b","entry":"create_sampler","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/gaussian_diffusion.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/gaussian_diffusion.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7a9479e9edb0166b"}},{"code_sha256_prefix":"ceb7328ab8bdbfe2","entry":"get_conditioning_method","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/condition_methods.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/condition_methods.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ceb7328ab8bdbfe2"}},{"code_sha256_prefix":"e92451e6fb900818","entry":"get_mean_processor","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/posterior_mean_variance.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/posterior_mean_variance.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e92451e6fb900818"}},{"code_sha256_prefix":"bbb1be64bf961d18","entry":"get_operator","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/measurements.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/measurements.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bbb1be64bf961d18"}},{"code_sha256_prefix":"b910fefa7866252e","entry":"get_sampler","repo":"badr-moufad/dcps","repo_kind":"official","path":"src/guided_diffusion/gaussian_diffusion.py","file_url":"https://github.com/badr-moufad/dcps/blob/HEAD/src/guided_diffusion/gaussian_diffusion.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b910fefa7866252e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}