CleanDiffuserTeam / CleanDiffuser

CleanDiffuser: An Easy-to-use Modularized Library for Diffusion Models in Decision Making
Apache License 2.0
384 stars 35 forks source link

Some doubt towards the fix_mask setting in diffusion module #19

Closed Plankson closed 4 months ago

Plankson commented 4 months ago

Thanks for your solid work on diffusion for decision-making. Here I have a small question about the fix_mask setting. How does the diffusion model perform if I change the fix_mask during inference? For instance, in previous baselines such as diffuser, the fix_mask is consistently set to the state at horizon=0 throughout the entire experiment. However, if I want to generate the state-action sequence given the initial state s0 and the final state s{#horizon-1}, can I easily modify the fix_mask during the inference stage to get desired performance? Or should I retrain the diffusion model with the new fix_mask?

ZibinDong commented 4 months ago

Thank you for using CleanDiffuser and providing feedback. : ) Since fix_mask affects model training, we cannot change the fix_mask during inference. Therefore, we do need to retrain the diffusion model with the new fix_mask.

Simply try the fix_mask below and train your new diffusion model. : )

fix_mask = torch.zeros((horizon, obs_dim + act_dim))
fix_mask[[0, -1], :obs_dim] = 1.
Plankson commented 4 months ago

I see. Thanks for your reply! :)