{"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/perflow-piecewise-rectified-flow-as-universal","title":"PeRFlow: Piecewise Rectified Flow as Universal Plug-and-Play Accelerator","arxiv_id":"2405.07510","date":"2024-05-13","proceeding":null,"authors":["Hanshu Yan","Xingchao Liu","Jiachun Pan","Jun Hao Liew","Qiang Liu","Jiashi Feng"],"abstract":"We present Piecewise Rectified Flow (PeRFlow), a flow-based method for accelerating diffusion models. PeRFlow divides the sampling process of generative flows into several time windows and straightens the trajectories in each interval via the reflow operation, thereby approaching piecewise linear flows. PeRFlow achieves superior performance in a few-step generation. Moreover, through dedicated parameterizations, the PeRFlow models inherit knowledge from the pretrained diffusion models. Thus, the training converges fast and the obtained models show advantageous transfer ability, serving as universal plug-and-play accelerators that are compatible with various workflows based on the pre-trained diffusion models. Codes for training and inference are publicly released. https://github.com/magic-research/piecewise-rectified-flow","url_abs":"https://arxiv.org/abs/2405.07510v5","url_pdf":"https://arxiv.org/pdf/2405.07510v5.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":"perflow-piecewise-rectified-flow-as-universal","repo_url":"https://github.com/magic-research/piecewise-rectified-flow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2405.07510","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.07510"}},"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/magic-research/piecewise-rectified-flow","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran_honours":1,"ran":6,"unverified":1},"by_repo_kind":{"official":{"samples":8,"ran":7,"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":0,"samples":[{"code_sha256_prefix":"f1e3f7493aad4745","entry":"betas_for_alpha_bar","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"src/scheduler_perflow.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/src/scheduler_perflow.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f1e3f7493aad4745"}},{"code_sha256_prefix":"01c0e92550c3a1ca","entry":"collate_fn","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"app/IP-Adapter-main/_archive_/tutorial_train.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/app/IP-Adapter-main/_archive_/tutorial_train.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"01c0e92550c3a1ca"}},{"code_sha256_prefix":"1e0487828d53d63e","entry":"collate_fn","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"app/IP-Adapter-main/_archive_/tutorial_train_faceid.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/app/IP-Adapter-main/_archive_/tutorial_train_faceid.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"1e0487828d53d63e"}},{"code_sha256_prefix":"f60d2297047fbe6e","entry":"merge_delta_weights_into_unet","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"src/utils_perflow.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/src/utils_perflow.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f60d2297047fbe6e"}},{"code_sha256_prefix":"fb98a03fa1c6a2d9","entry":"resize_for_condition_image","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"app/replicate_api/predict.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/app/replicate_api/predict.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fb98a03fa1c6a2d9"}},{"code_sha256_prefix":"f426c133571857ae","entry":"save_image","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"app/Wonder3D/gradio_app_mv.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/app/Wonder3D/gradio_app_mv.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f426c133571857ae"}},{"code_sha256_prefix":"875303a4e4ca2140","entry":"save_image_to_disk","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"app/Wonder3D/gradio_app_mv.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/app/Wonder3D/gradio_app_mv.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"875303a4e4ca2140"}},{"code_sha256_prefix":"363075ab074e4164","entry":"sam_segment","repo":"magic-research/piecewise-rectified-flow","repo_kind":"official","path":"app/Wonder3D/gradio_app_mv.py","file_url":"https://github.com/magic-research/piecewise-rectified-flow/blob/HEAD/app/Wonder3D/gradio_app_mv.py","link_basis":"first_harvest_node","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":"363075ab074e4164"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}