Add model card, pipeline tag, and sample usage

#1
by nielsr HF Staff - opened
Files changed (1) hide show
  1. README.md +50 -0
README.md CHANGED
@@ -1,3 +1,53 @@
1
  ---
2
  license: apache-2.0
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: apache-2.0
3
+ pipeline_tag: reinforcement-learning
4
  ---
5
+
6
+ # Energy-based Compositional Diffusion Planning (ECD)
7
+
8
+ This repository contains checkpoints for **ECD (Energy-based Compositional Diffuser)**, presented in the paper [Energy-based Compositional Diffusion Planning](https://huggingface.co/papers/2606.21646) (ICML 2026).
9
+
10
+ * **Paper**: [arXiv:2606.21646](https://huggingface.co/papers/2606.21646)
11
+ * **Code Repository**: [GitHub - GradientSpaces/ECD](https://github.com/GradientSpaces/ECD)
12
+
13
+ ## Introduction
14
+
15
+ Compositional diffusion planners aim to solve long-horizon robotic tasks using short training trajectories. ECD (Energy-based Compositional Diffuser) is an inference-only framework that formulates the global trajectory as the minimizer of the sum of local bridge potentials. Instead of stitching local chunk predictions heuristically, ECD defines a single global energy function over all chunks, using its negative gradient to guide the denoising process, ensuring conservative score fields and consistent global modes.
16
+
17
+ ## Usage: Using ECD as a Plug-in
18
+
19
+ Because ECD operates entirely at inference time, it can wrap any pretrained short-horizon diffusion denoiser. Below is an example of how to instantiate the `CompositionalPolicy` and set the inference type to `ecd_chunk`:
20
+
21
+ ```python
22
+ from ecd.policy import CompositionalPolicy
23
+
24
+ policy = CompositionalPolicy(
25
+ diffusion_model=denoiser, # Your short-horizon chunk denoiser (see ecd/planner.py)
26
+ normalizer=normalizer,
27
+ ev_n_comp=N,
28
+ ev_cp_infer_t_type="ecd_chunk", # Change to "interleave" for the standard CD baseline
29
+ ecd_config=dict(
30
+ rank_type="overlap", # Map-free candidate ranker
31
+ base_scale=0.15,
32
+ react_scale=0.10, # Interior update / boundary-reaction strength
33
+ markov_type="laplacian",
34
+ chunk_react_type="markov",
35
+ ),
36
+ )
37
+
38
+ # Generate a long-horizon plan
39
+ plan = policy.plan(start_xy, goal_xy, b_s=40)
40
+ ```
41
+
42
+ ## Citation
43
+
44
+ ```bibtex
45
+ @inproceedings{sun2026ecd,
46
+ title = {Energy-based Compositional Diffusion Planning},
47
+ author = {Sun, Tao and Mishra, Utkarsh A. and Lu, Jiaxin and Xu, Danfei and Armeni, Iro},
48
+ booktitle = {Proceedings of the 43rd International Conference on Machine Learning (ICML)},
49
+ series = {PMLR},
50
+ volume = {306},
51
+ year = {2026}
52
+ }
53
+ ```