From e8e24b7fcdecc607f7fac81615c6690e04349501 Mon Sep 17 00:00:00 2001 From: yixiao-huang Date: Wed, 26 Nov 2025 01:52:38 +0000 Subject: [PATCH 1/3] Fix ddpm device bug --- roboverse_learn/il/dp/models/ddpm_image_policy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roboverse_learn/il/dp/models/ddpm_image_policy.py b/roboverse_learn/il/dp/models/ddpm_image_policy.py index d1ec3a38d..bd9b005b3 100644 --- a/roboverse_learn/il/dp/models/ddpm_image_policy.py +++ b/roboverse_learn/il/dp/models/ddpm_image_policy.py @@ -109,7 +109,7 @@ def conditional_sample( trajectory[condition_mask] = condition_data[condition_mask] # 2. Predict model output. - t = t.to(device=trajectory.device) + # t = t.to(device=trajectory.device) model_output = model(trajectory, t, local_cond=local_cond, global_cond=global_cond) # 3. Compute previous sample x_t -> x_{t-1}. From 0a740a9f0423320d36f1b24232467cdfd5e6b4b6 Mon Sep 17 00:00:00 2001 From: yixiao-huang Date: Wed, 26 Nov 2025 07:58:11 +0000 Subject: [PATCH 2/3] update contributors --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index fc6f553bb..534c99cfc 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -40,6 +40,7 @@ Guidelines for modifications: * Xinjie Wang * Xinying Guo * Yikai Tang +* Yixiao Huang * Yongce Liu * Yu Hong * Yuchen Huang From 656bfb536545d012e29f3af88422059acba82450 Mon Sep 17 00:00:00 2001 From: JIAjindou <96030696+JIAjindou@users.noreply.github.com> Date: Fri, 28 Nov 2025 11:37:17 +0800 Subject: [PATCH 3/3] Align scheduler timesteps device with trajectory Ensure scheduler timesteps are on the same device as trajectory. --- roboverse_learn/il/dp/models/ddpm_image_policy.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roboverse_learn/il/dp/models/ddpm_image_policy.py b/roboverse_learn/il/dp/models/ddpm_image_policy.py index bd9b005b3..d54abd275 100644 --- a/roboverse_learn/il/dp/models/ddpm_image_policy.py +++ b/roboverse_learn/il/dp/models/ddpm_image_policy.py @@ -101,6 +101,10 @@ def conditional_sample( # Set diffusion steps. scheduler.set_timesteps(self.num_inference_steps) + # Ensure timesteps are on the same device as trajectory + device = trajectory.device + scheduler.timesteps = scheduler.timesteps.to(device=device) + step_kwargs = dict(self.scheduler_step_kwargs) step_kwargs.update(kwargs)