[GH-ISSUE #65] About Diffusion timestep annealing #61

Open
opened 2026-10-26 21:03:44 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @Kirito-Ausna on GitHub (Sep 17, 2024).
Original GitHub issue: https://github.com/deepseek-ai/DreamCraft3D/issues/65

Hi! Thanks for opening source DreamCraft3D. I am learning your paper and codes. When I tried to find the corresponding code with the part Diffusion timestep annealing, I find your implementation is actually randomly sampling timestep. I got confused. Have I missed something important? I have noted the time prior branch but the prior is set to None and I was not very clear about this part of codes:

if self.cfg.time_prior is not None:
            time_index = torch.where(
                (self.time_prior_acc_weights - current_step_ratio) > 0
            )[0][0]
            if time_index == 0 or torch.abs(
                self.time_prior_acc_weights[time_index] - current_step_ratio
            ) < torch.abs(
                self.time_prior_acc_weights[time_index - 1] - current_step_ratio
            ):
                t = self.num_train_timesteps - time_index
            else:
                t = self.num_train_timesteps - time_index + 1
            t = torch.clip(t, self.min_step, self.max_step + 1)
            t = torch.full((batch_size,), t, dtype=torch.long, device=self.device)

Is this the implementation of dreamtime? Could you share some insights with me? Many thanks!

Originally created by @Kirito-Ausna on GitHub (Sep 17, 2024). Original GitHub issue: https://github.com/deepseek-ai/DreamCraft3D/issues/65 Hi! Thanks for opening source DreamCraft3D. I am learning your paper and codes. When I tried to find the corresponding code with the part **Diffusion timestep annealing**, I find your implementation is actually randomly sampling timestep. I got confused. Have I missed something important? I have noted the time prior branch but the prior is set to None and I was not very clear about this part of codes: ```Python if self.cfg.time_prior is not None: time_index = torch.where( (self.time_prior_acc_weights - current_step_ratio) > 0 )[0][0] if time_index == 0 or torch.abs( self.time_prior_acc_weights[time_index] - current_step_ratio ) < torch.abs( self.time_prior_acc_weights[time_index - 1] - current_step_ratio ): t = self.num_train_timesteps - time_index else: t = self.num_train_timesteps - time_index + 1 t = torch.clip(t, self.min_step, self.max_step + 1) t = torch.full((batch_size,), t, dtype=torch.long, device=self.device) ``` Is this the implementation of dreamtime? Could you share some insights with me? Many thanks!
Author
Owner

@Kirito-Ausna commented on GitHub (Sep 23, 2024):

Now I understand this part is the implementation of dreamtime, but could you share with us the default hyper-parameter setting?

<!-- gh-comment-id:2367164245 --> @Kirito-Ausna commented on GitHub (Sep 23, 2024): Now I understand this part is the implementation of dreamtime, but could you share with us the default hyper-parameter setting?
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DreamCraft3D#61
No description provided.