mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 09:14:35 +02:00
+6
-4
@@ -87,6 +87,12 @@
|
||||
can be combined with sdp, enabling may improve stability when used on iGPU or shared memory systems
|
||||
- **nunchaku** update to `1.0.1` and enhance installer
|
||||
- **xyz-grid** add guidance section
|
||||
- **Video**
|
||||
- use shared T5 text encoder for video models when possible
|
||||
- **FramePack** add job state tracking
|
||||
- **LTXVideo** fix model selection in ltx tab
|
||||
- **LTXVideo** fix run with offloading
|
||||
- **WAN** fix run with offloading
|
||||
- **Experimental**
|
||||
- `new` command line flag enables new `pydantic` and `albumentations` packages
|
||||
- **modular pipelines**: enable in *settings -> model options*
|
||||
@@ -108,10 +114,6 @@
|
||||
- reference: fix download for sd15/sdxl reference models
|
||||
- fix checks in init/mask image decode
|
||||
- fix hf token with extra chars
|
||||
- **FramePack** add job state tracking
|
||||
- **LTXVideo** fix model selection in ltx tab
|
||||
- **LTXVideo** fix run with offloading
|
||||
- **WAN** fix run with offloading
|
||||
|
||||
## Update for 2025-09-15
|
||||
|
||||
|
||||
@@ -25,6 +25,10 @@ def load_model(selected: models_def.Model):
|
||||
# text encoder
|
||||
try:
|
||||
load_args, quant_args = model_quant.get_dit_args({}, module='TE', device_map=True)
|
||||
if selected.te_cls.__name__ == 'T5EncoderModel' and shared.opts.te_shared_t5:
|
||||
selected.te = 'Disty0/t5-xxl'
|
||||
selected.te_folder = ''
|
||||
selected.te_revision = None
|
||||
shared.log.debug(f'Video load: module=te repo="{selected.te or selected.repo}" folder="{selected.te_folder}" cls={selected.te_cls.__name__} quant={model_quant.get_quant_type(quant_args)}')
|
||||
kwargs["text_encoder"] = selected.te_cls.from_pretrained(
|
||||
pretrained_model_name_or_path=selected.te or selected.repo,
|
||||
@@ -84,17 +88,23 @@ def load_model(selected: models_def.Model):
|
||||
shared.sd_model.sd_model_hash = None
|
||||
sd_models.set_diffuser_options(shared.sd_model, offload=False)
|
||||
|
||||
decode, text, image, slicing, tiling = False, False, False, False, False
|
||||
if selected.vae_hijack and hasattr(shared.sd_model.vae, 'decode'):
|
||||
sd_hijack_vae.init_hijack(shared.sd_model)
|
||||
decode = True
|
||||
if selected.te_hijack and hasattr(shared.sd_model, 'encode_prompt'):
|
||||
sd_hijack_te.init_hijack(shared.sd_model)
|
||||
text = True
|
||||
if selected.image_hijack and hasattr(shared.sd_model, 'encode_image'):
|
||||
shared.sd_model.orig_encode_image = shared.sd_model.encode_image
|
||||
shared.sd_model.encode_image = video_utils.hijack_encode_image
|
||||
if hasattr(shared.sd_model.vae, 'enable_slicing'):
|
||||
image = True
|
||||
if hasattr(shared.sd_model, 'vae') and hasattr(shared.sd_model.vae, 'enable_slicing'):
|
||||
shared.sd_model.vae.enable_slicing()
|
||||
if hasattr(shared.sd_model.vae, 'enable_tiling'):
|
||||
slicing = True
|
||||
if hasattr(shared.sd_model, 'vae') and hasattr(shared.sd_model.vae, 'enable_tiling'):
|
||||
shared.sd_model.vae.enable_tiling()
|
||||
tiling = True
|
||||
if hasattr(shared.sd_model, "set_progress_bar_config"):
|
||||
shared.sd_model.set_progress_bar_config(bar_format='Progress {rate_fmt}{postfix} {bar} {percentage:3.0f}% {n_fmt}/{total_fmt} {elapsed} {remaining} ' + '\x1b[38;5;71m', ncols=80, colour='#327fba')
|
||||
|
||||
@@ -104,5 +114,6 @@ def load_model(selected: models_def.Model):
|
||||
loaded_model = selected.name
|
||||
msg = f'Video load: cls={shared.sd_model.__class__.__name__} model="{selected.name}" time={t1-t0:.2f}'
|
||||
shared.log.info(msg)
|
||||
shared.log.debug(f'Video hijacks: decode={decode} text={text} image={image} slicing={slicing} tiling={tiling}')
|
||||
shared.state.end(jobid)
|
||||
return msg
|
||||
|
||||
Reference in New Issue
Block a user