Fix PixArt Sigma Small and Large

This commit is contained in:
Disty0
2025-06-06 19:25:26 +03:00
parent 089e437708
commit 5624671191
2 changed files with 11 additions and 2 deletions
+1
View File
@@ -19,6 +19,7 @@
- **Fixes**
- Meissonic with multiple generators
- Kandinsky V2.2 invalid attention processor
- PixArt Sigma Small and Large loading
## Update for 2025-06-02
+10 -2
View File
@@ -1,11 +1,19 @@
import transformers
import diffusers
from huggingface_hub import file_exists
def load_pixart(checkpoint_info, diffusers_load_config={}):
from modules import shared, devices, modelloader, sd_models, model_quant
modelloader.hf_login()
repo_id = sd_models.path_to_repo(checkpoint_info.name)
repo_id_tenc = repo_id
repo_id_pipe = repo_id
if not file_exists(repo_id_tenc, "text_encoder/config.json"):
repo_id_tenc = "PixArt-alpha/PixArt-Sigma-XL-2-1024-MS"
if not file_exists(repo_id_pipe, "model_index.json"):
repo_id_pipe = "PixArt-alpha/PixArt-Sigma-XL-2-1024-MS"
load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='Transformer')
transformer = diffusers.PixArtTransformer2DModel.from_pretrained(
@@ -17,7 +25,7 @@ def load_pixart(checkpoint_info, diffusers_load_config={}):
)
load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='TE', device_map=True)
text_encoder = transformers.T5EncoderModel.from_pretrained(
repo_id,
repo_id_tenc,
subfolder="text_encoder",
cache_dir=shared.opts.hfcache_dir,
**load_args,
@@ -26,7 +34,7 @@ def load_pixart(checkpoint_info, diffusers_load_config={}):
load_args, _quant_args = model_quant.get_dit_args(diffusers_load_config, allow_quant=False)
pipe = diffusers.PixArtSigmaPipeline.from_pretrained(
'PixArt-alpha/PixArt-Sigma-XL-2-1024-MS',
repo_id_pipe,
cache_dir=shared.opts.diffusers_dir,
transformer=transformer,
text_encoder=text_encoder,