fix(api): correct caching for upscaling models
This commit is contained in:
parent
56a4acee2a
commit
ee495a8d93
|
@ -28,7 +28,8 @@ def load_resrgan(ctx: ServerContext, params: UpscaleParams, tile=0):
|
||||||
if not path.isfile(model_path):
|
if not path.isfile(model_path):
|
||||||
raise Exception('Real ESRGAN model not found at %s' % model_path)
|
raise Exception('Real ESRGAN model not found at %s' % model_path)
|
||||||
|
|
||||||
if last_pipeline_instance != None and (model_path, params.format) == last_pipeline_params:
|
cache_params = (model_path, params.format)
|
||||||
|
if last_pipeline_instance != None and cache_params == last_pipeline_params:
|
||||||
print('reusing existing Real ESRGAN pipeline')
|
print('reusing existing Real ESRGAN pipeline')
|
||||||
return last_pipeline_instance
|
return last_pipeline_instance
|
||||||
|
|
||||||
|
@ -59,7 +60,7 @@ def load_resrgan(ctx: ServerContext, params: UpscaleParams, tile=0):
|
||||||
half=params.half)
|
half=params.half)
|
||||||
|
|
||||||
last_pipeline_instance = upsampler
|
last_pipeline_instance = upsampler
|
||||||
last_pipeline_params = (model_path, params.format)
|
last_pipeline_params = cache_params
|
||||||
|
|
||||||
return upsampler
|
return upsampler
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,9 @@ last_pipeline_params = (None, None)
|
||||||
|
|
||||||
def load_stable_diffusion(ctx: ServerContext, upscale: UpscaleParams):
|
def load_stable_diffusion(ctx: ServerContext, upscale: UpscaleParams):
|
||||||
model_path = path.join(ctx.model_path, upscale.upscale_model)
|
model_path = path.join(ctx.model_path, upscale.upscale_model)
|
||||||
|
cache_params = (model_path, upscale.format)
|
||||||
|
|
||||||
if last_pipeline_instance != None and (model_path, upscale.format) == last_pipeline_params:
|
if last_pipeline_instance != None and cache_params == last_pipeline_params:
|
||||||
print('reusing existing Stable Diffusion upscale pipeline')
|
print('reusing existing Stable Diffusion upscale pipeline')
|
||||||
return last_pipeline_instance
|
return last_pipeline_instance
|
||||||
|
|
||||||
|
@ -47,6 +48,9 @@ def load_stable_diffusion(ctx: ServerContext, upscale: UpscaleParams):
|
||||||
pipeline = StableDiffusionUpscalePipeline.from_pretrained(
|
pipeline = StableDiffusionUpscalePipeline.from_pretrained(
|
||||||
'stabilityai/stable-diffusion-x4-upscaler')
|
'stabilityai/stable-diffusion-x4-upscaler')
|
||||||
|
|
||||||
|
last_pipeline_instance = pipeline
|
||||||
|
last_pipeline_params = cache_params
|
||||||
|
|
||||||
return pipeline
|
return pipeline
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue