mirror of
https://github.com/lllyasviel/stable-diffusion-webui-forge.git
synced 2026-04-30 19:21:21 +00:00
Update forge_loader.py
This commit is contained in:
@@ -13,7 +13,6 @@ from omegaconf import OmegaConf
|
|||||||
from modules.sd_models_config import find_checkpoint_config
|
from modules.sd_models_config import find_checkpoint_config
|
||||||
from modules.shared import cmd_opts
|
from modules.shared import cmd_opts
|
||||||
from modules import sd_hijack
|
from modules import sd_hijack
|
||||||
from modules.sd_hijack import EmbeddingsWithFixes
|
|
||||||
from modules import sd_hijack_clip, sd_hijack_open_clip
|
from modules import sd_hijack_clip, sd_hijack_open_clip
|
||||||
from modules.sd_models_xl import extend_sdxl
|
from modules.sd_models_xl import extend_sdxl
|
||||||
from ldm.util import instantiate_from_config
|
from ldm.util import instantiate_from_config
|
||||||
@@ -166,8 +165,8 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
|||||||
embedder.tokenizer = forge_object.clip.tokenizer.clip_g.tokenizer
|
embedder.tokenizer = forge_object.clip.tokenizer.clip_g.tokenizer
|
||||||
embedder.transformer = forge_object.clip.cond_stage_model.clip_g.transformer
|
embedder.transformer = forge_object.clip.cond_stage_model.clip_g.transformer
|
||||||
model_embeddings = embedder.transformer.text_model.embeddings
|
model_embeddings = embedder.transformer.text_model.embeddings
|
||||||
model_embeddings.token_embedding = EmbeddingsWithFixes(model_embeddings.token_embedding,
|
model_embeddings.token_embedding = sd_hijack.model_hijack.EmbeddingsWithFixes(
|
||||||
sd_hijack.model_hijack)
|
model_embeddings.token_embedding, sd_hijack.model_hijack)
|
||||||
embedder = sd_hijack_open_clip.FrozenOpenCLIPEmbedderWithCustomWords(embedder, sd_hijack.model_hijack)
|
embedder = sd_hijack_open_clip.FrozenOpenCLIPEmbedderWithCustomWords(embedder, sd_hijack.model_hijack)
|
||||||
|
|
||||||
conditioner.embedders[i] = embedder
|
conditioner.embedders[i] = embedder
|
||||||
@@ -176,8 +175,8 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
|||||||
embedder.tokenizer = forge_object.clip.tokenizer.clip_l.tokenizer
|
embedder.tokenizer = forge_object.clip.tokenizer.clip_l.tokenizer
|
||||||
embedder.transformer = forge_object.clip.cond_stage_model.clip_l.transformer
|
embedder.transformer = forge_object.clip.cond_stage_model.clip_l.transformer
|
||||||
model_embeddings = embedder.transformer.text_model.embeddings
|
model_embeddings = embedder.transformer.text_model.embeddings
|
||||||
model_embeddings.token_embedding = EmbeddingsWithFixes(model_embeddings.token_embedding,
|
model_embeddings.token_embedding = sd_hijack.model_hijack.EmbeddingsWithFixes(
|
||||||
sd_hijack.model_hijack)
|
model_embeddings.token_embedding, sd_hijack.model_hijack)
|
||||||
embedder = sd_hijack_clip.FrozenCLIPEmbedderForSDXLWithCustomWords(embedder, sd_hijack.model_hijack)
|
embedder = sd_hijack_clip.FrozenCLIPEmbedderForSDXLWithCustomWords(embedder, sd_hijack.model_hijack)
|
||||||
|
|
||||||
conditioner.embedders[i] = embedder
|
conditioner.embedders[i] = embedder
|
||||||
@@ -186,9 +185,8 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
|||||||
embedder.tokenizer = forge_object.clip.tokenizer.clip_g.tokenizer
|
embedder.tokenizer = forge_object.clip.tokenizer.clip_g.tokenizer
|
||||||
embedder.transformer = forge_object.clip.cond_stage_model.clip_g.transformer
|
embedder.transformer = forge_object.clip.cond_stage_model.clip_g.transformer
|
||||||
model_embeddings = embedder.transformer.text_model.embeddings
|
model_embeddings = embedder.transformer.text_model.embeddings
|
||||||
model_embeddings.token_embedding = EmbeddingsWithFixes(model_embeddings.token_embedding,
|
model_embeddings.token_embedding = sd_hijack.model_hijack.EmbeddingsWithFixes(
|
||||||
sd_hijack.model_hijack,
|
model_embeddings.token_embedding, sd_hijack.model_hijack, textual_inversion_key='clip_g')
|
||||||
textual_inversion_key='clip_g')
|
|
||||||
embedder = sd_hijack_open_clip.FrozenOpenCLIPEmbedder2WithCustomWords(embedder, sd_hijack.model_hijack)
|
embedder = sd_hijack_open_clip.FrozenOpenCLIPEmbedder2WithCustomWords(embedder, sd_hijack.model_hijack)
|
||||||
|
|
||||||
conditioner.embedders[i] = embedder
|
conditioner.embedders[i] = embedder
|
||||||
@@ -202,14 +200,16 @@ def load_model_for_a1111(timer, checkpoint_info=None, state_dict=None):
|
|||||||
sd_model.cond_stage_model.tokenizer = forge_object.clip.tokenizer.clip_l.tokenizer
|
sd_model.cond_stage_model.tokenizer = forge_object.clip.tokenizer.clip_l.tokenizer
|
||||||
sd_model.cond_stage_model.transformer = forge_object.clip.cond_stage_model.clip_l.transformer
|
sd_model.cond_stage_model.transformer = forge_object.clip.cond_stage_model.clip_l.transformer
|
||||||
model_embeddings = sd_model.cond_stage_model.transformer.text_model.embeddings
|
model_embeddings = sd_model.cond_stage_model.transformer.text_model.embeddings
|
||||||
model_embeddings.token_embedding = EmbeddingsWithFixes(model_embeddings.token_embedding, sd_hijack.model_hijack)
|
model_embeddings.token_embedding = sd_hijack.model_hijack.EmbeddingsWithFixes(
|
||||||
|
model_embeddings.token_embedding, sd_hijack.model_hijack)
|
||||||
sd_model.cond_stage_model = sd_hijack_clip.FrozenCLIPEmbedderWithCustomWords(sd_model.cond_stage_model,
|
sd_model.cond_stage_model = sd_hijack_clip.FrozenCLIPEmbedderWithCustomWords(sd_model.cond_stage_model,
|
||||||
sd_hijack.model_hijack)
|
sd_hijack.model_hijack)
|
||||||
elif type(sd_model.cond_stage_model).__name__ == 'FrozenOpenCLIPEmbedder':
|
elif type(sd_model.cond_stage_model).__name__ == 'FrozenOpenCLIPEmbedder':
|
||||||
sd_model.cond_stage_model.tokenizer = forge_object.clip.tokenizer.clip_g.tokenizer
|
sd_model.cond_stage_model.tokenizer = forge_object.clip.tokenizer.clip_g.tokenizer
|
||||||
sd_model.cond_stage_model.transformer = forge_object.clip.cond_stage_model.clip_g.transformer
|
sd_model.cond_stage_model.transformer = forge_object.clip.cond_stage_model.clip_g.transformer
|
||||||
model_embeddings = sd_model.cond_stage_model.transformer.text_model.embeddings
|
model_embeddings = sd_model.cond_stage_model.transformer.text_model.embeddings
|
||||||
model_embeddings.token_embedding = EmbeddingsWithFixes(model_embeddings.token_embedding, sd_hijack.model_hijack)
|
model_embeddings.token_embedding = sd_hijack.model_hijack.EmbeddingsWithFixes(
|
||||||
|
model_embeddings.token_embedding, sd_hijack.model_hijack)
|
||||||
sd_model.cond_stage_model = sd_hijack_open_clip.FrozenOpenCLIPEmbedderWithCustomWords(sd_model.cond_stage_model,
|
sd_model.cond_stage_model = sd_hijack_open_clip.FrozenOpenCLIPEmbedderWithCustomWords(sd_model.cond_stage_model,
|
||||||
sd_hijack.model_hijack)
|
sd_hijack.model_hijack)
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user