Spaces:
Sleeping
Sleeping
vae slicing and tiling for flux
Browse files
main.py
CHANGED
@@ -270,7 +270,11 @@ def execute_task(args, trainer, device, dtype, shape, enable_grad, settings, pip
|
|
270 |
|
271 |
if args.cpu_offloading:
|
272 |
pipe.enable_sequential_cpu_offload()
|
273 |
-
|
|
|
|
|
|
|
|
|
274 |
|
275 |
if args.enable_multi_apply:
|
276 |
|
@@ -299,11 +303,6 @@ def execute_task(args, trainer, device, dtype, shape, enable_grad, settings, pip
|
|
299 |
)
|
300 |
best_image.save(f"{save_dir}/best_image.png")
|
301 |
#init_image.save(f"{save_dir}/init_image.png")
|
302 |
-
|
303 |
-
# Move the pipe back to CPU
|
304 |
-
if args.model != "flux":
|
305 |
-
# Call the function to find and move object to CPU
|
306 |
-
find_and_move_object_to_cpu()
|
307 |
|
308 |
clear_gpu()
|
309 |
|
|
|
270 |
|
271 |
if args.cpu_offloading:
|
272 |
pipe.enable_sequential_cpu_offload()
|
273 |
+
pipe.vae.enable_slicing()
|
274 |
+
pipe.vae.enable_tiling()
|
275 |
+
|
276 |
+
pipe.to(torch.float16) # casting here instead of in the pipeline constructor because doing so in the constructor loads all models into CPU memory at once
|
277 |
+
|
278 |
|
279 |
if args.enable_multi_apply:
|
280 |
|
|
|
303 |
)
|
304 |
best_image.save(f"{save_dir}/best_image.png")
|
305 |
#init_image.save(f"{save_dir}/init_image.png")
|
|
|
|
|
|
|
|
|
|
|
306 |
|
307 |
clear_gpu()
|
308 |
|