MCPcopy Create free account
hub / github.com/Francis-Rings/MotionFollower / ddim_loop

Method ddim_loop

src/utils/inversion.py:40–51  ·  view source on GitHub ↗
(self, latent, ref_images_pil=None, pose_cond_fea=None)

Source from the content-addressed store, hash-verified

38
39 @torch.no_grad()
40 def ddim_loop(self, latent, ref_images_pil=None, pose_cond_fea=None):
41 cond_embeddings = self.emb_im
42 all_latent = [latent]
43 latent = latent.clone().detach()
44 print('DDIM Inversion:')
45 for i in tqdm(range(self.NUM_DDIM_STEPS)):
46 t = self.scheduler.timesteps[len(self.scheduler.timesteps) - i - 1]
47 noise_pred = self.get_noise_pred_single(latent, t, cond_embeddings, ref_images_pil=ref_images_pil, pose_cond_fea=pose_cond_fea)
48 latent = self.next_step(noise_pred, t, latent)
49 all_latent.append(latent)
50
51 return all_latent
52
53 def invert(self, ddim_latents, clip_emb_im=None, ref_images_pil=None, pose_cond_fea=None):
54 self.init_emb_img(clip_emb_im=clip_emb_im)

Callers 1

invertMethod · 0.95

Calls 2

get_noise_pred_singleMethod · 0.95
next_stepMethod · 0.95

Tested by

no test coverage detected