Load model in inpaint when using free_gpu_mem option (#1938)

* Load model in inpaint when using free_gpu_mem option

* Passing free_gpu_mem option to inpaint generator
This commit is contained in:
rmagur1203 2022-12-12 23:14:30 +09:00 committed by GitHub
parent 96a12099ed
commit f4e7383490
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions

View File

@ -806,6 +806,7 @@ class Generate:
if not self.generators.get('inpaint'):
from ldm.invoke.generator.inpaint import Inpaint
self.generators['inpaint'] = Inpaint(self.model, self.precision)
self.generators['inpaint'].free_gpu_mem = self.free_gpu_mem
return self.generators['inpaint']
# "omnibus" supports the runwayML custom inpainting model, which does

View File

@ -291,6 +291,9 @@ class Inpaint(Img2Img):
masked_region = (1.0-inpaint_replace) * inverted_mask * z_enc + inpaint_replace * inverted_mask * l_noise
z_enc = z_enc * mask_image + masked_region
if self.free_gpu_mem and self.model.model.device != self.model.device:
self.model.model.to(self.model.device)
# decode it
samples = sampler.decode(
z_enc,