From 27622dfd5ef4938bb11229f0858559c444742fe8 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 21 Mar 2024 14:39:04 -0400 Subject: [PATCH] allow checkpoint config files to use root-relative paths --- .../backend/model_manager/load/model_loaders/controlnet.py | 2 +- .../model_manager/load/model_loaders/stable_diffusion.py | 2 +- invokeai/backend/model_manager/load/model_loaders/vae.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/invokeai/backend/model_manager/load/model_loaders/controlnet.py b/invokeai/backend/model_manager/load/model_loaders/controlnet.py index d994f2147a..861ba700cc 100644 --- a/invokeai/backend/model_manager/load/model_loaders/controlnet.py +++ b/invokeai/backend/model_manager/load/model_loaders/controlnet.py @@ -44,7 +44,7 @@ class ControlNetLoader(GenericDiffusersLoader): ) self._logger.info(f"Converting {model_path} to diffusers format") - with open(config.config_path, "r") as config_stream: + with open(self._app_config.root_path / config.config_path, "r") as config_stream: convert_controlnet_to_diffusers( model_path, output_path, diff --git a/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py b/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py index fa66c56364..e401a10eb9 100644 --- a/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py +++ b/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py @@ -91,7 +91,7 @@ class StableDiffusionDiffusersModel(GenericDiffusersLoader): model_path, output_path, model_type=self.model_base_to_model_type[base], - original_config_file=config.config_path, + original_config_file=self._app_config.root_path / config.config_path, extract_ema=True, from_safetensors=model_path.suffix == ".safetensors", precision=self._torch_dtype, diff --git a/invokeai/backend/model_manager/load/model_loaders/vae.py b/invokeai/backend/model_manager/load/model_loaders/vae.py index 2b6337d9b5..7669ff0e19 100644 --- a/invokeai/backend/model_manager/load/model_loaders/vae.py +++ b/invokeai/backend/model_manager/load/model_loaders/vae.py @@ -44,7 +44,7 @@ class VAELoader(GenericDiffusersLoader): raise Exception(f"VAE conversion not supported for model type: {config.base}") else: assert isinstance(config, CheckpointConfigBase) - config_file = config.config_path + config_file = self._app_config.root_path / config.config_path if model_path.suffix == ".safetensors": checkpoint = safetensors_load_file(model_path, device="cpu") @@ -55,7 +55,7 @@ class VAELoader(GenericDiffusersLoader): if "state_dict" in checkpoint: checkpoint = checkpoint["state_dict"] - ckpt_config = OmegaConf.load(self._app_config.root_path / config_file) + ckpt_config = OmegaConf.load(config_file) assert isinstance(ckpt_config, DictConfig) self._logger.info(f"Converting {model_path} to diffusers format") vae_model = convert_ldm_vae_to_diffusers(