MCPcopy Create free account
hub / github.com/PKU-YuanGroup/MagicTime / ddim_loop

Function ddim_loop

utils/util.py:67–77  ·  view source on GitHub ↗
(pipeline, ddim_scheduler, latent, num_inv_steps, prompt)

Source from the content-addressed store, hash-verified

65
66@torch.no_grad()
67def ddim_loop(pipeline, ddim_scheduler, latent, num_inv_steps, prompt):
68 context = init_prompt(prompt, pipeline)
69 uncond_embeddings, cond_embeddings = context.chunk(2)
70 all_latent = [latent]
71 latent = latent.clone().detach()
72 for i in tqdm(range(num_inv_steps)):
73 t = ddim_scheduler.timesteps[len(ddim_scheduler.timesteps) - i - 1]
74 noise_pred = get_noise_pred_single(latent, t, cond_embeddings, pipeline.unet)
75 latent = next_step(noise_pred, t, latent, ddim_scheduler)
76 all_latent.append(latent)
77 return all_latent
78
79@torch.no_grad()
80def ddim_inversion(pipeline, ddim_scheduler, video_latent, num_inv_steps, prompt=""):

Callers 1

ddim_inversionFunction · 0.85

Calls 3

init_promptFunction · 0.85
get_noise_pred_singleFunction · 0.85
next_stepFunction · 0.85

Tested by

no test coverage detected