From 668d7e9b9aba1770beae48a8664e0351fcd59f31 Mon Sep 17 00:00:00 2001 From: AUTOMATIC <16777216c@gmail.com> Date: Sun, 5 Feb 2023 11:20:47 +0300 Subject: make it possible to load SD1 checkpoints without CLIP --- modules/sd_models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'modules/sd_models.py') diff --git a/modules/sd_models.py b/modules/sd_models.py index af1731e5..d847d358 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -354,6 +354,9 @@ def repair_config(sd_config): sd_config.model.params.unet_config.params.use_fp16 = True +sd1_clip_weight = 'cond_stage_model.transformer.text_model.embeddings.token_embedding.weight' +sd2_clip_weight = 'cond_stage_model.model.transformer.resblocks.0.attn.in_proj_weight' + def load_model(checkpoint_info=None, already_loaded_state_dict=None, time_taken_to_load_state_dict=None): from modules import lowvram, sd_hijack checkpoint_info = checkpoint_info or select_checkpoint() @@ -374,6 +377,7 @@ def load_model(checkpoint_info=None, already_loaded_state_dict=None, time_taken_ state_dict = get_checkpoint_state_dict(checkpoint_info, timer) checkpoint_config = sd_models_config.find_checkpoint_config(state_dict, checkpoint_info) + clip_is_included_into_sd = sd1_clip_weight in state_dict or sd2_clip_weight in state_dict timer.record("find config") @@ -386,7 +390,7 @@ def load_model(checkpoint_info=None, already_loaded_state_dict=None, time_taken_ sd_model = None try: - with sd_disable_initialization.DisableInitialization(): + with sd_disable_initialization.DisableInitialization(disable_clip=clip_is_included_into_sd): sd_model = instantiate_from_config(sd_config.model) except Exception as e: pass -- cgit v1.2.1