Skip to content

Commit e9edbfc

Browse files
authored
adding enable_vae_tiling and disable_vae_tiling functions (huggingface#3225)
adding enable_vae_tiling and disable_val_tiling functions
1 parent 0ddc5bf commit e9edbfc

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_controlnet.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,24 @@ def disable_vae_slicing(self):
249249
"""
250250
self.vae.disable_slicing()
251251

252+
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline.enable_vae_tiling
253+
def enable_vae_tiling(self):
254+
r"""
255+
Enable tiled VAE decoding.
256+
257+
When this option is enabled, the VAE will split the input tensor into tiles to compute decoding and encoding in
258+
several steps. This is useful to save a large amount of memory and to allow the processing of larger images.
259+
"""
260+
self.vae.enable_tiling()
261+
262+
# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline.disable_vae_tiling
263+
def disable_vae_tiling(self):
264+
r"""
265+
Disable tiled VAE decoding. If `enable_vae_tiling` was previously invoked, this method will go back to
266+
computing decoding in one step.
267+
"""
268+
self.vae.disable_tiling()
269+
252270
def enable_sequential_cpu_offload(self, gpu_id=0):
253271
r"""
254272
Offloads all models to CPU using accelerate, significantly reducing memory usage. When called, unet,

0 commit comments

Comments
 (0)