{"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/tedi-policy-temporally-entangled-diffusion","title":"Streaming Diffusion Policy: Fast Policy Synthesis with Variable Noise Diffusion Models","arxiv_id":"2406.04806","date":"2024-06-07","proceeding":null,"authors":["Sigmund H. Høeg","Yilun Du","Olav Egeland"],"abstract":"Diffusion models have seen rapid adoption in robotic imitation learning, enabling autonomous execution of complex dexterous tasks. However, action synthesis is often slow, requiring many steps of iterative denoising, limiting the extent to which models can be used in tasks that require fast reactive policies. To sidestep this, recent works have explored how the distillation of the diffusion process can be used to accelerate policy synthesis. However, distillation is computationally expensive and can hurt both the accuracy and diversity of synthesized actions. We propose SDP (Streaming Diffusion Policy), an alternative method to accelerate policy synthesis, leveraging the insight that generating a partially denoised action trajectory is substantially faster than a full output action trajectory. At each observation, our approach outputs a partially denoised action trajectory with variable levels of noise corruption, where the immediate action to execute is noise-free, with subsequent actions having increasing levels of noise and uncertainty. The partially denoised action trajectory for a new observation can then be quickly generated by applying a few steps of denoising to the previously predicted noisy action trajectory (rolled over by one timestep). We illustrate the efficacy of this approach, dramatically speeding up policy synthesis while preserving performance across both simulated and real-world settings.","url_abs":"https://arxiv.org/abs/2406.04806v4","url_pdf":"https://arxiv.org/pdf/2406.04806v4.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":"tedi-policy-temporally-entangled-diffusion","repo_url":"https://github.com/Streaming-Diffusion-Policy/streaming_diffusion_policy","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"imitation-learning","task_name":"Imitation Learning"},{"task_slug":"robot-manipulation","task_name":"Robot Manipulation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.04806","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.04806"}},"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/Streaming-Diffusion-Policy/streaming_diffusion_policy","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":"dde317225c508d01","entry":"get_image_transform","repo":"Streaming-Diffusion-Policy/streaming_diffusion_policy","repo_kind":"official","path":"diffusion_policy/common/cv2_util.py","file_url":"https://github.com/Streaming-Diffusion-Policy/streaming_diffusion_policy/blob/HEAD/diffusion_policy/common/cv2_util.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":"dde317225c508d01"}},{"code_sha256_prefix":"091393d927ad734b","entry":"optimal_row_cols","repo":"Streaming-Diffusion-Policy/streaming_diffusion_policy","repo_kind":"official","path":"diffusion_policy/common/cv2_util.py","file_url":"https://github.com/Streaming-Diffusion-Policy/streaming_diffusion_policy/blob/HEAD/diffusion_policy/common/cv2_util.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":"091393d927ad734b"}},{"code_sha256_prefix":"116acbede4989d1c","entry":"protective_squeeze","repo":"Streaming-Diffusion-Policy/streaming_diffusion_policy","repo_kind":"official","path":"diffusion_policy/codecs/imagecodecs_numcodecs.py","file_url":"https://github.com/Streaming-Diffusion-Policy/streaming_diffusion_policy/blob/HEAD/diffusion_policy/codecs/imagecodecs_numcodecs.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"116acbede4989d1c"}},{"code_sha256_prefix":"5c09b91544d37535","entry":"render_env_video","repo":"Streaming-Diffusion-Policy/streaming_diffusion_policy","repo_kind":"official","path":"diffusion_policy/common/env_util.py","file_url":"https://github.com/Streaming-Diffusion-Policy/streaming_diffusion_policy/blob/HEAD/diffusion_policy/common/env_util.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":"5c09b91544d37535"}},{"code_sha256_prefix":"d83f4930e9aa9202","entry":"read_json_log","repo":"Streaming-Diffusion-Policy/streaming_diffusion_policy","repo_kind":"official","path":"diffusion_policy/common/json_logger.py","file_url":"https://github.com/Streaming-Diffusion-Policy/streaming_diffusion_policy/blob/HEAD/diffusion_policy/common/json_logger.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":"d83f4930e9aa9202"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}