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

Class MotionEditor

src/pipelines/motion_editor.py:33–671  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31
32
33class MotionEditor(DiffusionPipeline):
34 _optional_components = []
35
36 def __init__(
37 self,
38 vae,
39 image_encoder,
40 denoising_unet,
41 pose_guider,
42 scheduler: Union[
43 DDIMScheduler,
44 PNDMScheduler,
45 LMSDiscreteScheduler,
46 EulerDiscreteScheduler,
47 EulerAncestralDiscreteScheduler,
48 DPMSolverMultistepScheduler,
49 ],
50 image_proj_model=None,
51 tokenizer=None,
52 text_encoder=None,
53 estimator=None,
54 ):
55 super().__init__()
56
57 self.register_modules(
58 vae=vae,
59 image_encoder=image_encoder,
60 denoising_unet=denoising_unet,
61 pose_guider=pose_guider,
62 scheduler=scheduler,
63 image_proj_model=image_proj_model,
64 tokenizer=tokenizer,
65 text_encoder=text_encoder,
66 estimator=estimator,
67 )
68 self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1)
69 self.clip_image_processor = CLIPImageProcessor()
70 self.ref_image_processor = VaeImageProcessor(
71 vae_scale_factor=self.vae_scale_factor, do_convert_rgb=True
72 )
73 self.cond_image_processor = VaeImageProcessor(
74 vae_scale_factor=self.vae_scale_factor,
75 do_convert_rgb=True,
76 do_normalize=False,
77 )
78
79 def enable_vae_slicing(self):
80 self.vae.enable_slicing()
81
82 def disable_vae_slicing(self):
83 self.vae.disable_slicing()
84
85 def enable_sequential_cpu_offload(self, gpu_id=0):
86 if is_accelerate_available():
87 from accelerate import cpu_offload
88 else:
89 raise ImportError("Please install accelerate via `pip install accelerate`")
90

Callers 1

mainFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected