mirror of
https://github.com/lllyasviel/stable-diffusion-webui-forge.git
synced 2026-02-25 01:03:57 +00:00
Update forge_loader.py
This commit is contained in:
@@ -168,7 +168,7 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
||||
model_embeddings.token_embedding = sd_hijack.EmbeddingsWithFixes(
|
||||
model_embeddings.token_embedding, sd_hijack.model_hijack)
|
||||
embedder = forge_clip.CLIP_SD_XL_L(embedder, sd_hijack.model_hijack)
|
||||
embedder.patcher = forge_objects.clip
|
||||
embedder.forge_objects = forge_objects
|
||||
conditioner.embedders[i] = embedder
|
||||
text_cond_models.append(embedder)
|
||||
elif typename == 'FrozenOpenCLIPEmbedder2': # SDXL Clip G
|
||||
@@ -179,7 +179,7 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
||||
model_embeddings.token_embedding = sd_hijack.EmbeddingsWithFixes(
|
||||
model_embeddings.token_embedding, sd_hijack.model_hijack, textual_inversion_key='clip_g')
|
||||
embedder = forge_clip.CLIP_SD_XL_G(embedder, sd_hijack.model_hijack)
|
||||
embedder.patcher = forge_objects.clip
|
||||
embedder.forge_objects = forge_objects
|
||||
conditioner.embedders[i] = embedder
|
||||
text_cond_models.append(embedder)
|
||||
|
||||
@@ -194,7 +194,7 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
||||
model_embeddings.token_embedding = sd_hijack.EmbeddingsWithFixes(
|
||||
model_embeddings.token_embedding, sd_hijack.model_hijack)
|
||||
sd_model.cond_stage_model = forge_clip.CLIP_SD_15_L(sd_model.cond_stage_model, sd_hijack.model_hijack)
|
||||
sd_model.cond_stage_model.patcher = forge_objects.clip
|
||||
sd_model.cond_stage_model.forge_objects = forge_objects
|
||||
elif type(sd_model.cond_stage_model).__name__ == 'FrozenOpenCLIPEmbedder': # SD21 Clip
|
||||
sd_model.cond_stage_model.tokenizer = forge_objects.clip.tokenizer.clip_h.tokenizer
|
||||
sd_model.cond_stage_model.transformer = forge_objects.clip.cond_stage_model.clip_h.transformer
|
||||
@@ -202,7 +202,7 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
||||
model_embeddings.token_embedding = sd_hijack.EmbeddingsWithFixes(
|
||||
model_embeddings.token_embedding, sd_hijack.model_hijack)
|
||||
sd_model.cond_stage_model = forge_clip.CLIP_SD_21_H(sd_model.cond_stage_model, sd_hijack.model_hijack)
|
||||
sd_model.cond_stage_model.patcher = forge_objects.clip
|
||||
sd_model.cond_stage_model.forge_objects = forge_objects
|
||||
else:
|
||||
raise NotImplementedError('Bad Clip Class Name:' + type(sd_model.cond_stage_model).__name__)
|
||||
|
||||
@@ -220,7 +220,6 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
||||
sd_model.sd_model_hash = sd_model_hash
|
||||
sd_model.sd_model_checkpoint = checkpoint_info.filename
|
||||
sd_model.sd_checkpoint_info = checkpoint_info
|
||||
timer.record("forge finalize")
|
||||
|
||||
def patched_decode_first_stage(sample):
|
||||
sample = forge_objects.unet.model.model_config.latent_format.process_out(sample)
|
||||
@@ -236,15 +235,12 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
||||
sd_model.decode_first_stage = patched_decode_first_stage
|
||||
sd_model.encode_first_stage = patched_encode_first_stage
|
||||
|
||||
sd_model.unet_patcher = forge_objects.unet
|
||||
sd_model.clip_patcher = forge_objects.clip.patcher
|
||||
sd_model.vae_patcher = forge_objects.vae.patcher
|
||||
sd_model.forge_objects.unet_original = forge_objects.unet
|
||||
sd_model.forge_objects.clip_original = forge_objects.clip
|
||||
sd_model.forge_objects.vae_original = forge_objects.vae
|
||||
sd_model.forge_objects.clipvision_original = forge_objects.clipvision
|
||||
sd_model.clip = sd_model.cond_stage_model
|
||||
timer.record("get patcher")
|
||||
timer.record("forge finalize")
|
||||
|
||||
sd_model.current_lora_hash = str([])
|
||||
return sd_model
|
||||
|
||||
Reference in New Issue
Block a user