{"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/resshift-efficient-diffusion-model-for-image-1","title":"ResShift: Efficient Diffusion Model for Image Super-resolution by Residual Shifting","arxiv_id":"2307.12348","date":"2023-07-23","proceeding":"NeurIPS 2023 11","authors":["Zongsheng Yue","Jianyi Wang","Chen Change Loy"],"abstract":"Diffusion-based image super-resolution (SR) methods are mainly limited by the low inference speed due to the requirements of hundreds or even thousands of sampling steps. Existing acceleration sampling techniques inevitably sacrifice performance to some extent, leading to over-blurry SR results. To address this issue, we propose a novel and efficient diffusion model for SR that significantly reduces the number of diffusion steps, thereby eliminating the need for post-acceleration during inference and its associated performance deterioration. Our method constructs a Markov chain that transfers between the high-resolution image and the low-resolution image by shifting the residual between them, substantially improving the transition efficiency. Additionally, an elaborate noise schedule is developed to flexibly control the shifting speed and the noise strength during the diffusion process. Extensive experiments demonstrate that the proposed method obtains superior or at least comparable performance to current state-of-the-art methods on both synthetic and real-world datasets, even only with 15 sampling steps. Our code and model are available at https://github.com/zsyOAOA/ResShift.","url_abs":"https://arxiv.org/abs/2307.12348v3","url_pdf":"https://arxiv.org/pdf/2307.12348v3.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":"resshift-efficient-diffusion-model-for-image-1","repo_url":"https://github.com/zsyoaoa/resshift","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"resshift-efficient-diffusion-model-for-image-1","repo_url":"https://github.com/zsyoaoa/invsr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.12348","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.12348"}},"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":"deterministic:regex_extraction","url":"https://github.com/zsyOAOA/ResShift","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zsyoaoa/resshift","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zsyoaoa/invsr","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_draft_wrong":3,"ran":5,"ran_honours":1,"unverified":11},"by_repo_kind":{"official":{"samples":20,"ran":9,"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":20,"samples":[{"code_sha256_prefix":"cfd76fd0d89574a4","entry":"approx_standard_normal_cdf","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/losses.py","link_basis":"harvester_set","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":"cfd76fd0d89574a4"}},{"code_sha256_prefix":"b1222f0a2b9b12cf","entry":"batch_inpainging_from_grad","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/solvers.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/solvers.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":"b1222f0a2b9b12cf"}},{"code_sha256_prefix":"cd33283d615fb3d7","entry":"discretized_gaussian_log_likelihood","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cd33283d615fb3d7"}},{"code_sha256_prefix":"328ccd09e308cea4","entry":"fill_image_from_gradx","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/solvers.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/solvers.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":"328ccd09e308cea4"}},{"code_sha256_prefix":"19401265ecad449a","entry":"inpainting_from_grad","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/solvers.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/solvers.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":"19401265ecad449a"}},{"code_sha256_prefix":"cf2798b666b231ca","entry":"normal_kl","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cf2798b666b231ca"}},{"code_sha256_prefix":"9ecac3983260d58d","entry":"window_partition","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/swin_transformer.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/swin_transformer.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9ecac3983260d58d"}},{"code_sha256_prefix":"07fc5a1c675639fb","entry":"window_reverse","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/swin_transformer.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/swin_transformer.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":"07fc5a1c675639fb"}},{"code_sha256_prefix":"129b804760b3115f","entry":"zero_module","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/basic_ops.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/basic_ops.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":"d0f3854e960315c0","entry":"GaussianDiffusion","repo":"zsyoaoa/resshift","repo_kind":"official","path":"models/gaussian_diffusion.py","file_url":"https://github.com/zsyoaoa/resshift/blob/HEAD/models/gaussian_diffusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d0f3854e960315c0"}},{"code_sha256_prefix":"5a5c1057ed2b86c8","entry":"LossType","repo":"zsyoaoa/resshift","repo_kind":"official","path":"models/gaussian_diffusion.py","file_url":"https://github.com/zsyoaoa/resshift/blob/HEAD/models/gaussian_diffusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5a5c1057ed2b86c8"}},{"code_sha256_prefix":"eb2b278c1aab645e","entry":"ModelMeanType","repo":"zsyoaoa/resshift","repo_kind":"official","path":"models/gaussian_diffusion.py","file_url":"https://github.com/zsyoaoa/resshift/blob/HEAD/models/gaussian_diffusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"eb2b278c1aab645e"}},{"code_sha256_prefix":"ecd0fc28815b65ae","entry":"avg_pool_nd","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/basic_ops.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/basic_ops.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":"zsyOAOA/ResShift","repo_kind":"official","path":"models/basic_ops.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/basic_ops.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":"744d8fd5890b0002","entry":"create_named_schedule_sampler","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/resample.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/resample.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":"744d8fd5890b0002"}},{"code_sha256_prefix":"0b038dff8f46da2e","entry":"get_named_beta_schedule","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/gaussian_diffusion.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/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":"0b038dff8f46da2e"}},{"code_sha256_prefix":"f5813dc998fd36ae","entry":"get_named_eta_schedule","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/gaussian_diffusion.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/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":"f5813dc998fd36ae"}},{"code_sha256_prefix":"a863803cdd5f3ce6","entry":"make_master_params","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/fp16_util.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/fp16_util.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":"a863803cdd5f3ce6"}},{"code_sha256_prefix":"623a410ceb89e7f3","entry":"space_timesteps","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/respace.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/respace.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":"623a410ceb89e7f3"}},{"code_sha256_prefix":"30e43bcf12d042b0","entry":"unflatten_master_params","repo":"zsyOAOA/ResShift","repo_kind":"official","path":"models/fp16_util.py","file_url":"https://github.com/zsyOAOA/ResShift/blob/HEAD/models/fp16_util.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":"30e43bcf12d042b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}