Merge pull request #12514 from catboxanon/feat/batch-encode

Encode batch items individually to significantly reduce VRAM
This commit is contained in:
AUTOMATIC1111 2023-08-13 16:41:07 +03:00 committed by GitHub
commit 127ab9114f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 1 deletions

View File

@ -92,7 +92,15 @@ def images_tensor_to_samples(image, approximation=None, model=None):
model = shared.sd_model model = shared.sd_model
image = image.to(shared.device, dtype=devices.dtype_vae) image = image.to(shared.device, dtype=devices.dtype_vae)
image = image * 2 - 1 image = image * 2 - 1
x_latent = model.get_first_stage_encoding(model.encode_first_stage(image)) if len(image) > 1:
x_latent = torch.stack([
model.get_first_stage_encoding(
model.encode_first_stage(torch.unsqueeze(img, 0))
)[0]
for img in image
])
else:
x_latent = model.get_first_stage_encoding(model.encode_first_stage(image))
return x_latent return x_latent