Skip to content

Commit f5cd22b

Browse files
comfyanonymousadlerfaulkner
authored andcommitted
Better memory estimation for the SD/Flux VAE on AMD. (comfyanonymous#10334)
1 parent 58b8d76 commit f5cd22b

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

comfy/sd.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,13 @@ def __init__(self, sd=None, device=None, config=None, dtype=None, metadata=None)
276276
if 'decoder.up_blocks.0.resnets.0.norm1.weight' in sd.keys(): #diffusers format
277277
sd = diffusers_convert.convert_vae_state_dict(sd)
278278

279-
self.memory_used_encode = lambda shape, dtype: (1767 * shape[2] * shape[3]) * model_management.dtype_size(dtype) #These are for AutoencoderKL and need tweaking (should be lower)
280-
self.memory_used_decode = lambda shape, dtype: (2178 * shape[2] * shape[3] * 64) * model_management.dtype_size(dtype)
279+
if model_management.is_amd():
280+
VAE_KL_MEM_RATIO = 2.73
281+
else:
282+
VAE_KL_MEM_RATIO = 1.0
283+
284+
self.memory_used_encode = lambda shape, dtype: (1767 * shape[2] * shape[3]) * model_management.dtype_size(dtype) * VAE_KL_MEM_RATIO #These are for AutoencoderKL and need tweaking (should be lower)
285+
self.memory_used_decode = lambda shape, dtype: (2178 * shape[2] * shape[3] * 64) * model_management.dtype_size(dtype) * VAE_KL_MEM_RATIO
281286
self.downscale_ratio = 8
282287
self.upscale_ratio = 8
283288
self.latent_channels = 4

0 commit comments

Comments
 (0)