From a7de134dca5021113b332c1433f32f6973e362fb Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sat, 18 Oct 2025 21:19:24 +0300 Subject: [PATCH 001/137] Update ipex, rocm and openvino to torch 2.9 and switch to rocm 7.0 branch for nightlies --- installer.py | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/installer.py b/installer.py index 71ec4cbe0..97e40dd38 100644 --- a/installer.py +++ b/installer.py @@ -756,28 +756,24 @@ def install_rocm_zluda(): except Exception as e: log.warning(f'Failed to load ZLUDA: {e}') else: - #check_python(supported_minors=[10, 11, 12, 13], reason='ROCm backend requires a Python version between 3.10 and 3.13') - + #check_python(supported_minors=[10, 11, 12, 13, 14], reason='ROCm backend requires a Python version between 3.10 and 3.13') if args.use_nightly: - if rocm.version is None or float(rocm.version) >= 6.4: # assume the latest if version check fails + if rocm.version is None or float(rocm.version) >= 7.0: # assume the latest if version check fails + torch_command = os.environ.get('TORCH_COMMAND', '--upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/rocm7.0') + else: # oldest rocm version on nightly is 6.4 torch_command = os.environ.get('TORCH_COMMAND', '--upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/rocm6.4') - else: # oldest rocm version on nightly is 6.3 - torch_command = os.environ.get('TORCH_COMMAND', '--upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/rocm6.3') else: if rocm.version is None or float(rocm.version) >= 6.4: # assume the latest if version check fails - # Torch 2.8 with ROCm has common segfaults, memory access violations and accuracy issues - #torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.8.0+rocm6.4 torchvision==0.23.0+rocm6.4 --index-url https://download.pytorch.org/whl/rocm6.4') - torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.7.1+rocm6.3 torchvision==0.22.1+rocm6.3 --index-url https://download.pytorch.org/whl/rocm6.3') + torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.9.0+rocm6.4 torchvision==0.24.0+rocm6.4 --index-url https://download.pytorch.org/whl/rocm6.4') elif rocm.version == "6.3": - #torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.8.0+rocm6.3 torchvision==0.23.0+rocm6.3 --index-url https://download.pytorch.org/whl/rocm6.3') - torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.7.1+rocm6.3 torchvision==0.22.1+rocm6.3 --index-url https://download.pytorch.org/whl/rocm6.3') + torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.9.0+rocm6.3 torchvision==0.24.0+rocm6.3 --index-url https://download.pytorch.org/whl/rocm6.3') elif rocm.version == "6.2": # use rocm 6.2.4 instead of 6.2 as torch==2.7.1+rocm6.2 doesn't exists torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.7.1+rocm6.2.4 torchvision==0.22.1+rocm6.2.4 --index-url https://download.pytorch.org/whl/rocm6.2.4') elif rocm.version == "6.1": torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.6.0+rocm6.1 torchvision==0.21.0+rocm6.1 --index-url https://download.pytorch.org/whl/rocm6.1') else: - # lock to 2.4.1 instead of 2.5.1 for performance reasons there are no support for torch 2.6.0 for rocm 6.0 + # lock to 2.4.1 instead of 2.5.1 for performance reasons there are no support for torch 2.6 for rocm 6.0 torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.4.1+rocm6.0 torchvision==0.19.1+rocm6.0 --index-url https://download.pytorch.org/whl/rocm6.0') if float(rocm.version) < 6.0: log.warning(f"ROCm: unsupported version={rocm.version}") @@ -797,15 +793,14 @@ def install_rocm_zluda(): def install_ipex(): t_start = time.time() - #check_python(supported_minors=[10, 11, 12, 13], reason='IPEX backend requires a Python version between 3.10 and 3.13') + #check_python(supported_minors=[10, 11, 12, 13, 14], reason='IPEX backend requires a Python version between 3.10 and 3.13') args.use_ipex = True # pylint: disable=attribute-defined-outside-init log.info('IPEX: Intel OneAPI toolkit detected') if args.use_nightly: torch_command = os.environ.get('TORCH_COMMAND', '--upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/xpu') else: - # torch 2.8 segfaults with torch.compile: https://github.com/pytorch/pytorch/issues/159974 - torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.7.1+xpu torchvision==0.22.1+xpu --index-url https://download.pytorch.org/whl/xpu') + torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.9.0+xpu torchvision==0.24.0+xpu --index-url https://download.pytorch.org/whl/xpu') ts('ipex', t_start) return torch_command @@ -818,9 +813,9 @@ def install_openvino(): #check_python(supported_minors=[10, 11, 12, 13], reason='OpenVINO backend requires a Python version between 3.10 and 3.13') if sys.platform == 'darwin': - torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.8.0 torchvision==0.23.0') + torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.9.0 torchvision==0.24.0') else: - torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.8.0+cpu torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cpu') + torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.9.0+cpu torchvision==0.24.0 --index-url https://download.pytorch.org/whl/cpu') if not (args.skip_all or args.skip_requirements): install(os.environ.get('OPENVINO_COMMAND', 'openvino==2025.3.0'), 'openvino') @@ -855,7 +850,7 @@ def install_torch_addons(): if len(opts.get('torchao_quantization', [])): install('torchao==0.10.0', 'torchao') if opts.get('samples_format', 'jpg') == 'jxl' or opts.get('grid_format', 'jpg') == 'jxl': - install('pillow-jxl-plugin==1.3.4', 'pillow-jxl-plugin') + install('pillow-jxl-plugin==1.3.5', 'pillow-jxl-plugin') if not args.experimental: uninstall('wandb', quiet=True) uninstall('pynvml', quiet=True) From ef72edf18f73cac5964ecfd2473753dcd00b533f Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 19 Oct 2025 00:06:07 +0300 Subject: [PATCH 002/137] SDNQ improve svd and low bit matmul perf --- modules/sdnq/dequantizer.py | 27 +++++++++++++++++++-------- modules/sdnq/loader.py | 15 +++++++++++++++ modules/sdnq/quantizer.py | 14 ++++++++++++++ 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/modules/sdnq/dequantizer.py b/modules/sdnq/dequantizer.py index 2b9998adb..4273dc3ef 100644 --- a/modules/sdnq/dequantizer.py +++ b/modules/sdnq/dequantizer.py @@ -14,7 +14,11 @@ def dequantize_asymmetric(weight: torch.ByteTensor, scale: torch.FloatTensor, ze result = result.view(result_shape) if svd_up is not None: if skip_quantized_matmul: - svd_up, svd_down = svd_up.t(), svd_down.t() + svd_up = svd_up.t().contiguous() + if use_contiguous_mm: + svd_down = svd_down.t().contiguous() + else: + svd_down = svd_down.contiguous().t() if result.ndim > 2 and weight.ndim > 2: # convs result = result.add_(torch.mm(svd_up, svd_down).unflatten(-1, (*result.shape[1:],))) else: @@ -32,7 +36,11 @@ def dequantize_symmetric(weight: torch.CharTensor, scale: torch.FloatTensor, dty result = result.view(result_shape) if svd_up is not None: if skip_quantized_matmul: - svd_up, svd_down = svd_up.t(), svd_down.t() + svd_up = svd_up.t().contiguous() + if use_contiguous_mm: + svd_down = svd_down.t().contiguous() + else: + svd_down = svd_down.contiguous().t() if result.ndim > 2 and weight.ndim > 2: # convs result = result.add_(torch.mm(svd_up, svd_down).unflatten(-1, (*result.shape[1:],))) else: @@ -71,17 +79,20 @@ def quantize_fp8(input: torch.FloatTensor, dim: int = -1, is_e5: bool = False) - def re_quantize_int8(weight: torch.FloatTensor) -> Tuple[torch.CharTensor, torch.FloatTensor]: if weight.ndim > 2: # convs weight = weight.flatten(1,-1) - weight = weight.t() if use_contiguous_mm: - weight = weight.contiguous() - weight, scale = quantize_int8(weight, dim=0) + weight, scale = quantize_int8(weight.t(), dim=-0) + weight, scale = weight.contiguous(), scale.contiguous() + else: + weight, scale = quantize_int8(weight.contiguous(), dim=-1) + weight, scale = weight.t_(), scale.t_() return weight, scale def re_quantize_fp8(weight: torch.FloatTensor, is_e5: bool = False) -> Tuple[torch.CharTensor, torch.FloatTensor]: if weight.ndim > 2: # convs weight = weight.flatten(1,-1) - weight, scale = quantize_fp8(weight.t(), dim=0, is_e5=is_e5) + weight, scale = quantize_int8(weight.contiguous(), dim=-1, is_e5=is_e5) + weight, scale = weight.t_(), scale.t_() if not use_tensorwise_fp8_matmul: scale = scale.to(dtype=torch.float32) return weight, scale @@ -95,11 +106,11 @@ def re_quantize_matmul_symmetric(weight: torch.CharTensor, scale: torch.FloatTen return re_quantize_int8(dequantize_symmetric(weight, scale, scale.dtype, result_shape, svd_up=svd_up, svd_down=svd_down)) -def re_quantize_matmul_packed_int_asymmetric(weight: torch.ByteTensor, scale: torch.FloatTensor, zero_point: torch.FloatTensor, shape: torch.Size, result_shape: torch.Size, weights_dtype: str, svd_up: Optional[torch.FloatTensor] = None, svd_down: Optional[torch.FloatTensor] = None) -> torch.FloatTensor: +def re_quantize_matmul_packed_int_asymmetric(weight: torch.ByteTensor, scale: torch.FloatTensor, zero_point: torch.FloatTensor, shape: torch.Size, result_shape: torch.Size, weights_dtype: str, svd_up: Optional[torch.FloatTensor] = None, svd_down: Optional[torch.FloatTensor] = None) -> Tuple[torch.CharTensor, torch.FloatTensor]: return re_quantize_matmul_asymmetric(unpack_int_asymetric(weight, shape, weights_dtype), scale, zero_point, result_shape, svd_up=svd_up, svd_down=svd_down) -def re_quantize_matmul_packed_int_symmetric(weight: torch.ByteTensor, scale: torch.FloatTensor, shape: torch.Size, result_shape: torch.Size, weights_dtype: str, svd_up: Optional[torch.FloatTensor] = None, svd_down: Optional[torch.FloatTensor] = None) -> torch.FloatTensor: +def re_quantize_matmul_packed_int_symmetric(weight: torch.ByteTensor, scale: torch.FloatTensor, shape: torch.Size, result_shape: torch.Size, weights_dtype: str, svd_up: Optional[torch.FloatTensor] = None, svd_down: Optional[torch.FloatTensor] = None) -> Tuple[torch.CharTensor, torch.FloatTensor]: return re_quantize_matmul_symmetric(unpack_int_symetric(weight, shape, weights_dtype, dtype=scale.dtype), scale, result_shape, svd_up=svd_up, svd_down=svd_down) diff --git a/modules/sdnq/loader.py b/modules/sdnq/loader.py index 88d8140a7..9cd77fa62 100644 --- a/modules/sdnq/loader.py +++ b/modules/sdnq/loader.py @@ -187,6 +187,21 @@ def apply_options_to_model(model, dtype: torch.dtype = None, dequantize_fp32: bo if module.svd_up is not None: module.svd_up.data = module.svd_up.t_() module.svd_down.data = module.svd_down.t_() + if use_quantized_matmul: + if use_contiguous_mm: + module.svd_up.data = module.svd_up.contiguous() + module.svd_down.data = module.svd_down.contiguous() + else: + if svd_up.is_contiguous(): + module.svd_up.data = module.svd_up.t_().contiguous().t_() + if svd_up.is_contiguous(): + module.svd_down.data = module.svd_down.t_().contiguous().t_() + else: + svd_up = svd_up.contiguous() + if use_contiguous_mm: + svd_down = svd_down.contiguous() + elif svd_down.is_contiguous(): + svd_down = svd_down.t_().contiguous().t_() module.sdnq_dequantizer.use_quantized_matmul = use_quantized_matmul module = apply_options_to_model(module, dtype=dtype, dequantize_fp32=dequantize_fp32, use_quantized_matmul=use_quantized_matmul) return model diff --git a/modules/sdnq/quantizer.py b/modules/sdnq/quantizer.py index 3a39122db..4d850acad 100644 --- a/modules/sdnq/quantizer.py +++ b/modules/sdnq/quantizer.py @@ -204,6 +204,20 @@ def sdnq_quantize_layer(layer, weights_dtype="int8", torch_dtype=None, group_siz if use_quantized_matmul: svd_up = svd_up.t_() svd_down = svd_down.t_() + if use_contiguous_mm: + svd_up = svd_up.contiguous() + svd_down = svd_down.contiguous() + else: + if svd_up.is_contiguous(): + svd_up = svd_up.t_().contiguous().t_() + if svd_down.is_contiguous(): + svd_down = svd_down.t_().contiguous().t_() + else: + svd_up = svd_up.contiguous() + if use_contiguous_mm: + svd_down = svd_down.contiguous() + elif svd_down.is_contiguous(): + svd_down = svd_down.t_().contiguous().t_() except Exception: svd_up, svd_down = None, None else: From 56403228929235ac0e24ac45bdbc55fcfd058740 Mon Sep 17 00:00:00 2001 From: Oleksandr Liutyi Date: Sun, 19 Oct 2025 01:25:04 +0300 Subject: [PATCH 003/137] HiDream cover updates, Qwen base cover minor update --- html/reference.json | 2 +- models/Reference/HiDream-ai--HiDream-E1-1.jpg | Bin 0 -> 75916 bytes .../Reference/HiDream-ai--HiDream-E1-Full.jpg | Bin 69809 -> 66918 bytes .../Reference/HiDream-ai--HiDream-I1-Dev.jpg | Bin 81997 -> 71562 bytes .../Reference/HiDream-ai--HiDream-I1-Fast.jpg | Bin 75457 -> 71126 bytes .../Reference/HiDream-ai--HiDream-I1-Full.jpg | Bin 71348 -> 69065 bytes models/Reference/Qwen--Qwen-Image.jpg | Bin 78023 -> 76511 bytes 7 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 models/Reference/HiDream-ai--HiDream-E1-1.jpg diff --git a/html/reference.json b/html/reference.json index fced58542..7c49aac11 100644 --- a/html/reference.json +++ b/html/reference.json @@ -698,7 +698,7 @@ "HiDream-E1.1": { "path": "HiDream-ai/HiDream-E1-1", "desc": "HiDream-E1 is an image editing model built on HiDream-I1.", - "preview": "HiDream-ai--HiDream-E1-Full.jpg", + "preview": "HiDream-ai--HiDream-E1-1.jpg", "skip": true, "extras": "sampler: Default" }, diff --git a/models/Reference/HiDream-ai--HiDream-E1-1.jpg b/models/Reference/HiDream-ai--HiDream-E1-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b10b7dc660f55f55eb0471559f7db9efbc7f9e81 GIT binary patch literal 75916 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

qyEvXgr8IT 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 literal 0 HcmV?d00001 diff --git a/models/Reference/HiDream-ai--HiDream-E1-Full.jpg b/models/Reference/HiDream-ai--HiDream-E1-Full.jpg index 8de72fe438bb5513c54dbf91fc9cd8c01ae8cc09..dfe65dfc5d047420a176c957ddb078b6d3e935b8 100644 GIT binary patch delta 66158 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�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 bA1W<2LeQ5{k`$qg1J;&Co@fJ{5WoM~jsC~0 delta 69052 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

{Js-J;uYVWx59K~X2ea!n{e?M&=N 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 Rrx@{|;Bmqc{&DpS|Je?Od$j-n diff --git a/models/Reference/HiDream-ai--HiDream-I1-Dev.jpg b/models/Reference/HiDream-ai--HiDream-I1-Dev.jpg index 863bd705b5371724b81f263829463db18847a1ea..243abc3700880d617683c9dd46a7c9dac156949e 100644 GIT binary patch delta 70733 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

oh$rDaK9n3325(2jqiIt!WE{D~m5Ul@ui8;iU?g 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 vA)75>uXWRehZ<>o2dF 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 E*=5iQY5)KL diff --git a/models/Reference/HiDream-ai--HiDream-I1-Fast.jpg b/models/Reference/HiDream-ai--HiDream-I1-Fast.jpg index 7a3ed13d359e7a6ec654b88cfafb8ff6ec116618..b0c61bd11702780306b8d54c42d57b809eb3969a 100644 GIT binary patch delta 70316 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 z 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∓K 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

O%4JTkZ1rAECg58gx=V01 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

;l|6(JE?0Ug;->0XG_c8hhc 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 delta 70557 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 N7)ySJIB9lQ|Jk6b|C|5- diff --git a/models/Reference/Qwen--Qwen-Image.jpg b/models/Reference/Qwen--Qwen-Image.jpg index 1d3fdd499146d09470ada3007a2946f3c848a05a..6f6e4b30ee31ac823b3db7711ed54fa2b30a50bc 100644 GIT binary patch delta 76047 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 delta 77595 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�`MxF-dceh38Hm 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 From 758b0061041831cf5a4bb4f22df082bec90cb9a0 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 19 Oct 2025 02:00:16 +0300 Subject: [PATCH 004/137] cleanup --- modules/sdnq/loader.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/sdnq/loader.py b/modules/sdnq/loader.py index 9cd77fa62..7afae6a88 100644 --- a/modules/sdnq/loader.py +++ b/modules/sdnq/loader.py @@ -192,16 +192,16 @@ def apply_options_to_model(model, dtype: torch.dtype = None, dequantize_fp32: bo module.svd_up.data = module.svd_up.contiguous() module.svd_down.data = module.svd_down.contiguous() else: - if svd_up.is_contiguous(): + if module.svd_up.is_contiguous(): module.svd_up.data = module.svd_up.t_().contiguous().t_() - if svd_up.is_contiguous(): + if module.svd_up.is_contiguous(): module.svd_down.data = module.svd_down.t_().contiguous().t_() else: - svd_up = svd_up.contiguous() + module.svd_up.data = module.svd_up.contiguous() if use_contiguous_mm: - svd_down = svd_down.contiguous() - elif svd_down.is_contiguous(): - svd_down = svd_down.t_().contiguous().t_() + module.svd_down.data = module.svd_down.contiguous() + elif module.svd_down.is_contiguous(): + module.svd_down.data = module.svd_down.t_().contiguous().t_() module.sdnq_dequantizer.use_quantized_matmul = use_quantized_matmul module = apply_options_to_model(module, dtype=dtype, dequantize_fp32=dequantize_fp32, use_quantized_matmul=use_quantized_matmul) return model From f05c29175edfeac933be5d68e9755095a46c6dd1 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 19 Oct 2025 02:09:25 +0300 Subject: [PATCH 005/137] cleanup --- modules/sdnq/dequantizer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sdnq/dequantizer.py b/modules/sdnq/dequantizer.py index 4273dc3ef..73afe67d2 100644 --- a/modules/sdnq/dequantizer.py +++ b/modules/sdnq/dequantizer.py @@ -91,7 +91,7 @@ def re_quantize_int8(weight: torch.FloatTensor) -> Tuple[torch.CharTensor, torch def re_quantize_fp8(weight: torch.FloatTensor, is_e5: bool = False) -> Tuple[torch.CharTensor, torch.FloatTensor]: if weight.ndim > 2: # convs weight = weight.flatten(1,-1) - weight, scale = quantize_int8(weight.contiguous(), dim=-1, is_e5=is_e5) + weight, scale = quantize_fp8(weight.contiguous(), dim=-1, is_e5=is_e5) weight, scale = weight.t_(), scale.t_() if not use_tensorwise_fp8_matmul: scale = scale.to(dtype=torch.float32) From b55c8cd7ac0cedea040fee0fba0f22e8291d0569 Mon Sep 17 00:00:00 2001 From: awsr <43862868+awsr@users.noreply.github.com> Date: Sat, 18 Oct 2025 16:12:09 -0700 Subject: [PATCH 006/137] Fix profiler error if using --skip-requirements --- installer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer.py b/installer.py index 97e40dd38..2f73d90aa 100644 --- a/installer.py +++ b/installer.py @@ -1294,11 +1294,11 @@ def install_optional(): def install_requirements(): t_start = time.time() + if args.skip_requirements and not args.requirements: + return if args.profile: pr = cProfile.Profile() pr.enable() - if args.skip_requirements and not args.requirements: - return if int(sys.version_info.minor) >= 13: install('audioop-lts') if not installed('diffusers', quiet=True): # diffusers are not installed, so run initial installation From 281db9462589f838edd6dd9cb9481dfedc3efbd8 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 19 Oct 2025 09:33:49 -0400 Subject: [PATCH 007/137] add offline mode Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 13 +++++++++++++ installer.py | 11 ++++++++--- modules/modelloader.py | 5 ++++- modules/sd_models.py | 20 +++++++++++++++----- modules/shared.py | 1 + modules/ui_extra_networks_checkpoints.py | 12 +++++++++++- 6 files changed, 52 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7deaed7a1..7deb6069f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Change Log for SD.Next +## Update for 2025-10-19 + +- **Features** + - **offline mode**: enable in *settings -> hugginface* + enables fully offline mode where previously downloaded models are used as-is +- **Backend** + - switch to `torch==2.9` for *ipex, rocm and openvino* + - switch to `rocm==7.0` for nightlies +- **Quantization** + - improved SDNQ SVD and low-bit matmul performance +- **Fixes** + - startup error with `--profile` enabled if using `--skip` + ## Update for 2025-10-18 - **Models** diff --git a/installer.py b/installer.py index 2f73d90aa..f9a2954b2 100644 --- a/installer.py +++ b/installer.py @@ -1496,12 +1496,17 @@ def check_venv(): # check version of the main repo and optionally upgrade it -def check_version(offline=False, reset=True): # pylint: disable=unused-argument +def check_version(reset=True): # pylint: disable=unused-argument + if opts.get('offline_mode', False): + log.warning('Offline mode enabled') + args.skip_git = True # pylint: disable=attribute-defined-outside-init + args.skip_all = True # pylint: disable=attribute-defined-outside-init + return t_start = time.time() if args.skip_all: return if not os.path.exists('.git'): - log.warning('Not a git repository, all git operations are disabled') + log.warning('Not a git repository') args.skip_git = True # pylint: disable=attribute-defined-outside-init ver = get_version() log.info(f'Version: {print_dict(ver)}') @@ -1538,7 +1543,7 @@ def check_version(offline=False, reset=True): # pylint: disable=unused-argument else: log.warning('Repository: retrying upgrade...') git_reset() - check_version(offline=offline, reset=False) + check_version(reset=False) else: dt = commits["commit"]["commit"]["author"]["date"] commit = commits["commit"]["sha"][:8] diff --git a/modules/modelloader.py b/modules/modelloader.py index c448caad2..645a7cc51 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -20,6 +20,8 @@ pbar = None def hf_login(token=None): + if shared.opts.offline_mode: + return False global loggedin # pylint: disable=global-statement token = token or shared.opts.huggingface_token token = token.replace("\n", "").replace("\r", "").strip() if token is not None else None @@ -38,7 +40,8 @@ def hf_login(token=None): if loggedin != token: stdout = io.StringIO() try: - hf.logout() + with contextlib.redirect_stdout(stdout): + hf.logout() except Exception: pass with contextlib.redirect_stdout(stdout): diff --git a/modules/sd_models.py b/modules/sd_models.py index 7c9ea0953..c619c8ca2 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -657,6 +657,15 @@ def load_diffuser(checkpoint_info=None, op='model', revision=None): # pylint: di unload_model_weights(op=op) return + # handle offline mode + if shared.opts.offline_mode: + shared.log.info(f'Load {op}: offline=True') + diffusers_load_config["local_files_only"] = True + os.environ['HF_HUB_OFFLINE'] = '1' + else: + os.environ.pop('HF_HUB_OFFLINE', None) + os.unsetenv('HF_HUB_OFFLINE') + # detect pipeline pipeline, model_type = sd_detect.detect_pipeline(checkpoint_info.path, op) set_huggingface_options() @@ -1247,14 +1256,15 @@ def unload_model_weights(op='model'): def hf_auth_check(checkpoint_info, force:bool=False): + if shared.opts.offline_mode: + shared.log.info('Offline mode: skipping auth check') + return False login = None if not force: try: - # skip check for single-file safetensors models - if (checkpoint_info.path.endswith('.safetensors') and os.path.isfile(checkpoint_info.path)): + if (checkpoint_info.path.endswith('.safetensors') and os.path.isfile(checkpoint_info.path)): # skip check for single-file safetensors models return True - # skip check for local diffusers folders - if (os.path.exists(checkpoint_info.path) and os.path.isdir(checkpoint_info.path) and os.path.isfile(os.path.join(checkpoint_info.path, 'model_index.json'))): + if (os.path.exists(checkpoint_info.path) and os.path.isdir(checkpoint_info.path) and os.path.isfile(os.path.join(checkpoint_info.path, 'model_index.json'))): # skip check for local diffusers folders return True except Exception: pass @@ -1263,7 +1273,7 @@ def hf_auth_check(checkpoint_info, force:bool=False): login = modelloader.hf_login() return hf.auth_check(repo_id) except Exception as e: - shared.log.error(f'Load model: repo="{repo_id}" login={login} {e}') + shared.log.error(f'Auth: repo="{repo_id}" login={login} {e}') return False diff --git a/modules/shared.py b/modules/shared.py index fcaa05f1b..915647fa3 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -689,6 +689,7 @@ options_templates.update(options_section(('huggingface', "Huggingface"), { "huggingface_token": OptionInfo('', 'HuggingFace token', gr.Textbox, {"lines": 2}), "hf_transfer_mode": OptionInfo("rust", "HuggingFace download method", gr.Radio, {"choices": ['requests', 'rust', 'xet']}), "huggingface_mirror": OptionInfo('', 'HuggingFace mirror', gr.Textbox), + "offline_mode": OptionInfo(False, 'Force offline mode', gr.Checkbox), "diffusers_model_load_variant": OptionInfo("default", "Preferred Model variant", gr.Radio, {"choices": ['default', 'fp32', 'fp16']}), "diffusers_vae_load_variant": OptionInfo("default", "Preferred VAE variant", gr.Radio, {"choices": ['default', 'fp32', 'fp16']}), diff --git a/modules/ui_extra_networks_checkpoints.py b/modules/ui_extra_networks_checkpoints.py index 6e6fcc197..d2282d7da 100644 --- a/modules/ui_extra_networks_checkpoints.py +++ b/modules/ui_extra_networks_checkpoints.py @@ -37,12 +37,15 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): if not shared.opts.sd_checkpoint_autodownload or not shared.opts.extra_network_reference_enable: return [] + count = { 'total': 0, 'ready': 0, 'hidden': 0, 'experimental': 0 } for k, v in shared.reference_models.items(): + count['total'] += 1 url = v['path'] experimental = v.get('experimental', False) if experimental: if shared.cmd_opts.experimental: shared.log.debug(f'Networks: experimental model="{k}"') + count['experimental'] += 1 else: continue preview = v.get('preview', v['path']) @@ -61,6 +64,12 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): path = f'{v.get("path", "")}+{v.get("subfolder", "")}' else: path = f'{v.get("path", "")}' + ready = reference_downloaded(url) + if not ready and shared.opts.offline_mode: + count['hidden'] += 1 + continue + if ready: + count['ready'] += 1 yield { "type": 'Model', "name": name, @@ -75,8 +84,9 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): "info": {}, "metadata": {}, "description": v.get('desc', ''), - "version": "ready" if reference_downloaded(url) else "download", + "version": "ready" if ready else "download", } + shared.log.debug(f'Networks: type="reference" items={count["total"]} ready={count["ready"]} hidden={count["hidden"]} experimental={count["experimental"]}') def create_item(self, name): record = None From b627617d1402ed21e9df0f27e4d7a48ad63e02fd Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 19 Oct 2025 17:25:02 +0300 Subject: [PATCH 008/137] SDNQ fix enable matmul after load --- modules/sdnq/loader.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/sdnq/loader.py b/modules/sdnq/loader.py index 7afae6a88..bdf7e986d 100644 --- a/modules/sdnq/loader.py +++ b/modules/sdnq/loader.py @@ -3,9 +3,10 @@ import re import json import torch from diffusers.models.modeling_utils import ModelMixin -from .common import use_tensorwise_fp8_matmul, use_contiguous_mm +from .common import dtype_dict, use_tensorwise_fp8_matmul, use_contiguous_mm from .quantizer import SDNQConfig, sdnq_post_load_quant from .dequantizer import dequantize_symmetric, re_quantize_int8, re_quantize_fp8 +from .forward import get_forward_func def get_module_names(model: ModelMixin) -> list: @@ -203,5 +204,7 @@ def apply_options_to_model(model, dtype: torch.dtype = None, dequantize_fp32: bo elif module.svd_down.is_contiguous(): module.svd_down.data = module.svd_down.t_().contiguous().t_() module.sdnq_dequantizer.use_quantized_matmul = use_quantized_matmul + module.forward = get_forward_func(module.__class__.__name__, use_quantized_matmul, dtype_dict[module.sdnq_dequantizer.weights_dtype]["is_integer"], use_tensorwise_fp8_matmul) + module.forward = module.forward.__get__(module, module.__class__) module = apply_options_to_model(module, dtype=dtype, dequantize_fp32=dequantize_fp32, use_quantized_matmul=use_quantized_matmul) return model From 0b346ec1ce5aaeaeb5f2643c8be5dc61ffad8ffc Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 19 Oct 2025 14:11:37 -0400 Subject: [PATCH 009/137] add base and max shift parameters for flow-matching samplers Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 2 ++ modules/sd_samplers_diffusers.py | 24 ++++++++++++++---------- modules/shared.py | 2 ++ modules/ui_sections.py | 19 ++++++++++++------- scripts/xyz/xyz_grid_classes.py | 24 ++++++++++++++++-------- 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7deb6069f..02024ff1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ - switch to `rocm==7.0` for nightlies - **Quantization** - improved SDNQ SVD and low-bit matmul performance +- **Other** + - **scheduler** add base and max shift parameters for flow-matching samplers - **Fixes** - startup error with `--profile` enabled if using `--skip` diff --git a/modules/sd_samplers_diffusers.py b/modules/sd_samplers_diffusers.py index 6f06eceaa..42cb26326 100644 --- a/modules/sd_samplers_diffusers.py +++ b/modules/sd_samplers_diffusers.py @@ -70,7 +70,7 @@ config = { 'Euler a': { 'steps_offset': 0, 'rescale_betas_zero_snr': False, 'timestep_spacing': 'linspace' }, 'Euler SGM': { 'steps_offset': 0, 'interpolation_type': "linear", 'rescale_betas_zero_snr': False, 'final_sigmas_type': 'zero', 'timestep_spacing': 'trailing', 'use_beta_sigmas': False, 'use_exponential_sigmas': False, 'use_karras_sigmas': False, 'prediction_type': "sample" }, 'Euler EDM': { 'sigma_schedule': "karras" }, - 'Euler FlowMatch': { 'timestep_spacing': "linspace", 'shift': 1, 'use_dynamic_shifting': False, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_beta_sigmas': False }, + 'Euler FlowMatch': { 'timestep_spacing': "linspace", 'shift': 1, 'use_dynamic_shifting': False, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_beta_sigmas': False, 'base_shift': 0.5, 'max_shift': 1.15 }, 'DPM++': { 'thresholding': False, 'sample_max_value': 1.0, 'algorithm_type': "dpmsolver++", 'solver_type': "midpoint", 'lower_order_final': True, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_flow_sigmas': False, 'use_beta_sigmas': False, 'use_lu_lambdas': False, 'final_sigmas_type': 'zero', 'timestep_spacing': 'linspace', 'solver_order': 1 }, 'DPM++ 2M': { 'thresholding': False, 'sample_max_value': 1.0, 'algorithm_type': "dpmsolver++", 'solver_type': "midpoint", 'lower_order_final': True, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_flow_sigmas': False, 'use_beta_sigmas': False, 'use_lu_lambdas': False, 'final_sigmas_type': 'zero', 'timestep_spacing': 'linspace', 'solver_order': 2 }, @@ -87,17 +87,17 @@ config = { 'DPM++ 3M Inverse': { 'thresholding': False, 'sample_max_value': 1.0, 'algorithm_type': "dpmsolver++", 'solver_type': "midpoint", 'lower_order_final': True, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_flow_sigmas': False, 'use_beta_sigmas': False, 'use_lu_lambdas': False, 'final_sigmas_type': 'zero', 'timestep_spacing': 'linspace', 'solver_order': 3 }, 'UniPC FlowMatch': { 'predict_x0': True, 'sample_max_value': 1.0, 'solver_order': 2, 'solver_type': 'bh2', 'thresholding': False, 'use_beta_sigmas': False, 'use_exponential_sigmas': False, 'use_flow_sigmas': False, 'use_karras_sigmas': False, 'lower_order_final': True, 'timestep_spacing': 'linspace', 'final_sigmas_type': 'zero', 'rescale_betas_zero_snr': False }, - 'DPM2 FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver2', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012 }, - 'DPM2a FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver2A', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012 }, - 'DPM2++ 2M FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++2M', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012 }, - 'DPM2++ 2S FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++2S', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012 }, - 'DPM2++ SDE FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++sde', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012 }, - 'DPM2++ 2M SDE FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++2Msde', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012 }, - 'DPM2++ 3M SDE FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 3, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++3Msde', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012 }, + 'DPM2 FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver2', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012, 'base_shift': 0.5, 'max_shift': 1.15 }, + 'DPM2a FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver2A', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012, 'base_shift': 0.5, 'max_shift': 1.15 }, + 'DPM2++ 2M FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++2M', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012, 'base_shift': 0.5, 'max_shift': 1.15 }, + 'DPM2++ 2S FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++2S', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012, 'base_shift': 0.5, 'max_shift': 1.15 }, + 'DPM2++ SDE FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++sde', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012, 'base_shift': 0.5, 'max_shift': 1.15 }, + 'DPM2++ 2M SDE FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 2, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++2Msde', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012, 'base_shift': 0.5, 'max_shift': 1.15 }, + 'DPM2++ 3M SDE FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'solver_order': 3, 'sigma_schedule': None, 'use_beta_sigmas': False, 'algorithm_type': 'dpmsolver++3Msde', 'use_noise_sampler': True, 'beta_start': 0.00085, 'beta_end': 0.012, 'base_shift': 0.5, 'max_shift': 1.15 }, 'Heun': { 'use_beta_sigmas': False, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'timestep_spacing': 'linspace' }, 'Heun FlowMatch': { 'timestep_spacing': "linspace", 'shift': 1 }, - 'LCM FlowMatch': { 'beta_start': 0.00085, 'beta_end': 0.012, 'beta_schedule': "scaled_linear", 'set_alpha_to_one': True, 'rescale_betas_zero_snr': False, 'thresholding': False, 'timestep_spacing': 'linspace' }, + 'LCM FlowMatch': { 'beta_start': 0.00085, 'beta_end': 0.012, 'beta_schedule': "scaled_linear", 'set_alpha_to_one': True, 'rescale_betas_zero_snr': False, 'thresholding': False, 'timestep_spacing': 'linspace', 'base_shift': 0.5, 'max_shift': 1.15 }, 'DEIS': { 'solver_order': 2, 'thresholding': False, 'sample_max_value': 1.0, 'algorithm_type': "deis", 'solver_type': "logrho", 'lower_order_final': True, 'timestep_spacing': 'linspace', 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_flow_sigmas': False, 'use_beta_sigmas': False }, 'SA Solver': {'predictor_order': 2, 'corrector_order': 2, 'thresholding': False, 'lower_order_final': True, 'use_karras_sigmas': False, 'use_flow_sigmas': False, 'use_exponential_sigmas': False, 'use_beta_sigmas': False, 'timestep_spacing': 'linspace'}, @@ -105,7 +105,7 @@ config = { 'VDM Solver': { 'clip_sample_range': 2.0, }, 'TCD': { 'set_alpha_to_one': True, 'rescale_betas_zero_snr': False, 'beta_schedule': 'scaled_linear' }, 'TDD': { }, - 'Flash FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_beta_sigmas': False }, + 'Flash FlowMatch': { 'shift': 1, 'use_dynamic_shifting': False, 'use_karras_sigmas': False, 'use_exponential_sigmas': False, 'use_beta_sigmas': False, 'base_shift': 0.5, 'max_shift': 1.15 }, 'PeRFlow': { 'prediction_type': 'ddim_eps' }, 'UFOGen': { }, 'BDIA DDIM': { 'clip_sample': False, 'set_alpha_to_one': True, 'steps_offset': 0, 'clip_sample_range': 1.0, 'sample_max_value': 1.0, 'timestep_spacing': 'leading', 'rescale_betas_zero_snr': False, 'thresholding': False, 'gamma': 1.0 }, @@ -264,6 +264,10 @@ class DiffusionSampler: self.config['flow_shift'] = shared.opts.schedulers_shift if shared.opts.schedulers_shift > 0 else 3 if 'use_dynamic_shifting' in self.config: self.config['use_dynamic_shifting'] = True if shared.opts.schedulers_shift == 0 else shared.opts.schedulers_dynamic_shift + if 'base_shift' in self.config: + self.config['base_shift'] = shared.opts.schedulers_base_shift + if 'max_shift' in self.config: + self.config['max_shift'] = shared.opts.schedulers_max_shift if 'use_beta_sigmas' in self.config and 'sigma_schedule' in self.config: self.config['use_beta_sigmas'] = 'StableDiffusion3' in model.__class__.__name__ if 'rescale_betas_zero_snr' in self.config: diff --git a/modules/shared.py b/modules/shared.py index 915647fa3..525b7df6f 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -778,6 +778,8 @@ options_templates.update(options_section(('hidden_options', "Hidden options"), { 'schedulers_sigma_adjust': OptionInfo(1.0, "Sigma adjust", gr.Slider, {"minimum": 0.5, "maximum": 1.5, "step": 0.01, "visible": False}), 'schedulers_sigma_adjust_min': OptionInfo(0.2, "Sigma adjust start", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.01, "visible": False}), 'schedulers_sigma_adjust_max': OptionInfo(0.8, "Sigma adjust end", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.01, "visible": False}), + 'schedulers_base_shift': OptionInfo(0.5, "Sampler base shift", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.01, "visible": False}), + 'schedulers_max_shift': OptionInfo(1.15, "Sampler max shift", gr.Slider, {"minimum": 0.0, "maximum": 4.0, "step": 0.01, "visible": False}), 'uni_pc_variant': OptionInfo("bh2", "UniPC variant", gr.Radio, {"choices": ["bh1", "bh2", "vary_coeff"], "visible": False}), 'uni_pc_skip_type': OptionInfo("time_uniform", "UniPC skip type", gr.Radio, {"choices": ["time_uniform", "time_quadratic", "logSNR"], "visible": False}), })) diff --git a/modules/ui_sections.py b/modules/ui_sections.py index 683681cd5..b9f27781e 100644 --- a/modules/ui_sections.py +++ b/modules/ui_sections.py @@ -232,12 +232,14 @@ def create_sampler_options(tabname): shared.opts.schedulers_beta_schedule = sampler_beta shared.opts.save(shared.config_filename, silent=True) - def set_sampler_shift(sampler_shift): - shared.log.debug(f'Sampler set options: shift={sampler_shift}') + def set_sampler_shift(sampler_shift, sampler_base_shift, sampler_max_shift): + shared.log.debug(f'Sampler set options: shift={sampler_shift} base={sampler_base_shift} max={sampler_max_shift}') shared.opts.schedulers_shift = sampler_shift + shared.opts.schedulers_base_shift = sampler_base_shift + shared.opts.schedulers_max_shift = sampler_max_shift shared.opts.save(shared.config_filename, silent=True) - def set_sigma_ajust(val, start, end): + def set_sigma_adjust(val, start, end): shared.log.debug(f'Sampler set options: sigma={val} min={start} max={end}') shared.opts.schedulers_sigma_adjust = val shared.opts.schedulers_sigma_adjust_min = start @@ -267,7 +269,10 @@ def create_sampler_options(tabname): sampler_sigma_adjust_max = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, label='Adjust end', value=shared.opts.schedulers_sigma_adjust_max, elem_id=f"{tabname}_sampler_sigma_adjust_max") with gr.Row(elem_classes=['flex-break']): sampler_order = gr.Slider(minimum=0, maximum=5, step=1, label="Sampler order", value=shared.opts.schedulers_solver_order, elem_id=f"{tabname}_sampler_order") + with gr.Row(elem_classes=['flex-break']): sampler_shift = gr.Slider(minimum=0, maximum=10, step=0.1, label="Flow shift", value=shared.opts.schedulers_shift, elem_id=f"{tabname}_sampler_shift") + sampler_base_shift = gr.Slider(minimum=0, maximum=10, step=0.01, label="Base shift", value=shared.opts.schedulers_base_shift, elem_id=f"{tabname}_sampler_base_shift") + sampler_max_shift = gr.Slider(minimum=0, maximum=10, step=0.01, label="Max shift", value=shared.opts.schedulers_max_shift, elem_id=f"{tabname}_sampler_max_shift") with gr.Row(elem_classes=['flex-break']): options = ['low order', 'thresholding', 'dynamic', 'rescale'] values = [] @@ -284,11 +289,11 @@ def create_sampler_options(tabname): sampler_beta.change(fn=set_sampler_beta, inputs=[sampler_beta], outputs=[]) sampler_prediction.change(fn=set_sampler_prediction, inputs=[sampler_prediction], outputs=[]) sampler_order.change(fn=set_sampler_order, inputs=[sampler_order], outputs=[]) - sampler_shift.change(fn=set_sampler_shift, inputs=[sampler_shift], outputs=[]) + sampler_shift.change(fn=set_sampler_shift, inputs=[sampler_shift, sampler_base_shift, sampler_max_shift], outputs=[]) sampler_options.change(fn=set_sampler_options, inputs=[sampler_options], outputs=[]) - sampler_sigma_adjust_val.change(fn=set_sigma_ajust, inputs=[sampler_sigma_adjust_val, sampler_sigma_adjust_min, sampler_sigma_adjust_max], outputs=[]) - sampler_sigma_adjust_min.change(fn=set_sigma_ajust, inputs=[sampler_sigma_adjust_val, sampler_sigma_adjust_min, sampler_sigma_adjust_max], outputs=[]) - sampler_sigma_adjust_max.change(fn=set_sigma_ajust, inputs=[sampler_sigma_adjust_val, sampler_sigma_adjust_min, sampler_sigma_adjust_max], outputs=[]) + sampler_sigma_adjust_val.change(fn=set_sigma_adjust, inputs=[sampler_sigma_adjust_val, sampler_sigma_adjust_min, sampler_sigma_adjust_max], outputs=[]) + sampler_sigma_adjust_min.change(fn=set_sigma_adjust, inputs=[sampler_sigma_adjust_val, sampler_sigma_adjust_min, sampler_sigma_adjust_max], outputs=[]) + sampler_sigma_adjust_max.change(fn=set_sigma_adjust, inputs=[sampler_sigma_adjust_val, sampler_sigma_adjust_min, sampler_sigma_adjust_max], outputs=[]) def create_hires_inputs(tab): diff --git a/scripts/xyz/xyz_grid_classes.py b/scripts/xyz/xyz_grid_classes.py index 43dc9b2a3..baab407a1 100644 --- a/scripts/xyz/xyz_grid_classes.py +++ b/scripts/xyz/xyz_grid_classes.py @@ -85,6 +85,8 @@ class SharedSettingsStackHelper(): schedulers_beta_end = None schedulers_shift = None schedulers_sigma = None + schedulers_base_shift = None + schedulers_max_shift = None schedulers_timestep_spacing = None schedulers_timesteps_range = None schedulers_beta_schedule = None @@ -114,6 +116,8 @@ class SharedSettingsStackHelper(): self.schedulers_beta_end = shared.opts.schedulers_beta_end self.schedulers_shift = shared.opts.schedulers_shift self.scheduler_eta = shared.opts.scheduler_eta + self.schedulers_base_shift = shared.opts.schedulers_base_shift + self.schedulers_max_shift = shared.opts.schedulers_max_shift self.eta_noise_seed_delta = shared.opts.eta_noise_seed_delta self.tome_ratio = shared.opts.tome_ratio self.todo_ratio = shared.opts.todo_ratio @@ -150,6 +154,8 @@ class SharedSettingsStackHelper(): shared.opts.data["schedulers_beta_start"] = self.schedulers_beta_start shared.opts.data["schedulers_beta_end"] = self.schedulers_beta_end shared.opts.data["schedulers_shift"] = self.schedulers_shift + shared.opts.data["schedulers_base_shift"] = self.schedulers_base_shift + shared.opts.data["schedulers_max_shift"] = self.schedulers_max_shift shared.opts.data["scheduler_eta"] = self.scheduler_eta shared.opts.data["eta_noise_seed_delta"] = self.eta_noise_seed_delta shared.opts.data["cfgzero_enabled"] = self.cfgzero_enabled @@ -219,14 +225,16 @@ axis_options = [ AxisOption("[Sampler] Beta schedule", str, apply_setting("schedulers_beta_schedule"), choices=lambda: ['default', 'linear', 'scaled', 'cosine']), AxisOption("[Sampler] Beta start", float, apply_setting("schedulers_beta_start")), AxisOption("[Sampler] Beta end", float, apply_setting("schedulers_beta_end")), - AxisOption("[Sampler] Shift", float, apply_setting("schedulers_shift")), - AxisOption("[Sampler] eta delta", float, apply_setting("eta_noise_seed_delta")), - AxisOption("[Sampler] eta multiplier", float, apply_setting("scheduler_eta")), - AxisOption("[Guidance] scale", float, apply_field("cfg_scale")), - AxisOption("[Guidance] end", float, apply_field("cfg_end")), - AxisOption("[Guidance] image scale", float, apply_field("image_cfg_scale")), - AxisOption("[Guidance] rescale", float, apply_field("diffusers_guidance_rescale")), - AxisOption("[Guidance] modular name", str, apply_guidance, choices=lambda: ['Default', 'CFG', 'Auto', 'Zero', 'PAG', 'APG', 'SLG', 'SEG', 'TCFG', 'FDG']), + AxisOption("[Sampler] Flow shift", float, apply_setting("schedulers_shift")), + AxisOption("[Sampler] Base shift", float, apply_setting("schedulers_base_shift")), + AxisOption("[Sampler] Max shift", float, apply_setting("schedulers_max_shift")), + AxisOption("[Sampler] ETA delta", float, apply_setting("eta_noise_seed_delta")), + AxisOption("[Sampler] ETA multiplier", float, apply_setting("scheduler_eta")), + AxisOption("[Guidance] Scale", float, apply_field("cfg_scale")), + AxisOption("[Guidance] End", float, apply_field("cfg_end")), + AxisOption("[Guidance] Image scale", float, apply_field("image_cfg_scale")), + AxisOption("[Guidance] Rescale", float, apply_field("diffusers_guidance_rescale")), + AxisOption("[Guidance] Modular name", str, apply_guidance, choices=lambda: ['Default', 'CFG', 'Auto', 'Zero', 'PAG', 'APG', 'SLG', 'SEG', 'TCFG', 'FDG']), AxisOption("[Refine] Upscaler", str, apply_field("hr_upscaler"), cost=0.3, choices=lambda: [x.name for x in shared.sd_upscalers]), AxisOption("[Refine] Sampler", str, apply_hr_sampler_name, fmt=format_value_add_label, confirm=confirm_samplers, choices=lambda: [x.name for x in sd_samplers.samplers]), AxisOption("[Refine] Denoising strength", float, apply_field("denoising_strength")), From b24fe3ac571aa0873337d6b2e33274d660c8981c Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 19 Oct 2025 21:40:13 +0100 Subject: [PATCH 010/137] update locale for dynamic flow hints fix breaks in hint text --- html/locale_en.json | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/html/locale_en.json b/html/locale_en.json index 42d81e431..814de8bb9 100644 --- a/html/locale_en.json +++ b/html/locale_en.json @@ -197,13 +197,16 @@ {"id":"","label":"Init Image Same As Control","localized":"","reload":"","hint":"Will additionally treat any image placed into the Control input window as a source for img2img type tasks, an image to modify for example."}, {"id":"","label":"Separate Init Image","localized":"","reload":"","hint":"Creates an additional window next to Control input labeled Init input, so you can have a separate image for both Control operations and an init source."}, {"id":"","label":"Override settings","localized":"","reload":"","hint":"If generation parameters deviate from your system settings override settings populated with those settings to override your system configuration for this workflow"}, - {"id":"","label":"sigma method","localized":"","reload":"","hint":"Controls how noise levels (sigmas) are distributed across diffusion steps. Options:\n- default: the model default\n- karras: smoother noise schedule, higher quality with fewer steps\n- beta: based on beta schedule values\n- exponential: exponential decay of noise\n- lambdas: experimental, balances signal-to-noise\n- flowmatch: tuned for flow-matching models"}, - {"id":"","label":"timestep spacing","localized":"","reload":"","hint":"Determines how timesteps are spaced across the diffusion process. Options:\n- default: the model default\n- leading: creates evenly spaced steps\n- linspace: includes the first and last steps and evenly selects the remaining intermediate steps\n- trailing: only includes the last step and evenly selects the remaining intermediate steps starting from the end"}, - {"id":"","label":"beta schedule","localized":"","reload":"","hint":"Defines how beta (noise strength per step) grows. Options:\n- default: the model default\n- linear: evenly decays noise per step\n- scaled: squared version of linear, used only by Stable Diffusion\n- cosine: smoother decay, often better results with fewer steps\n- sigmoid: sharp transition, experimental"}, - {"id":"","label":"prediction method","localized":"","reload":"","hint":"Defines what the model predicts at each step. Options:\n- default: the model default\n- epsilon: noise (most common for Stable Diffusion)\n- sample: direct denoised image prediction, also called as x0 prediction\n- v_prediction: velocity prediction, used by CosXL and NoobAI VPred models\n- flow_prediction: used with newer flow-matching models like SD3 and Flux"}, + {"id":"","label":"sigma method","localized":"","reload":"","hint":"Controls how noise levels (sigmas) are distributed across diffusion steps. Options:
- default: the model default
- karras: smoother noise schedule, higher quality with fewer steps
- beta: based on beta schedule values
- exponential: exponential decay of noise
- lambdas: experimental, balances signal-to-noise
- flowmatch: tuned for flow-matching models"}, + {"id":"","label":"timestep spacing","localized":"","reload":"","hint":"Determines how timesteps are spaced across the diffusion process. Options:
- default: the model default
- leading: creates evenly spaced steps
- linspace: includes the first and last steps and evenly selects the remaining intermediate steps
- trailing: only includes the last step and evenly selects the remaining intermediate steps starting from the end"}, + {"id":"","label":"beta schedule","localized":"","reload":"","hint":"Defines how beta (noise strength per step) grows. Options:
- default: the model default
- linear: evenly decays noise per step
- scaled: squared version of linear, used only by Stable Diffusion
- cosine: smoother decay, often better results with fewer steps
- sigmoid: sharp transition, experimental"}, + {"id":"","label":"prediction method","localized":"","reload":"","hint":"Defines what the model predicts at each step. Options:
- default: the model default
- epsilon: noise (most common for Stable Diffusion)
- sample: direct denoised image prediction, also called as x0 prediction
- v_prediction: velocity prediction, used by CosXL and NoobAI VPred models
- flow_prediction: used with newer flow-matching models like SD3 and Flux"}, {"id":"","label":"sampler order","localized":"","reload":"","hint":"Order of solver updates in the sampler. Higher order improves stability/accuracy but increases compute cost."}, - {"id":"","label":"flow shift","localized":"","reload":"","hint":"Adjustment for flow-based samplers. Shifts noise distribution during generation, useful for fine-tuning balance between detail and consistency."}, - {"id":"","label":"resize mode","localized":"","reload":"","hint":"Defines how the input is resized or adapted in second-pass refinement:\n- none: no resizing, keep original resolution\n- fixed: force resize to target resolution (may distort)\n- crop: center-crop to fit target while keeping aspect ratio\n- fill: resize to fit and pad empty space with borders\n- outpaint: extend canvas beyond image borders\n- context aware: smart resize that blends or adapts surrounding areas"} + {"id":"","label":"flow shift","localized":"","reload":"","hint":"Shift value for flowmatching models. Controls thedistribution of denoising steps.

Values:
- >1.0: allocate more steps to early denoising (better structure)
-<1.0: allocate more steps to late denoising (better fine details)
- 1.0: balanced schedule

Most flowmatchingmodels use the value of 3 as default. Effectively inactive if dynamic shift is enabled."}, + {"id":"","label":"dynamic","localized":"","reload":"","hint":"Dynamic shifting automatically adjuststhe denoising schedule based on your image resolution.

The scheduler interpolates between base_shift andmax_shift based on actual image resolution.

Enabling disables static Flow shift."}, + {"id":"","label":"base shift","localized":"","reload":"","hint":"Minimum shift value for low resolutions when using dynamic shifting."}, + {"id":"","label":"max shift","localized":"","reload":"","hint":"Maximum shift value for high resolutions when using dynamic shifting."}, + {"id":"","label":"resize mode","localized":"","reload":"","hint":"Defines how the input is resized or adapted in second-pass refinement:
- none: no resizing, keep original resolution
- fixed: force resize to target resolution (may distort)
- crop: center-crop to fit target while keeping aspect ratio
- fill: resize to fit and pad empty space with borders
- outpaint: extend canvas beyond image borders
- context aware: smart resize that blends or adapts surrounding areas"} ], "other": [ {"id":"","label":"Install","localized":"","reload":"","hint":"Install"}, @@ -277,7 +280,7 @@ {"id":"","label":"Final denoising strength","localized":"","reload":"","hint":"The denoising strength for the final loop of each image in the batch"}, {"id":"","label":"Denoising strength curve","localized":"","reload":"","hint":"The denoising curve controls the rate of denoising strength change each loop. Aggressive: Most of the change will happen towards the start of the loops. Linear: Change will be constant through all loops. Lazy: Most of the change will happen towards the end of the loops"}, {"id":"","label":"Tile overlap","localized":"","reload":"","hint":"For SD upscale, how much overlap in pixels should there be between tiles. Tiles overlap so that when they are merged back into one picture, there is no clearly visible seam"}, - {"id":"","label":"ACI: Color to Mask","localized":"","reload":"","hint":"Pick the color you want to mask and inpaint. Click on the color in the image to automatically select it.\n Advised to use images like green screens to get precise results."}, + {"id":"","label":"ACI: Color to Mask","localized":"","reload":"","hint":"Pick the color you want to mask and inpaint. Click on the color in the image to automatically select it.
Advised to use images like green screens to get precise results."}, {"id":"","label":"ACI: Color Tolerance","localized":"","reload":"","hint":"Adjust the tolerance to include similar colors in the mask. Lower values = mask only very similar colors. Higher = values mask a wider range of similar colors."}, {"id":"","label":"ACI: Mask Erode","localized":"","reload":"","hint":"Adjust padding to apply a inside offset to the mask. (Recommended value = 2 to remove leftovers at edges)"}, {"id":"","label":"ACI: Mask Blur","localized":"","reload":"","hint":"Adjust blur to apply a smooth transition between image and inpainted area. (Recommended value = 0 for sharpness)"}, @@ -651,7 +654,6 @@ {"id":"","label":"dropdown","localized":"","reload":"","hint":"dropdown"}, {"id":"","label":"duration","localized":"","reload":"","hint":"duration"}, {"id":"","label":"dwpose","localized":"","reload":"","hint":"dwpose"}, - {"id":"","label":"dynamic","localized":"","reload":"","hint":"dynamic"}, {"id":"","label":"dynamic attention slicing rate in gb","localized":"","reload":"","hint":"dynamic attention slicing rate in gb"}, {"id":"","label":"dynamic attention trigger rate in gb","localized":"","reload":"","hint":"dynamic attention trigger rate in gb"}, {"id":"","label":"edge","localized":"","reload":"","hint":"edge"}, @@ -1070,7 +1072,6 @@ {"id":"","label":"same latent","localized":"","reload":"","hint":"same latent"}, {"id":"","label":"sample","localized":"","reload":"","hint":"sample"}, {"id":"","label":"sampler","localized":"","reload":"","hint":"sampler"}, - {"id":"","label":"sampler dynamic shift","localized":"","reload":"","hint":"sampler dynamic shift"}, {"id":"","label":"sampler shift","localized":"","reload":"","hint":"sampler shift"}, {"id":"","label":"sana: use complex human instructions","localized":"","reload":"","hint":"sana: use complex human instructions"}, {"id":"","label":"saturation","localized":"","reload":"","hint":"saturation"}, From c9f30511368494077efe51dab19714c05414474e Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 19 Oct 2025 22:40:33 +0100 Subject: [PATCH 011/137] Fix flow shift hint text formatting in locale_en.json --- html/locale_en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/locale_en.json b/html/locale_en.json index 814de8bb9..4ef6c8a7d 100644 --- a/html/locale_en.json +++ b/html/locale_en.json @@ -202,7 +202,7 @@ {"id":"","label":"beta schedule","localized":"","reload":"","hint":"Defines how beta (noise strength per step) grows. Options:
- default: the model default
- linear: evenly decays noise per step
- scaled: squared version of linear, used only by Stable Diffusion
- cosine: smoother decay, often better results with fewer steps
- sigmoid: sharp transition, experimental"}, {"id":"","label":"prediction method","localized":"","reload":"","hint":"Defines what the model predicts at each step. Options:
- default: the model default
- epsilon: noise (most common for Stable Diffusion)
- sample: direct denoised image prediction, also called as x0 prediction
- v_prediction: velocity prediction, used by CosXL and NoobAI VPred models
- flow_prediction: used with newer flow-matching models like SD3 and Flux"}, {"id":"","label":"sampler order","localized":"","reload":"","hint":"Order of solver updates in the sampler. Higher order improves stability/accuracy but increases compute cost."}, - {"id":"","label":"flow shift","localized":"","reload":"","hint":"Shift value for flowmatching models. Controls thedistribution of denoising steps.

Values:
- >1.0: allocate more steps to early denoising (better structure)
-<1.0: allocate more steps to late denoising (better fine details)
- 1.0: balanced schedule

Most flowmatchingmodels use the value of 3 as default. Effectively inactive if dynamic shift is enabled."}, + {"id":"","label":"flow shift","localized":"","reload":"","hint":"Shift value for flowmatching models. Controls thedistribution of denoising steps.

Values:
- >1.0: allocate more steps to early denoising (better structure)
-<1.0: allocate more steps to late denoising (better fine details)
- 1.0: balanced schedule

Most flowmatching models use the value of 3 as default. Effectively inactive if dynamic shift is enabled."}, {"id":"","label":"dynamic","localized":"","reload":"","hint":"Dynamic shifting automatically adjuststhe denoising schedule based on your image resolution.

The scheduler interpolates between base_shift andmax_shift based on actual image resolution.

Enabling disables static Flow shift."}, {"id":"","label":"base shift","localized":"","reload":"","hint":"Minimum shift value for low resolutions when using dynamic shifting."}, {"id":"","label":"max shift","localized":"","reload":"","hint":"Maximum shift value for high resolutions when using dynamic shifting."}, From 64e6219551ef7dc010b04ea3873dd87edbd726c0 Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 19 Oct 2025 22:46:06 +0100 Subject: [PATCH 012/137] update localization for icons and hints in locale_en.json --- html/locale_en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/locale_en.json b/html/locale_en.json index 4ef6c8a7d..5b8b75e5b 100644 --- a/html/locale_en.json +++ b/html/locale_en.json @@ -202,8 +202,8 @@ {"id":"","label":"beta schedule","localized":"","reload":"","hint":"Defines how beta (noise strength per step) grows. Options:
- default: the model default
- linear: evenly decays noise per step
- scaled: squared version of linear, used only by Stable Diffusion
- cosine: smoother decay, often better results with fewer steps
- sigmoid: sharp transition, experimental"}, {"id":"","label":"prediction method","localized":"","reload":"","hint":"Defines what the model predicts at each step. Options:
- default: the model default
- epsilon: noise (most common for Stable Diffusion)
- sample: direct denoised image prediction, also called as x0 prediction
- v_prediction: velocity prediction, used by CosXL and NoobAI VPred models
- flow_prediction: used with newer flow-matching models like SD3 and Flux"}, {"id":"","label":"sampler order","localized":"","reload":"","hint":"Order of solver updates in the sampler. Higher order improves stability/accuracy but increases compute cost."}, - {"id":"","label":"flow shift","localized":"","reload":"","hint":"Shift value for flowmatching models. Controls thedistribution of denoising steps.

Values:
- >1.0: allocate more steps to early denoising (better structure)
-<1.0: allocate more steps to late denoising (better fine details)
- 1.0: balanced schedule

Most flowmatching models use the value of 3 as default. Effectively inactive if dynamic shift is enabled."}, - {"id":"","label":"dynamic","localized":"","reload":"","hint":"Dynamic shifting automatically adjuststhe denoising schedule based on your image resolution.

The scheduler interpolates between base_shift andmax_shift based on actual image resolution.

Enabling disables static Flow shift."}, + {"id":"","label":"flow shift","localized":"","reload":"","hint":"Shift value for flowmatching models. Controls the distribution of denoising steps.

Values:
- >1.0: allocate more steps to early denoising (better structure)
-<1.0: allocate more steps to late denoising (better fine details)
- 1.0: balanced schedule

Most flowmatching models use the value of 3 as default. Effectively inactive if dynamic shift is enabled."}, + {"id":"","label":"dynamic","localized":"","reload":"","hint":"Dynamic shifting automatically adjusts the denoising schedule based on your image resolution.

The scheduler interpolates between base_shift and max_shift based on actual image resolution.

Enabling disables static Flow shift."}, {"id":"","label":"base shift","localized":"","reload":"","hint":"Minimum shift value for low resolutions when using dynamic shifting."}, {"id":"","label":"max shift","localized":"","reload":"","hint":"Maximum shift value for high resolutions when using dynamic shifting."}, {"id":"","label":"resize mode","localized":"","reload":"","hint":"Defines how the input is resized or adapted in second-pass refinement:
- none: no resizing, keep original resolution
- fixed: force resize to target resolution (may distort)
- crop: center-crop to fit target while keeping aspect ratio
- fill: resize to fit and pad empty space with borders
- outpaint: extend canvas beyond image borders
- context aware: smart resize that blends or adapts surrounding areas"} From 76632838bbf6f4753f9b0b04cc0702e39f62ce7b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 19 Oct 2025 21:36:49 -0400 Subject: [PATCH 013/137] restore orig init image for each batch sequence Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 2 ++ modules/processing.py | 2 ++ modules/processing_args.py | 14 +++++++------- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02024ff1e..d61b70fb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models are used as-is + *note*: must be enabled only after all packages have been installed and model has been run online at least once - **Backend** - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies @@ -14,6 +15,7 @@ - **scheduler** add base and max shift parameters for flow-matching samplers - **Fixes** - startup error with `--profile` enabled if using `--skip` + - restore orig init image for each batch sequence ## Update for 2025-10-18 diff --git a/modules/processing.py b/modules/processing.py index 5d92fe246..e1e3944bd 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -391,7 +391,9 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed: if not hasattr(p, 'skip_init'): p.init(p.all_prompts, p.all_seeds, p.all_subseeds) debug(f'Processing inner: args={vars(p)}') + p.iter_init_images = p.init_images # required so we use same starting non-processed images for each batch sequence for n in range(p.n_iter): + p.init_images = p.iter_init_images if p.n_iter > 1: shared.log.debug(f'Processing: batch={n+1} total={p.n_iter} progress={(n+1)/p.n_iter:.2f}') shared.state.batch_no = n + 1 diff --git a/modules/processing_args.py b/modules/processing_args.py index 3e28e158a..9d11ec5b9 100644 --- a/modules/processing_args.py +++ b/modules/processing_args.py @@ -123,11 +123,11 @@ def task_specific_kwargs(p, model): } # model specific args - if 'QwenImageEdit' in model_cls and (p.init_images is None or len(p.init_images) == 0): + if ('QwenImageEdit' in model_cls) and (p.init_images is None or len(p.init_images) == 0): task_args['image'] = [Image.new('RGB', (p.width, p.height), (0, 0, 0))] # monkey-patch so qwen-image-edit pipeline does not error-out on t2i - if 'QwenImageEditPlusPipeline' in model_cls and p.init_control is not None and len(p.init_control) > 0: + if ('QwenImageEditPlusPipeline' in model_cls) and (p.init_control is not None) and (len(p.init_control) > 0): task_args['image'] += p.init_control - if 'LatentConsistencyModelPipeline' in model_cls and len(p.init_images) > 0: + if ('LatentConsistencyModelPipeline' in model_cls) and (len(p.init_images) > 0): p.ops.append('lcm') init_latents = [processing_vae.vae_encode(image, model=shared.sd_model, vae_type=p.vae_type).squeeze(dim=0) for image in p.init_images] init_latent = torch.stack(init_latents, dim=0).to(shared.device) @@ -138,6 +138,10 @@ def task_specific_kwargs(p, model): 'width': p.width, 'height': p.height, } + if ('WanImageToVideoPipeline' in model_cls) and (p.init_images is not None) and (len(p.init_images) > 0): + task_args['image'] = p.init_images[0] + if ('WanVACEPipeline' in model_cls) and (p.init_images is not None) and (len(p.init_images) > 0): + task_args['reference_images'] = p.init_images if 'BlipDiffusionPipeline' in model_cls: if len(p.init_images) == 0: shared.log.error('BLiP diffusion requires init image') @@ -148,10 +152,6 @@ def task_specific_kwargs(p, model): 'target_subject_category': getattr(p, 'prompt', '').split()[-1], 'output_type': 'pil', } - if ('WanImageToVideoPipeline' in model_cls) and (p.init_images is not None) and (len(p.init_images) > 0): - task_args['image'] = p.init_images[0] - if ('WanVACEPipeline' in model_cls) and (p.init_images is not None) and (len(p.init_images) > 0): - task_args['reference_images'] = p.init_images if debug_enabled: debug_log(f'Process task specific args: {task_args}') From 4ecdf7bdcfad90fe8d95a5e6863964b9321667b0 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 21 Oct 2025 10:42:21 -0400 Subject: [PATCH 014/137] fix wan22 stage selection Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 4 +++- extensions-builtin/sdnext-modernui | 2 +- modules/video_models/video_overrides.py | 4 ++-- modules/video_models/video_run.py | 2 +- pipelines/model_wanai.py | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d61b70fb8..838d66eab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log for SD.Next -## Update for 2025-10-19 +## Update for 2025-10-21 - **Features** - **offline mode**: enable in *settings -> hugginface* @@ -16,6 +16,8 @@ - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence + - fix modernui hints layout + - fix `wan-2.2-a14b` stage selection ## Update for 2025-10-18 diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui index 8f6427aa0..80d1030c6 160000 --- a/extensions-builtin/sdnext-modernui +++ b/extensions-builtin/sdnext-modernui @@ -1 +1 @@ -Subproject commit 8f6427aa037b654ae664a0197c794e48fdbbc648 +Subproject commit 80d1030c6bf161c301bed7ec14ba43eabe8c69bb diff --git a/modules/video_models/video_overrides.py b/modules/video_models/video_overrides.py index 856da62e6..055a92ca8 100644 --- a/modules/video_models/video_overrides.py +++ b/modules/video_models/video_overrides.py @@ -19,14 +19,14 @@ def load_override(selected: Model): # WAN if 'WAN 2.1 14B' in selected.name: kwargs['vae'] = diffusers.AutoencoderKLWan.from_pretrained(selected.repo, subfolder="vae", torch_dtype=torch.float32, cache_dir=shared.opts.hfcache_dir) - if 'A14B' in selected.name or '14B VACE' in selected.name: + if ('A14B' in selected.name) or ('14B VACE' in selected.name): if shared.opts.model_wan_stage == 'combined': kwargs['boundary_ratio'] = shared.opts.model_wan_boundary elif shared.opts.model_wan_stage == 'high noise': kwargs['transformer_2'] = None kwargs['boundary_ratio'] = 0.0 elif shared.opts.model_wan_stage == 'low noise': - kwargs['boundary_ratio'] = 1.0 + kwargs['boundary_ratio'] = 1000.0 kwargs['transformer'] = None debug(f'Video overrides: model="{selected.name}" kwargs={list(kwargs)}') return kwargs diff --git a/modules/video_models/video_run.py b/modules/video_models/video_run.py index 57d3fbc23..2a2f1ab39 100644 --- a/modules/video_models/video_run.py +++ b/modules/video_models/video_run.py @@ -103,7 +103,7 @@ def generate(*args, **kwargs): if hasattr(shared.sd_model.scheduler.config, 'use_dynamic_shifting'): shared.sd_model.scheduler.config.use_dynamic_shifting = dynamic_shift shared.sd_model.scheduler.register_to_config(use_dynamic_shifting = dynamic_shift) - if hasattr(shared.sd_model.scheduler.config, 'flow_shift'): + if hasattr(shared.sd_model.scheduler.config, 'flow_shift') and sampler_shift >= 0: shared.sd_model.scheduler.config.flow_shift = sampler_shift shared.sd_model.scheduler.register_to_config(flow_shift = sampler_shift) shared.sd_model.default_scheduler = copy.deepcopy(shared.sd_model.scheduler) diff --git a/pipelines/model_wanai.py b/pipelines/model_wanai.py index 6a9f844d5..fd6839584 100644 --- a/pipelines/model_wanai.py +++ b/pipelines/model_wanai.py @@ -74,7 +74,7 @@ def load_wan(checkpoint_info, diffusers_load_config={}): elif shared.opts.model_wan_stage == 'low noise' or shared.opts.model_wan_stage == 'second': transformer = None transformer_2 = load_transformer(repo_id, diffusers_load_config, 'transformer_2') - boundary_ratio = 1.0 + boundary_ratio = 1000.0 elif shared.opts.model_wan_stage == 'combined' or shared.opts.model_wan_stage == 'both': transformer = load_transformer(repo_id, diffusers_load_config, 'transformer') transformer_2 = load_transformer(repo_id, diffusers_load_config, 'transformer_2') From f7d4ffe2f26d2d178771affa9e3d8f3db20797c9 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 21 Oct 2025 10:52:00 -0400 Subject: [PATCH 015/137] fix wan22-5b vae decode Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + installer.py | 2 +- modules/video_models/video_load.py | 2 ++ modules/video_models/video_overrides.py | 4 ++++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 838d66eab..d489ff6e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - restore orig init image for each batch sequence - fix modernui hints layout - fix `wan-2.2-a14b` stage selection + - fix `wan-2.2-5b` vae decode ## Update for 2025-10-18 diff --git a/installer.py b/installer.py index f9a2954b2..7520cb9af 100644 --- a/installer.py +++ b/installer.py @@ -608,7 +608,7 @@ def check_diffusers(): if args.skip_git: install('diffusers') return - sha = '23ebbb4bc81a17ebea17cb7cb94f301199e49a7f' # diffusers commit hash + sha = 'b3e56e71fb7c73601851bb83e7583f113f563d26' # diffusers commit hash # if args.use_rocm or args.use_zluda or args.use_directml: # sha = '043ab2520f6a19fce78e6e060a68dbc947edb9f9' # lock diffusers versions for now pkg = pkg_resources.working_set.by_key.get('diffusers', None) diff --git a/modules/video_models/video_load.py b/modules/video_models/video_load.py index 43da69265..999c0c590 100644 --- a/modules/video_models/video_load.py +++ b/modules/video_models/video_load.py @@ -11,6 +11,8 @@ def load_model(selected: models_def.Model): if selected is None or selected.te_cls is None or selected.dit_cls is None: return '' global loaded_model # pylint: disable=global-statement + if not shared.sd_loaded: + loaded_model = None if loaded_model == selected.name: return '' sd_models.unload_model_weights() diff --git a/modules/video_models/video_overrides.py b/modules/video_models/video_overrides.py index 055a92ca8..2a93adbf2 100644 --- a/modules/video_models/video_overrides.py +++ b/modules/video_models/video_overrides.py @@ -61,3 +61,7 @@ def set_overrides(p: processing.StableDiffusionProcessingVideo, selected: Model) if 'WanVACEPipeline' in cls: if (getattr(p, 'init_images', None) is not None) and (len(p.init_images) > 0): p.task_args['reference_images'] = p.init_images + # WAN 2.2-5B + if 'WAN 2.2 5B' in selected.name: + print('HERE') + shared.sd_model.vae.disable_tiling() From d23001b7e20a4862fa802c45b4542698b1960a0b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 21 Oct 2025 10:52:11 -0400 Subject: [PATCH 016/137] cleanup Signed-off-by: Vladimir Mandic --- modules/video_models/video_overrides.py | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/video_models/video_overrides.py b/modules/video_models/video_overrides.py index 2a93adbf2..a6c9c01ed 100644 --- a/modules/video_models/video_overrides.py +++ b/modules/video_models/video_overrides.py @@ -63,5 +63,4 @@ def set_overrides(p: processing.StableDiffusionProcessingVideo, selected: Model) p.task_args['reference_images'] = p.init_images # WAN 2.2-5B if 'WAN 2.2 5B' in selected.name: - print('HERE') shared.sd_model.vae.disable_tiling() From f69b4c5589f18fb473017a42aa49370bb49dbb5e Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 21 Oct 2025 11:07:47 -0400 Subject: [PATCH 017/137] disabling live preview should not disable progress updates Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + javascript/progressBar.js | 2 +- modules/progress.py | 4 ++-- modules/sd_samplers_common.py | 2 +- modules/shared.py | 2 +- modules/shared_state.py | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d489ff6e0..d68c72dac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - fix modernui hints layout - fix `wan-2.2-a14b` stage selection - fix `wan-2.2-5b` vae decode + - disabling live preview should not disable progress updates ## Update for 2025-10-18 diff --git a/javascript/progressBar.js b/javascript/progressBar.js index 5c148836b..5062517e0 100644 --- a/javascript/progressBar.js +++ b/javascript/progressBar.js @@ -132,7 +132,7 @@ function requestProgress(id_task, progressEl, galleryEl, atEnd = null, onProgres }; const start = (id_task, id_live_preview) => { // eslint-disable-line no-shadow - if (!opts.live_previews_enable || opts.live_preview_refresh_period === 0 || opts.show_progress_every_n_steps === 0) return; + if (opts.live_preview_refresh_period === 0) return; const request_id = document.hidden ? -1 : id_live_preview; const onProgressHandler = (res) => { diff --git a/modules/progress.py b/modules/progress.py index 3203995e5..f0fe52877 100644 --- a/modules/progress.py +++ b/modules/progress.py @@ -92,9 +92,9 @@ def api_progress(req: ProgressRequest): id_live_preview = -1 textinfo = "Queued..." if queued else "Waiting..." - debug_log(f'Preview: job={shared.state.job} active={active} progress={step}/{steps}/{progress} image={shared.state.current_image_sampling_step} request={id_live_preview} last={shared.state.id_live_preview} enabled={shared.opts.live_previews_enable} job={shared.state.preview_job} elapsed={elapsed:.3f}') + debug_log(f'Preview: job={shared.state.job} active={active} progress={step}/{steps}/{progress} image={shared.state.current_image_sampling_step} request={id_live_preview} last={shared.state.id_live_preview} job={shared.state.preview_job} elapsed={elapsed:.3f}') - if shared.opts.live_previews_enable and active and (req.id_live_preview != -1): + if active and (req.id_live_preview != -1): have_image = shared.state.set_current_image() if have_image and shared.state.current_image is not None: buffered = io.BytesIO() diff --git a/modules/sd_samplers_common.py b/modules/sd_samplers_common.py index 09a06352a..a45f238d3 100644 --- a/modules/sd_samplers_common.py +++ b/modules/sd_samplers_common.py @@ -124,7 +124,7 @@ def images_tensor_to_samples(image, approximation=None, model=None): def store_latent(decoded): shared.state.current_latent = decoded - if shared.opts.live_previews_enable and shared.opts.show_progress_every_n_steps > 0 and shared.state.sampling_step % shared.opts.show_progress_every_n_steps == 0: + if shared.opts.show_progress_every_n_steps > 0 and shared.state.sampling_step % shared.opts.show_progress_every_n_steps == 0: if not shared.parallel_processing_allowed: image = sample_to_image(decoded) shared.state.assign_current_image(image) diff --git a/modules/shared.py b/modules/shared.py index 525b7df6f..8a5b7510a 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -591,7 +591,7 @@ options_templates.update(options_section(('ui', "User Interface"), { })) options_templates.update(options_section(('live-preview', "Live Previews"), { - "show_progress_every_n_steps": OptionInfo(1, "Live preview display period", gr.Slider, {"minimum": 0, "maximum": 32, "step": 1}), + "show_progress_every_n_steps": OptionInfo(1, "Live preview display period", gr.Slider, {"minimum": 0, "maximum": 20, "step": 1}), "show_progress_type": OptionInfo("TAESD", "Live preview method", gr.Radio, {"choices": ["Simple", "Approximate", "TAESD", "Full VAE"]}), "live_preview_refresh_period": OptionInfo(500, "Progress update period", gr.Slider, {"minimum": 0, "maximum": 5000, "step": 25}), "taesd_variant": OptionInfo(shared_items.sd_taesd_items()[0], "TAESD variant", gr.Dropdown, {"choices": shared_items.sd_taesd_items()}), diff --git a/modules/shared_state.py b/modules/shared_state.py index f575f4482..ebc412265 100644 --- a/modules/shared_state.py +++ b/modules/shared_state.py @@ -260,7 +260,7 @@ class State: if self.job == 'VAE' or self.job == 'Upscale': # avoid generating preview while vae is running return False from modules.shared import opts, cmd_opts - if cmd_opts.lowvram or self.api or (not opts.live_previews_enable) or (opts.show_progress_every_n_steps <= 0): + if cmd_opts.lowvram or self.api or (opts.show_progress_every_n_steps <= 0): return False if (not self.disable_preview) and (abs(self.sampling_step - self.current_image_sampling_step) >= opts.show_progress_every_n_steps): return self.do_set_current_image() From b71afb1c866a50eb7e6981fa2a6ea14942dde308 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 21 Oct 2025 11:31:12 -0400 Subject: [PATCH 018/137] update optional packages Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + installer.py | 27 ++++++++++++++++----------- modules/civitai/search_civitai.py | 2 +- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d68c72dac..c60c6f3da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - improved SDNQ SVD and low-bit matmul performance - **Other** - **scheduler** add base and max shift parameters for flow-matching samplers + - enhance `--optional` flag to pre-install optional packages - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence diff --git a/installer.py b/installer.py index 7520cb9af..ed59080b4 100644 --- a/installer.py +++ b/installer.py @@ -1270,18 +1270,23 @@ def install_insightface(): def install_optional(): t_start = time.time() log.info('Installing optional requirements...') - install('--no-build-isolation git+https://github.com/Disty0/BasicSR@23c1fb6f5c559ef5ce7ad657f2fa56e41b121754', 'basicsr') - install('--no-build-isolation git+https://github.com/Disty0/GFPGAN@ae0f7e44fafe0ef4716f3c10067f8f379b74c21c', 'gfpgan') - install('clean-fid', quiet=True) - install('pillow-jxl-plugin==1.3.4', ignore=True, quiet=True) - install('optimum-quanto==0.2.7', ignore=True, quiet=True) - install('torchao==0.10.0', ignore=True, quiet=True) - install('bitsandbytes==0.47.0', ignore=True, quiet=True) - install('nvidia-ml-py', ignore=True, quiet=True) - install('ultralytics==8.3.40', ignore=True, quiet=True) - install('Cython', ignore=True, quiet=True) + install('--no-build-isolation git+https://github.com/Disty0/BasicSR@23c1fb6f5c559ef5ce7ad657f2fa56e41b121754', 'basicsr', ignore=True, quiet=True) + install('--no-build-isolation git+https://github.com/Disty0/GFPGAN@ae0f7e44fafe0ef4716f3c10067f8f379b74c21c', 'gfpgan', ignore=True, quiet=True) install('av', ignore=True, quiet=True) - install('gguf', ignore=True) + install('beautifulsoup4', ignore=True, quiet=True) + install('bitsandbytes==0.47.0', ignore=True, quiet=True) + install('clean-fid', ignore=True, quiet=True) + install('clip_interrogator==0.6.0', ignore=True, quiet=True) + install('Cython', ignore=True, quiet=True) + install('gguf', ignore=True, quiet=True) + install('git+https://github.com/tencent-ailab/IP-Adapter.git', 'ip_adapter', ignore=True, quiet=True) + install('hf_transfer', ignore=True, quiet=True) + install('hf_xet', ignore=True, quiet=True) + install('nvidia-ml-py', ignore=True, quiet=True) + install('optimum-quanto==0.2.7', ignore=True, quiet=True) + install('pillow-jxl-plugin==1.3.4', ignore=True, quiet=True) + install('torchao==0.10.0', ignore=True, quiet=True) + install('ultralytics==8.3.40', ignore=True, quiet=True) try: import gguf scripts_dir = os.path.join(os.path.dirname(gguf.__file__), '..', 'scripts') diff --git a/modules/civitai/search_civitai.py b/modules/civitai/search_civitai.py index 0465411b9..488a05cdd 100644 --- a/modules/civitai/search_civitai.py +++ b/modules/civitai/search_civitai.py @@ -108,7 +108,7 @@ def search_civitai( global models # pylint: disable=global-statement import requests from urllib.parse import urlencode - install('bs4') # Ensure BeautifulSoup is installed + install('beautifulsoup4') if len(query) == 0: log.error('CivitAI: empty query') From d431a30204041a87e84460697ec85e26ee39f014 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 21 Oct 2025 11:38:18 -0400 Subject: [PATCH 019/137] add offline mode to video load Signed-off-by: Vladimir Mandic --- modules/video_models/video_load.py | 18 +++++++++++++++--- modules/video_models/video_overrides.py | 8 ++++---- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/modules/video_models/video_load.py b/modules/video_models/video_load.py index 999c0c590..090997611 100644 --- a/modules/video_models/video_load.py +++ b/modules/video_models/video_load.py @@ -1,3 +1,4 @@ +import os import copy import time from modules import shared, errors, sd_models, sd_checkpoint, model_quant, devices, sd_hijack_te, sd_hijack_vae @@ -22,7 +23,15 @@ def load_model(selected: models_def.Model): video_cache.apply_teacache_patch(selected.dit_cls) # overrides - kwargs = video_overrides.load_override(selected) + offline_args = {} + if shared.opts.offline_mode: + offline_args["local_files_only"] = True + os.environ['HF_HUB_OFFLINE'] = '1' + else: + os.environ.pop('HF_HUB_OFFLINE', None) + os.unsetenv('HF_HUB_OFFLINE') + + kwargs = video_overrides.load_override(selected, **offline_args) # text encoder try: @@ -53,7 +62,8 @@ def load_model(selected: models_def.Model): revision=selected.te_revision or selected.repo_revision, cache_dir=shared.opts.hfcache_dir, **load_args, - **quant_args + **quant_args, + **offline_args, ) except Exception as e: shared.log.error(f'video load: module=te cls={selected.te_cls.__name__} {e}') @@ -72,7 +82,8 @@ def load_model(selected: models_def.Model): revision=selected.dit_revision or selected.repo_revision, cache_dir=shared.opts.hfcache_dir, **load_args, - **quant_args + **quant_args, + **offline_args, ) else: shared.log.debug(f'Video load: module=transformer repo="{selected.dit or selected.repo}" module="{dit_folder}" folder="{dit_folder}" cls={selected.dit_cls.__name__} skip') @@ -97,6 +108,7 @@ def load_model(selected: models_def.Model): cache_dir=shared.opts.hfcache_dir, torch_dtype=devices.dtype, **kwargs, + **offline_args, ) except Exception as e: shared.log.error(f'video load: module=pipe repo="{selected.repo}" cls={selected.repo_cls.__name__} {e}') diff --git a/modules/video_models/video_overrides.py b/modules/video_models/video_overrides.py index a6c9c01ed..bc2cb867c 100644 --- a/modules/video_models/video_overrides.py +++ b/modules/video_models/video_overrides.py @@ -8,17 +8,17 @@ from modules.video_models.models_def import Model debug = shared.log.trace if os.environ.get('SD_VIDEO_DEBUG', None) is not None else lambda *args, **kwargs: None -def load_override(selected: Model): +def load_override(selected: Model, **load_args): kwargs = {} # Allegro if 'Allegro T2V' in selected.name: - kwargs['vae'] = diffusers.AutoencoderKLAllegro.from_pretrained(selected.repo, subfolder="vae", torch_dtype=torch.float32, cache_dir=shared.opts.hfcache_dir) + kwargs['vae'] = diffusers.AutoencoderKLAllegro.from_pretrained(selected.repo, subfolder="vae", torch_dtype=torch.float32, cache_dir=shared.opts.hfcache_dir, **load_args) # LTX if 'LTXVideo 0.9.5 I2V' in selected.name: - kwargs['vae'] = diffusers.AutoencoderKLLTXVideo.from_pretrained(selected.repo, subfolder="vae", torch_dtype=torch.float32, cache_dir=shared.opts.hfcache_dir) + kwargs['vae'] = diffusers.AutoencoderKLLTXVideo.from_pretrained(selected.repo, subfolder="vae", torch_dtype=torch.float32, cache_dir=shared.opts.hfcache_dir, **load_args) # WAN if 'WAN 2.1 14B' in selected.name: - kwargs['vae'] = diffusers.AutoencoderKLWan.from_pretrained(selected.repo, subfolder="vae", torch_dtype=torch.float32, cache_dir=shared.opts.hfcache_dir) + kwargs['vae'] = diffusers.AutoencoderKLWan.from_pretrained(selected.repo, subfolder="vae", torch_dtype=torch.float32, cache_dir=shared.opts.hfcache_dir, **load_args) if ('A14B' in selected.name) or ('14B VACE' in selected.name): if shared.opts.model_wan_stage == 'combined': kwargs['boundary_ratio'] = shared.opts.model_wan_boundary From 0faf61f48ad32480f5885ae2fdfc8ed94d9975ff Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 22 Oct 2025 08:39:45 -0400 Subject: [PATCH 020/137] video tab add params.txt Signed-off-by: Vladimir Mandic --- .gitignore | 1 + CHANGELOG.md | 1 + modules/framepack/framepack_worker.py | 18 +++++++- modules/generation_parameters_copypaste.py | 2 +- modules/images_namegen.py | 12 ++--- modules/ltx/ltx_process.py | 3 ++ modules/processing_class.py | 6 ++- modules/ui_video.py | 14 +++++- modules/video_models/video_run.py | 3 ++ modules/video_models/video_save.py | 52 +++++++++++++++++++--- modules/video_models/video_ui.py | 3 +- 11 files changed, 95 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 9bc6d5a24..3bb999538 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ tunableop_results*.csv /*.txt /*.mp3 /*.lnk +/*.swp !webui.bat !webui.sh !package.json diff --git a/CHANGELOG.md b/CHANGELOG.md index c60c6f3da..ae551af28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - fix `wan-2.2-a14b` stage selection - fix `wan-2.2-5b` vae decode - disabling live preview should not disable progress updates + - video tab create `params.txt` with metadata ## Update for 2025-10-18 diff --git a/modules/framepack/framepack_worker.py b/modules/framepack/framepack_worker.py index cda5677f8..6558c0765 100644 --- a/modules/framepack/framepack_worker.py +++ b/modules/framepack/framepack_worker.py @@ -308,12 +308,26 @@ def worker( if is_last_section: break - total_generated_frames, _video_filename = save_video(history_pixels, mp4_fps, mp4_codec, mp4_opt, mp4_ext, mp4_sf, mp4_video, mp4_frames, mp4_interpolate, pbar=pbar, stream=stream, metadata=metadata) + total_generated_frames, _video_filename = save_video( + None, + history_pixels, + mp4_fps, + mp4_codec, + mp4_opt, + mp4_ext, + mp4_sf, + mp4_video, + mp4_frames, + mp4_interpolate, + pbar=pbar, + stream=stream, + metadata=metadata, + ) except AssertionError: shared.log.info('FramePack: interrupted') if shared.opts.keep_incomplete: - save_video(history_pixels, mp4_fps, mp4_codec, mp4_opt, mp4_ext, mp4_sf, mp4_video, mp4_frames, mp4_interpolate=0, stream=stream, metadata=metadata) + save_video(None, history_pixels, mp4_fps, mp4_codec, mp4_opt, mp4_ext, mp4_sf, mp4_video, mp4_frames, mp4_interpolate=0, stream=stream, metadata=metadata) except Exception as e: shared.log.error(f'FramePack: {e}') errors.display(e, 'FramePack') diff --git a/modules/generation_parameters_copypaste.py b/modules/generation_parameters_copypaste.py index 1427e53cc..df0ea1643 100644 --- a/modules/generation_parameters_copypaste.py +++ b/modules/generation_parameters_copypaste.py @@ -3,7 +3,6 @@ import io import os from PIL import Image import gradio as gr -from modules.paths import params_path from modules import shared, gr_tempdir, script_callbacks, images from modules.infotext import parse, mapping, quote, unquote # pylint: disable=unused-import @@ -204,6 +203,7 @@ def create_override_settings_dict(text_pairs): def connect_paste(button, local_paste_fields, input_comp, override_settings_component, tabname): def paste_func(prompt): + from modules.paths import params_path if prompt is None or len(prompt.strip()) == 0: if os.path.exists(params_path): with open(params_path, "r", encoding="utf8") as file: diff --git a/modules/images_namegen.py b/modules/images_namegen.py index 849450d5b..f81a6447d 100644 --- a/modules/images_namegen.py +++ b/modules/images_namegen.py @@ -23,8 +23,8 @@ NOTHING = object() class FilenameGenerator: replacements = { - 'width': lambda self: self.image.width, - 'height': lambda self: self.image.height, + 'width': lambda self: self.width, + 'height': lambda self: self.height, 'batch_number': lambda self: self.batch_number, 'iter_number': lambda self: self.iter_number, 'num': lambda self: NOTHING if self.p.n_iter == 1 and self.p.batch_size == 1 else self.p.iteration * self.p.batch_size + self.p.batch_index + 1, @@ -32,8 +32,8 @@ class FilenameGenerator: 'date': lambda self: datetime.datetime.now().strftime('%Y-%m-%d'), 'datetime': lambda self, *args: self.datetime(*args), # accepts formats: [datetime], [datetime], [datetime
-a$Tc^Hq!$d_kaL>A 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 X_cWUtM#5fg>Y&z0nC>Gqg2(^a{BKNK literal 0 HcmV?d00001 diff --git a/models/Reference/hunyuanvideo-community--HunyuanImage-2.1-Diffusers.jpg b/models/Reference/hunyuanvideo-community--HunyuanImage-2.1-Diffusers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e7f34c88fe1ceb1799be947f4c7b98694f79090 GIT binary patch literal 62859 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 z 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

K4X4$5frR6+AK+ZAzTMFRH>tt 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 literal 0 HcmV?d00001 diff --git a/models/Reference/noobaiXLNAIXL_epsilonPred11Version.jpg b/models/Reference/noobaiXLNAIXL_epsilonPred11Version.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cbb7cc1fa301b9be1cc2160e5f9486ff19212fa3 GIT binary patch literal 55298 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≪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

D(O>T>oJ?s+p*4p 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 UAV&>chbx?b#*Hu&`M2`_0AL+pY5)KL literal 0 HcmV?d00001 diff --git a/models/Reference/ponyRealism_V23.jpg b/models/Reference/ponyRealism_V23.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c92446fd62625d6604ebc75f854d96ef3ddcb522 GIT binary patch literal 38774 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 literal 0 HcmV?d00001 diff --git a/models/Reference/waiANIPONYXL_v140.jpg b/models/Reference/waiANIPONYXL_v140.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7888d1eeb1018230adad52cfa519ed5968190e87 GIT binary patch literal 55801 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 literal 0 HcmV?d00001 diff --git a/modules/loader.py b/modules/loader.py index a224c05c7..d540fbac9 100644 --- a/modules/loader.py +++ b/modules/loader.py @@ -129,6 +129,8 @@ import tqdm as tqdm_lib # pylint: disable=C0411 from tqdm.rich import tqdm # pylint: disable=W0611,C0411 try: + logging.getLogger("diffusers.guiders").setLevel(logging.ERROR) + logging.getLogger("diffusers.loaders.single_file").setLevel(logging.ERROR) import diffusers.utils.import_utils # pylint: disable=W0611,C0411 diffusers.utils.import_utils._k_diffusion_available = True # pylint: disable=protected-access # monkey-patch since we use k-diffusion from git diffusers.utils.import_utils._k_diffusion_version = '0.0.12' # pylint: disable=protected-access @@ -136,7 +138,6 @@ try: import diffusers # pylint: disable=W0611,C0411 import diffusers.loaders.single_file # pylint: disable=W0611,C0411 diffusers.loaders.single_file.logging.tqdm = partial(tqdm, unit='C') - logging.getLogger("diffusers.loaders.single_file").setLevel(logging.ERROR) timer.startup.record("diffusers") except Exception as e: errors.log.error(f'Loader: diffusers=={diffusers.__version__ if "diffusers" in sys.modules else None} {e}') diff --git a/modules/lora/lora_overrides.py b/modules/lora/lora_overrides.py index 5889e1dec..b47e58862 100644 --- a/modules/lora/lora_overrides.py +++ b/modules/lora/lora_overrides.py @@ -31,6 +31,7 @@ force_models_diffusers = [ # forced always 'h1', 'kandinsky', 'hunyuandit', + 'hunyuanimage', 'auraflow', 'lumina2', 'qwen', diff --git a/modules/modeldata.py b/modules/modeldata.py index 881a5fba0..c7224d06a 100644 --- a/modules/modeldata.py +++ b/modules/modeldata.py @@ -80,6 +80,8 @@ def get_model_type(pipe): model_type = 'wanai' elif 'HDM-xut' in name: model_type = 'hdm' + elif 'HunyuanImage' in name: + model_type = 'hunyuanimage' else: model_type = name return model_type diff --git a/modules/modular.py b/modules/modular.py index 5f3bfefc2..ac744f6d0 100644 --- a/modules/modular.py +++ b/modules/modular.py @@ -26,6 +26,11 @@ def is_compatible(diffusion_pipeline: diffusers.DiffusionPipeline) -> bool: return compatible +def is_guider(diffusion_pipeline: diffusers.DiffusionPipeline) -> bool: + guider = getattr(diffusion_pipeline, 'guider', None) + return guider is not None + + def convert_to_modular(diffusion_pipeline: diffusers.DiffusionPipeline) -> diffusers.ModularPipeline: modular_pipe = None try: diff --git a/modules/modular_guiders.py b/modules/modular_guiders.py index 556ad52b4..8ddc8e572 100644 --- a/modules/modular_guiders.py +++ b/modules/modular_guiders.py @@ -32,16 +32,24 @@ def set_guider(p: processing.StableDiffusionProcessing): if guidance_name == 'Default': if hasattr(shared.sd_model, 'default_guider'): guider_info = shared.sd_model.default_guider + guider_cls = guider_info.type_hint if hasattr(guider_info, 'type_hint') else type(guider_info) shared.sd_model.update_components(guider=guider_info) - else: + elif hasattr(shared.sd_model, 'get_component_spec'): guider_info = shared.sd_model.get_component_spec("guider") + guider_cls = guider_info.type_hint if hasattr(guider_info, 'type_hint') else type(guider_info) shared.sd_model.default_guider = guider_info - guider_cls = guider_info.type_hint + elif hasattr(shared.sd_model, 'guider') and hasattr(shared.sd_model.guider, 'config'): + guider_info = shared.sd_model.guider + guider_cls = type(shared.sd_model.guider) + # shared.sd_model.default_guider = guider_info + else: + guider_info = None + guider_cls = None if guider_info is not None and guider_cls is not None and guider_info.config is not None: guider_args = {k: v for k, v in guider_info.config.items() if not k.startswith('_') and v is not None} else: guider_args = {} - shared.log.info(f'Guider: name={guidance_name} cls={guider_cls.__name__} args={guider_args}') + shared.log.info(f'Guider: name={guidance_name} cls={guider_cls.__name__ if guider_cls is not None else None} args={guider_args}') return if guidance_name == 'None': shared.sd_model.update_components(guider=None) # breaks the pipeline diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 277b5e1c5..dffeaf780 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -102,8 +102,9 @@ def process_pre(p: processing.StableDiffusionProcessing): modular_pipe = modular.convert_to_modular(shared.sd_model) if modular_pipe is not None: shared.sd_model = modular_pipe - from modules import modular_guiders - modular_guiders.set_guider(p) + if modular.is_guider(shared.sd_model): + from modules import modular_guiders + modular_guiders.set_guider(p) timer.process.record('pre') diff --git a/modules/sd_models.py b/modules/sd_models.py index c619c8ca2..6696c7d23 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -46,6 +46,7 @@ pipe_switch_task_exclude = [ 'StableDiffusionReferencePipeline', 'StableDiffusionXLInstantIDPipeline', 'XOmniPipeline', + 'HunyuanImagePipeline', ] i2i_pipes = [ 'LEditsPPPipelineStableDiffusion', 'LEditsPPPipelineStableDiffusionXL', diff --git a/modules/sd_offload.py b/modules/sd_offload.py index 59aea6fd0..b40fe8815 100644 --- a/modules/sd_offload.py +++ b/modules/sd_offload.py @@ -14,7 +14,7 @@ from modules.timer import process as process_timer debug = os.environ.get('SD_MOVE_DEBUG', None) is not None verbose = os.environ.get('SD_MOVE_VERBOSE', None) is not None debug_move = log.trace if debug else lambda *args, **kwargs: None -offload_warn = ['sc', 'sd3', 'f1', 'h1', 'hunyuandit', 'auraflow', 'omnigen', 'omnigen2', 'cogview4', 'cosmos', 'chroma', 'x-omni'] +offload_warn = ['sc', 'sd3', 'f1', 'h1', 'hunyuandit', 'auraflow', 'omnigen', 'omnigen2', 'cogview4', 'cosmos', 'chroma', 'x-omni', 'hunyuanimage'] offload_post = ['h1'] offload_hook_instance = None balanced_offload_exclude = ['CogView4Pipeline', 'MeissonicPipeline'] diff --git a/modules/shared_items.py b/modules/shared_items.py index f09df5769..f01ee6e33 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -45,6 +45,7 @@ pipelines = { 'Cosmos': getattr(diffusers, 'Cosmos2TextToImagePipeline', None), 'WanAI': getattr(diffusers, 'WanPipeline', None), 'Qwen': getattr(diffusers, 'QwenImagePipeline', None), + 'HunyuanImage': getattr(diffusers, 'HunyuanImagePipeline', None), # dynamically imported and redefined later 'Meissonic': getattr(diffusers, 'DiffusionPipeline', None), @@ -55,7 +56,6 @@ pipelines = { 'FLite': getattr(diffusers, 'DiffusionPipeline', None), 'Bria': getattr(diffusers, 'DiffusionPipeline', None), 'hdm': getattr(diffusers, 'DiffusionPipeline', None), - 'HunyuanImage': getattr(diffusers, 'DiffusionPipeline', None), 'X-Omni': getattr(diffusers, 'DiffusionPipeline', None), } diff --git a/pipelines/generic.py b/pipelines/generic.py index f14f88ab8..e78ac7b8b 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -141,6 +141,20 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder **load_args, **quant_args, ) + elif cls_name == transformers.Qwen2_5_VLForConditionalGeneration and allow_shared: + if shared.opts.te_shared_t5: + repo_id = 'hunyuanvideo-community/HunyuanImage-2.1-Diffusers' + subfolder = 'text_encoder' + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') + if dtype is not None: + load_args['torch_dtype'] = dtype + text_encoder = cls_name.from_pretrained( + repo_id, + cache_dir=shared.opts.hfcache_dir, + subfolder=subfolder, + **load_args, + **quant_args, + ) # load from repo if text_encoder is None: diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 0d731a6c9..b91cff00c 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -1,44 +1,37 @@ -from modules import shared, sd_models, devices, model_quant, errors # pylint: disable=unused-import +import transformers +import diffusers +from modules import shared, sd_models, devices, model_quant, sd_hijack_te, sd_hijack_vae +from pipelines import generic def load_hyimage(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) - shared.log.error(f'Load model: type=NextStep model="{checkpoint_info.name}" repo="{repo_id}" not supported') - - """ load_args, _quant_args = model_quant.get_dit_args(diffusers_load_config) - shared.log.debug(f'Load model: type=HunyuanImage repo="{repo_id}" config={diffusers_load_config} offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype} args={load_args}') + shared.log.debug(f'Load model: type=HunyuanImage21 repo="{repo_id}" config={diffusers_load_config} offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype} args={load_args}') - sys.path.append(os.path.dirname(__file__)) - from pipelines.hyimage.diffusion.pipelines.hunyuanimage_pipeline import HunyuanImagePipeline, HunyuanImagePipelineConfig - from pipelines.hyimage.common.config import instantiate - - use_distilled = 'distilled' in repo_id.lower() - config = HunyuanImagePipelineConfig.create_default(version='v2.1', use_distilled=use_distilled) - config.torch_dtype = devices.dtype - config.device = devices.device - config.enable_dit_offloading = False - config.enable_reprompt_model_offloading = False - config.enable_refiner_offloading = False - - pipe = HunyuanImagePipeline(config=config) - - snapshot_folder = snapshot_download(repo_id, cache_dir=shared.opts.hfcache_dir, allow_patterns='vae/vae_2_1/*') - pipe.config.vae_config.load_from = os.path.join(snapshot_folder, 'vae/vae_2_1') - pipe.vae = instantiate(pipe.config.vae_config.model, vae_path=pipe.config.vae_config.load_from) - - pipe._load_dit() # pylint: disable=protected-access - pipe._load_byt5() # pylint: disable=protected-access - pipe._load_text_encoder() # pylint: disable=protected-access - pipe._load_reprompt_model() # pylint: disable=protected-access + transformer = generic.load_transformer(repo_id, cls_name=diffusers.HunyuanImageTransformer2DModel, load_config=diffusers_load_config, subfolder="transformer") + text_encoder = generic.load_text_encoder(repo_id, cls_name=transformers.Qwen2_5_VLForConditionalGeneration, load_config=diffusers_load_config, subfolder="text_encoder") + text_encoder_2 = generic.load_text_encoder(repo_id, cls_name=transformers.T5EncoderModel, load_config=diffusers_load_config, subfolder="text_encoder_2", allow_shared=False) + pipe = diffusers.HunyuanImagePipeline.from_pretrained( + repo_id, + transformer=transformer, + text_encoder=text_encoder, + text_encoder_2=text_encoder_2, + cache_dir=shared.opts.diffusers_dir, + **load_args, + ) pipe.task_args = { - 'use_reprompt': False, - 'use_refiner': False, + 'output_type': 'np', } + del transformer + del text_encoder + del text_encoder_2 + sd_hijack_te.init_hijack(pipe) + sd_hijack_vae.init_hijack(pipe) + devices.torch_gc(force=True, reason='load') - """ - return None + return pipe From 6016ee245f45d604078070fa91b6bf123db11069 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Oct 2025 10:33:00 -0400 Subject: [PATCH 036/137] add most popular community models Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 5 +++-- html/reference.json | 54 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 753add9f0..babc7a7cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,13 @@ - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE + - **Reference** section in networks is now split into actual Reference models plus: + **Distilled** which shows distilled variants of base models and **Community** which shows community highlights + - Added some of the most interesting community models: *CenKreChro, WAI-Illustrious, NoobAI, Pony-Realism* - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is *note*: must be enabled only after all packages have been installed and model has been run online at least once - - **networks**: add additional sections for **Reference** models: - **Distilled** which shows distilled variants of base models and **Community** which shows community highlights - **Backend** - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies diff --git a/html/reference.json b/html/reference.json index 1fb653172..e9ba3dbac 100644 --- a/html/reference.json +++ b/html/reference.json @@ -973,5 +973,59 @@ "size": 2.28, "tags": "community", "extras": "width: 512, height: 512, sampler: DEIS, steps: 20, cfg_scale: 6.0" + }, + "Tiwaz CenKreChro": { + "path": "Tiwaz/CenKreChro", + "preview": "Tiwaz--CenKreChro.jpg", + "skip": true, + "desc": "Based Centerfold Flux 5, trying to merge in Chroma and Krea.", + "extras": "", + "tags": "community", + "date": "2025 September" + }, + "WAI Illustrious XL v15": { + "path": "waiIllustriousSDXL_v150.safetensors@https://civitai.com/api/download/models/2167369", + "preview": "waiIllustriousSDXL_v150.jpg", + "desc": "", + "tags": "community", + "size": 6.94, + "date": "2025 August", + "extras": "" + }, + "Pony Realism XL v2.3": { + "path": "ponyRealism_V23.safetensors@https://civitai.com/api/download/models/2167369", + "preview": "ponyRealism_V23.jpg", + "desc": "", + "tags": "community", + "size": 6.94, + "date": "2025 May", + "extras": "" + }, + "NoobAI XL 1.0 V-Pred": { + "path": "noobaiXLNAIXL_vPred10Version.safetensors@https://civitai.com/api/download/models/1190596", + "preview": "noobaiXLNAIXL_vPred10Version.jpg", + "desc": "", + "tags": "community", + "size": 6.94, + "date": "2024 December", + "extras": "" + }, + "NoobAI XL 1.1 Epsilon": { + "path": "noobaiXLNAIXL_epsilonPred11Version.safetensors@https://civitai.com/api/download/models/1116447", + "preview": "noobaiXLNAIXL_epsilonPred11Version.jpg", + "desc": "", + "tags": "community", + "size": 6.94, + "date": "2024 November", + "extras": "" + }, + "WAI-Ani-Pony XL v14": { + "path": "waiANIPONYXL_v140.safetensors.safetensors@https://civitai.com/api/download/models/1767402", + "preview": "waiANIPONYXL_v140.jpg", + "desc": "", + "tags": "community", + "size": 6.94, + "date": "2025 May", + "extras": "" } } From ed3171f9632a867394c45500d4aff9a1e9747a81 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Oct 2025 11:04:21 -0400 Subject: [PATCH 037/137] add pre-quantized models to reference/distilled Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 5 ++- html/reference.json | 41 ++++++++++++++++++ .../Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg | Bin 0 -> 29582 bytes .../Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg | Bin 0 -> 37230 bytes ...obAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg | Bin 0 -> 33251 bytes ...y0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg | Bin 0 -> 37795 bytes 6 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 models/Reference/Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg create mode 100644 models/Reference/Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg create mode 100644 models/Reference/Disty0--NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg create mode 100644 models/Reference/Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index babc7a7cb..8e6cdc4a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,10 @@ HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - **Reference** section in networks is now split into actual Reference models plus: **Distilled** which shows distilled variants of base models and **Community** which shows community highlights - - Added some of the most interesting community models: *CenKreChro, WAI-Illustrious, NoobAI, Pony-Realism* + - Add SDNQ-SVD pre-quantized models to distilled models: *FLUX.1-Dev, Chroma1-HD, NoobAI-XL* + *note*: these models are pre-quantized to minimal resource usage while maintaining high quality + if you're low on vram and don't want to explore all of quantization options, these are a good starting point! + - Add additional community models: *CenKreChro, WAI-Illustrious, NoobAI, Pony-Realism* - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is diff --git a/html/reference.json b/html/reference.json index e9ba3dbac..479869762 100644 --- a/html/reference.json +++ b/html/reference.json @@ -928,6 +928,47 @@ "date": "2023 April" }, + "FLUX.1-Dev sdnq-svd-uint4": { + "path": "Disty0/FLUX.1-dev-SDNQ-uint4-svd-r32", + "preview": "Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg", + "desc": "4 bit (UINT4 with SVD rank 32) quantization of black-forest-labs/FLUX.1-dev using SDNQ.", + "skip": true, + "tags": "distilled", + "size": 6.8, + "date": "2025 October", + "extras": "" + }, + "Chroma1-HD sdnq-svd-uint4": { + "path": "Disty0/Chroma1-HD-SDNQ-uint4-svd-r32", + "preview": "Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg", + "desc": "4 bit (UINT4 with SVD rank 32) quantization of lodestones/Chroma1-HD using SDNQ.", + "skip": true, + "tags": "distilled", + "size": 5.4, + "date": "2025 October", + "extras": "" + }, + "NoobAI-XL v1.1 sdnq-svd-uint4": { + "path": "Disty0/NoobAI-XL-v1.1-SDNQ-uint4-svd-r128", + "preview": "Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg", + "desc": "4 bit (UINT4 with SVD rank 128) quantization of Laxhar/noobai-XL-1.1 using SDNQ.", + "skip": true, + "tags": "distilled", + "size": 5.4, + "date": "2025 October", + "extras": "" + }, + "NoobAI-XL v1.0 v-pred sdnq-svd-uint4": { + "path": "Disty0/NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128", + "preview": "Disty0--NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg", + "desc": "4 bit (UINT4 with SVD rank 128) quantization of Laxhar/noobai-XL-Vpred-1.0 using SDNQ.", + "skip": true, + "tags": "distilled", + "size": 5.4, + "date": "2025 October", + "extras": "" + }, + "Tempest-by-Vlad XL": { "path": "tempestByVlad_baseV01.safetensors@https://civitai.com/api/download/models/1301775", "preview": "tempestByVlad_baseV01.jpg", diff --git a/models/Reference/Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg b/models/Reference/Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94c8fd8d57b81701c8418ba65378c635383c919a GIT binary patch literal 29582 zcmbTdbzB=!*De~QSb-L|ph1JXdvSNC#oZl>l>%+B;_e!>xRoNsU4lz-m*T~5`o7;e z=lJZrCK$-FGQtOMRE$|}eL5D*XmAK)Lr%Lc$!#@Ego08mi@fB^si z8UPuA6z~eZgaB`12xR|zSr&m2fb^g3i13}90Qffm2i{cS?cekP-u|8QpI=uqJ7-Te zXDd%CUN#OkPHy-=Ed!(hXecPCD6h~^QBl#+(J(Oau`pl1#w5YTdxK9-N=ZRZ3ItNo zvN2H6uz-L-Mt&w14o)5(9!ds5Q2{OyHf|oSe-}YOM@PqejY*7!Ma)GFq~`knJiT-Q zaL^Fp_m6~t3qZs{K*B+I=><^2@BS6MU;cH?|4ayoNXV~HP|?saUc(P)d<#HCKte)9 zMtb!M85w?bAbdXn8Rr!)HK!yBo`xAJjT=5!XnZ~zNUFA*Ky&I3Ew{P*Cv*%#B4QF! zI(i01CNK{#AHRU0kn}qlSvh$HMJ;U|T|IpRLkmkQYa3fTdk;@9Zy#Sj|FF;D5s_cM zLJ|^_l2cOC(lZJQi;7E1%b?|T^$m?p%`L5MJ->SU`UeJwhNov>vvczci%T1uTiZLk zd;156=NFe(*EhF+@9zJ}g#efHe@*`t?EfJb4qProWMm{{)PHgzAo{=?5)Se!YEBef zNexspH#{1yP&9n0`25;#bP%`Z9|CjtDGWkdo(;P5f1>?Ivj2C2efs|;+5Z;o|H!oj zz(hiTKRhHHfH>e6k6yt?v?O&z%}GusTLdOI33Me0K+zb!VKby9sR3hCt5(8T)y_@A z7{1R~(VLN=w>XcDjujEU6Vna~iXL1QC|cA|X{Y`YKIXi55Zc8>UM473H0NGH(E3{r zLAUT$XY@fu%&3(wuZvu*_&vi0^AsAAfLy+4}`(FP;Bb?;_OX|`D`pLr85`>2=q5dQ8qs@LvmSLTe? zITwD64j0>k6gaI8*;--;5_}H^H^dJxDb><$B<6^WUoSrhhx z8b|NdV+S?bWi^`T*2wB4hzp?@yBA&+{oZL3J=d+yo|<4&kV~*ucG!{E`{`SOSN>E8 z$|sl_8;v8>4op^J{kq{IVYHS>mVHV~+-+d7em;O4dT5l?+j^H8QI zIU5=PN$USJrlBE%4j+*8e^%k!5oC}s7?GT_9Hhs{;M%0DISE&Kj=g;D&H~@ldI4l8*4ca&d#t9 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 literal 0 HcmV?d00001 diff --git a/models/Reference/Disty0--NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg b/models/Reference/Disty0--NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46d04b1c4587a85956801efc75df78fb42aa039d GIT binary patch literal 33251 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 literal 0 HcmV?d00001 diff --git a/models/Reference/Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg b/models/Reference/Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c96c3cdaeee5391a6b80d98b69bdbfba94dfe31 GIT binary patch literal 37795 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 Date: Fri, 24 Oct 2025 11:11:12 -0400 Subject: [PATCH 038/137] lora auto-detect low/high stage if not specified Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 3 ++- modules/lora/extra_networks_lora.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e6cdc4a0..a2c89e017 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log for SD.Next -## Update for 2025-10-23 +## Update for 2025-10-24 - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants @@ -35,6 +35,7 @@ - video tab create `params.txt` with metadata - fix full-screen image-viewer toolbar actions with control tab - improve filename sanitization + - lora auto-detect low/high stage if not specified - fix networks display with extended characters, thanks @awsr ## Update for 2025-10-18 diff --git a/modules/lora/extra_networks_lora.py b/modules/lora/extra_networks_lora.py index ee657d2d1..99ab20d15 100644 --- a/modules/lora/extra_networks_lora.py +++ b/modules/lora/extra_networks_lora.py @@ -132,6 +132,13 @@ def parse(p, params_list, step=0): lora_module.append('transformer_2') if params.named.get('module', None) is not None: lora_module.append(params.named['module'].lower()) + + if len(lora_module) == 0 and shared.sd_loaded: + if hasattr(shared.sd_model, 'transformer') and (shared.sd_model.transformer is not None) and hasattr(shared.sd_model, 'transformer_2') and (shared.sd_model.transformer_2 is None): + lora_module.append('transformer') + if hasattr(shared.sd_model, 'transformer') and (shared.sd_model.transformer is None) and hasattr(shared.sd_model, 'transformer_2') and (shared.sd_model.transformer_2 is not None): + lora_module.append('transformer_2') + lora_modules.append(lora_module) return names, te_multipliers, unet_multipliers, dyn_dims, lora_modules From 2a348908f2cc44b40ce724a5575d6851190e609c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Oct 2025 11:21:24 -0400 Subject: [PATCH 039/137] lora disable fuse on partially applied network Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/lora/lora_diffusers.py | 1 + modules/lora/lora_overrides.py | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2c89e017..9b1c8c59b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ - fix full-screen image-viewer toolbar actions with control tab - improve filename sanitization - lora auto-detect low/high stage if not specified + - lora disable fuse on partially applied network - fix networks display with extended characters, thanks @awsr ## Update for 2025-10-18 diff --git a/modules/lora/lora_diffusers.py b/modules/lora/lora_diffusers.py index 29402febe..a97272370 100644 --- a/modules/lora/lora_diffusers.py +++ b/modules/lora/lora_diffusers.py @@ -61,6 +61,7 @@ def load_diffusers(name: str, network_on_disk: network.NetworkOnDisk, lora_scale try: if lora_module is not None and isinstance(lora_module, list) and len(lora_module) > 0: name = load_per_module(sd_model, network_on_disk.filename, adapter_name=name, lora_modules=lora_module) + sd_model._lora_partial = True # pylint: disable=protected-access else: sd_model.load_lora_weights(network_on_disk.filename, adapter_name=name) except Exception as e: diff --git a/modules/lora/lora_overrides.py b/modules/lora/lora_overrides.py index b47e58862..4d9074e0a 100644 --- a/modules/lora/lora_overrides.py +++ b/modules/lora/lora_overrides.py @@ -78,4 +78,8 @@ def disable_fuse(): return True if hasattr(shared.sd_model, 'transformer') and hasattr(shared.sd_model.transformer, 'quantization_config'): return True + if hasattr(shared.sd_model, 'transformer_2') and hasattr(shared.sd_model.transformer_2, 'quantization_config'): + return True + if hasattr(shared.sd_model, '_lora_partial'): + return True return shared.sd_model_type in fuse_ignore From 181369b79221eba64b6635caf2092edb685c43c7 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Fri, 24 Oct 2025 19:58:59 +0300 Subject: [PATCH 040/137] Change the default SDXL sampler to Euler A + Linear and set Guidence scale value to 4 --- configs/sdxl/scheduler/scheduler_config.json | 9 ++++---- installer.py | 2 +- modules/sd_models.py | 22 ++++++++++++++------ modules/ui_guidance.py | 2 +- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/configs/sdxl/scheduler/scheduler_config.json b/configs/sdxl/scheduler/scheduler_config.json index e5bc8421e..4b974f7ca 100644 --- a/configs/sdxl/scheduler/scheduler_config.json +++ b/configs/sdxl/scheduler/scheduler_config.json @@ -1,18 +1,19 @@ { - "_class_name": "EulerDiscreteScheduler", - "_diffusers_version": "0.19.0.dev0", + "_class_name": "EulerAncestralDiscreteScheduler", + "_diffusers_version": "0.35.1", "beta_end": 0.012, - "beta_schedule": "scaled_linear", + "beta_schedule": "linear", "beta_start": 0.00085, "clip_sample": false, "interpolation_type": "linear", "num_train_timesteps": 1000, "prediction_type": "epsilon", + "rescale_betas_zero_snr": false, "sample_max_value": 1.0, "set_alpha_to_one": false, "skip_prk_steps": true, "steps_offset": 1, - "timestep_spacing": "leading", + "timestep_spacing": "trailing", "trained_betas": null, "use_karras_sigmas": false } diff --git a/installer.py b/installer.py index d930851a5..4474d414e 100644 --- a/installer.py +++ b/installer.py @@ -1287,7 +1287,7 @@ def install_optional(): install('hf_xet', ignore=True, quiet=True) install('nvidia-ml-py', ignore=True, quiet=True) install('optimum-quanto==0.2.7', ignore=True, quiet=True) - install('pillow-jxl-plugin==1.3.4', ignore=True, quiet=True) + install('pillow-jxl-plugin==1.3.5', ignore=True, quiet=True) install('torchao==0.10.0', ignore=True, quiet=True) install('ultralytics==8.3.40', ignore=True, quiet=True) try: diff --git a/modules/sd_models.py b/modules/sd_models.py index 6696c7d23..e1844f495 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -567,18 +567,30 @@ def load_sdnq_model(checkpoint_info, pipeline, diffusers_load_config, op): return sd_model -def set_overrides(sd_model, checkpoint_info): +def set_overrides(sd_model, checkpoint_info, model_type): checkpoint_info_name = checkpoint_info.name.lower() + if "Kandinsky" in sd_model.__class__.__name__: + sd_model.scheduler.name = 'DDIM' + elif ( + checkpoint_info.path.lower().endswith('.safetensors') + and model_type.startswith("Stable Diffusion") and model_type != "Stable Diffusion 3" + ): # SDXL and SD 1.5 + scheduler_config = sd_model.scheduler.config + scheduler_config['beta_schedule'] = 'linear' + scheduler_config['timestep_spacing'] = 'trailing' + sd_model.scheduler = diffusers.EulerAncestralDiscreteScheduler.from_config(scheduler_config) + if 'bigaspv25' in checkpoint_info_name or ('flow' in checkpoint_info_name and 'flower' not in checkpoint_info_name): scheduler_config = sd_model.scheduler.config scheduler_config['prediction_type'] = 'flow_prediction' - scheduler_config['use_flow_sigmas'] = True scheduler_config['beta_schedule'] = 'linear' + scheduler_config['use_flow_sigmas'] = True sd_model.scheduler = diffusers.UniPCMultistepScheduler.from_config(scheduler_config) shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="flow-prediction"') elif 'vpred' in checkpoint_info_name or 'v-pred' in checkpoint_info_name or 'v_pred' in checkpoint_info_name: scheduler_config = sd_model.scheduler.config scheduler_config['prediction_type'] = 'v_prediction' + scheduler_config['beta_schedule'] = 'scaled_linear' scheduler_config['rescale_betas_zero_snr'] = True sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="v-prediction" rescale=True') @@ -590,6 +602,7 @@ def set_overrides(sd_model, checkpoint_info): if 'v_pred' in keys: # NoobAI VPred models added empty v_pred and ztsnr keys scheduler_config = sd_model.scheduler.config scheduler_config['prediction_type'] = 'v_prediction' + scheduler_config['beta_schedule'] = 'scaled_linear' if 'ztsnr' in keys: scheduler_config['rescale_betas_zero_snr'] = True sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) @@ -713,12 +726,9 @@ def load_diffuser(checkpoint_info=None, op='model', revision=None): # pylint: di shared.log.error(f'Load {op}: name="{checkpoint_info.name if checkpoint_info is not None else None}" not loaded') return - set_overrides(sd_model, checkpoint_info) + set_overrides(sd_model, checkpoint_info, model_type) set_defaults(sd_model, checkpoint_info) - if "Kandinsky" in sd_model.__class__.__name__: # need a special case - sd_model.scheduler.name = 'DDIM' - if hasattr(sd_model, "unet") and model_type not in ['Stable Cascade']: # others calls load_diffuser again sd_unet.load_unet(sd_model, checkpoint_info.path) diff --git a/modules/ui_guidance.py b/modules/ui_guidance.py index 72ca8500d..b409749e9 100644 --- a/modules/ui_guidance.py +++ b/modules/ui_guidance.py @@ -15,7 +15,7 @@ def create_guidance_inputs(tab): guidance_btn = ui_components.ToolButton(value=ui_symbols.book, elem_id=f"{tab}_guider_docs") guidance_btn.click(fn=None, _js='getGuidanceDocs', inputs=[guidance_name], outputs=[]) with gr.Row(visible=shared.opts.model_modular_enable): - guidance_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='_Guidance scale', value=6.0, elem_id=f"{tab}_guidance_scale") + guidance_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='_Guidance scale', value=4.0, elem_id=f"{tab}_guidance_scale") guidance_rescale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='_Guidance rescale', value=0.0, elem_id=f"{tab}_guidance_rescale") with gr.Row(visible=shared.opts.model_modular_enable): guidance_start = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='_Guidance start', value=0.0, elem_id=f"{tab}_guidance_start") From f92b3c8349c43c687b001a57b37331bc1f68d2c7 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Fri, 24 Oct 2025 20:04:50 +0300 Subject: [PATCH 041/137] Don't override HF models --- modules/sd_models.py | 59 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/modules/sd_models.py b/modules/sd_models.py index e1844f495..06e1d2b8e 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -579,36 +579,35 @@ def set_overrides(sd_model, checkpoint_info, model_type): scheduler_config['beta_schedule'] = 'linear' scheduler_config['timestep_spacing'] = 'trailing' sd_model.scheduler = diffusers.EulerAncestralDiscreteScheduler.from_config(scheduler_config) - - if 'bigaspv25' in checkpoint_info_name or ('flow' in checkpoint_info_name and 'flower' not in checkpoint_info_name): - scheduler_config = sd_model.scheduler.config - scheduler_config['prediction_type'] = 'flow_prediction' - scheduler_config['beta_schedule'] = 'linear' - scheduler_config['use_flow_sigmas'] = True - sd_model.scheduler = diffusers.UniPCMultistepScheduler.from_config(scheduler_config) - shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="flow-prediction"') - elif 'vpred' in checkpoint_info_name or 'v-pred' in checkpoint_info_name or 'v_pred' in checkpoint_info_name: - scheduler_config = sd_model.scheduler.config - scheduler_config['prediction_type'] = 'v_prediction' - scheduler_config['beta_schedule'] = 'scaled_linear' - scheduler_config['rescale_betas_zero_snr'] = True - sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) - shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="v-prediction" rescale=True') - elif checkpoint_info.path.lower().endswith('.safetensors'): - try: - from safetensors import safe_open - with safe_open(checkpoint_info.path, framework='pt') as f: - keys = f.keys() - if 'v_pred' in keys: # NoobAI VPred models added empty v_pred and ztsnr keys - scheduler_config = sd_model.scheduler.config - scheduler_config['prediction_type'] = 'v_prediction' - scheduler_config['beta_schedule'] = 'scaled_linear' - if 'ztsnr' in keys: - scheduler_config['rescale_betas_zero_snr'] = True - sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) - shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="v-prediction" rescale={scheduler_config.get("rescale_betas_zero_snr", False)}') - except Exception as e: - shared.log.debug(f'Setting override from keys failed: {e}') + if 'bigaspv25' in checkpoint_info_name or ('flow' in checkpoint_info_name and 'flower' not in checkpoint_info_name): + scheduler_config = sd_model.scheduler.config + scheduler_config['prediction_type'] = 'flow_prediction' + scheduler_config['beta_schedule'] = 'linear' + scheduler_config['use_flow_sigmas'] = True + sd_model.scheduler = diffusers.UniPCMultistepScheduler.from_config(scheduler_config) + shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="flow-prediction"') + elif 'vpred' in checkpoint_info_name or 'v-pred' in checkpoint_info_name or 'v_pred' in checkpoint_info_name: + scheduler_config = sd_model.scheduler.config + scheduler_config['prediction_type'] = 'v_prediction' + scheduler_config['beta_schedule'] = 'scaled_linear' + scheduler_config['rescale_betas_zero_snr'] = True + sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) + shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="v-prediction" rescale=True') + else: + try: + from safetensors import safe_open + with safe_open(checkpoint_info.path, framework='pt') as f: + keys = f.keys() + if 'v_pred' in keys: # NoobAI VPred models added empty v_pred and ztsnr keys + scheduler_config = sd_model.scheduler.config + scheduler_config['prediction_type'] = 'v_prediction' + scheduler_config['beta_schedule'] = 'scaled_linear' + if 'ztsnr' in keys: + scheduler_config['rescale_betas_zero_snr'] = True + sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) + shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="v-prediction" rescale={scheduler_config.get("rescale_betas_zero_snr", False)}') + except Exception as e: + shared.log.debug(f'Setting override from keys failed: {e}') def set_defaults(sd_model, checkpoint_info): From 7c2bffd44cb0747c221cbe8b83050ed4be7227ab Mon Sep 17 00:00:00 2001 From: Disty0 Date: Fri, 24 Oct 2025 20:22:51 +0300 Subject: [PATCH 042/137] Download NoobAI from Huggingface instead of CivitAI --- html/reference.json | 4 ++-- modules/sd_models.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/html/reference.json b/html/reference.json index 479869762..b5113b612 100644 --- a/html/reference.json +++ b/html/reference.json @@ -1043,7 +1043,7 @@ "extras": "" }, "NoobAI XL 1.0 V-Pred": { - "path": "noobaiXLNAIXL_vPred10Version.safetensors@https://civitai.com/api/download/models/1190596", + "path": "noobaiXLNAIXL_vPred10Version.safetensors@https://huggingface.co/Laxhar/noobai-XL-Vpred-1.0/resolve/main/NoobAI-XL-Vpred-v1.0.safetensors", "preview": "noobaiXLNAIXL_vPred10Version.jpg", "desc": "", "tags": "community", @@ -1052,7 +1052,7 @@ "extras": "" }, "NoobAI XL 1.1 Epsilon": { - "path": "noobaiXLNAIXL_epsilonPred11Version.safetensors@https://civitai.com/api/download/models/1116447", + "path": "noobaiXLNAIXL_epsilonPred11Version.safetensors@https://huggingface.co/Laxhar/noobai-XL-1.1/resolve/main/NoobAI-XL-v1.1.safetensors", "preview": "noobaiXLNAIXL_epsilonPred11Version.jpg", "desc": "", "tags": "community", diff --git a/modules/sd_models.py b/modules/sd_models.py index 06e1d2b8e..f6313e371 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -591,7 +591,7 @@ def set_overrides(sd_model, checkpoint_info, model_type): scheduler_config['prediction_type'] = 'v_prediction' scheduler_config['beta_schedule'] = 'scaled_linear' scheduler_config['rescale_betas_zero_snr'] = True - sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) + sd_model.scheduler = diffusers.EulerAncestralDiscreteScheduler.from_config(scheduler_config) shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="v-prediction" rescale=True') else: try: @@ -604,7 +604,7 @@ def set_overrides(sd_model, checkpoint_info, model_type): scheduler_config['beta_schedule'] = 'scaled_linear' if 'ztsnr' in keys: scheduler_config['rescale_betas_zero_snr'] = True - sd_model.scheduler = diffusers.EulerDiscreteScheduler.from_config(scheduler_config) + sd_model.scheduler = diffusers.EulerAncestralDiscreteScheduler.from_config(scheduler_config) shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="v-prediction" rescale={scheduler_config.get("rescale_betas_zero_snr", False)}') except Exception as e: shared.log.debug(f'Setting override from keys failed: {e}') From d18c040435c231d76447b4a566bd34f0283a5f3e Mon Sep 17 00:00:00 2001 From: Disty0 Date: Fri, 24 Oct 2025 20:55:07 +0300 Subject: [PATCH 043/137] Set the default shift to 2.5 for sdxl flowmatch --- modules/sd_models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/sd_models.py b/modules/sd_models.py index f6313e371..ba465188a 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -584,6 +584,7 @@ def set_overrides(sd_model, checkpoint_info, model_type): scheduler_config['prediction_type'] = 'flow_prediction' scheduler_config['beta_schedule'] = 'linear' scheduler_config['use_flow_sigmas'] = True + scheduler_config["flow_shift"] = 2.5 sd_model.scheduler = diffusers.UniPCMultistepScheduler.from_config(scheduler_config) shared.log.info(f'Setting override: model="{checkpoint_info.name}" component=scheduler prediction="flow-prediction"') elif 'vpred' in checkpoint_info_name or 'v-pred' in checkpoint_info_name or 'v_pred' in checkpoint_info_name: From f933e30ec59ec2acf1f70c2901e672b00890aff9 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Oct 2025 14:19:23 -0400 Subject: [PATCH 044/137] warn on python 3.9,3.10 Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 2 ++ installer.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b1c8c59b..52dd80966 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ - **Quantization** - improved SDNQ SVD and low-bit matmul performance - **Other** + - change default schedulers for sdxl + - warn on `python==3.9` end-of-life and `python==3.10` not actively supported - **scheduler** add base and max shift parameters for flow-matching samplers - enhance `--optional` flag to pre-install optional packages - add `[lora]` to recognized filename patterns diff --git a/installer.py b/installer.py index 4474d414e..a06d04868 100644 --- a/installer.py +++ b/installer.py @@ -589,8 +589,10 @@ def check_python(supported_minors=[], experimental_minors=[], reason=None): sys.exit(1) if int(sys.version_info.minor) == 12: os.environ.setdefault('SETUPTOOLS_USE_DISTUTILS', 'local') # hack for python 3.11 setuptools + if int(sys.version_info.minor) == 10: + log.warning(f"Python: version={platform.python_version()} is not actively supported") if int(sys.version_info.minor) == 9: - log.warning("Python 3.9 support is scheduled to be removed") + log.warning(f"Python: version={platform.python_version()} is end-of-life") if not args.skip_git: git_cmd = os.environ.get('GIT', "git") if shutil.which(git_cmd) is None: From 80a6dde5faade936abd41e64a2dd5e7cf8018490 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Oct 2025 14:21:09 -0400 Subject: [PATCH 045/137] update changelog Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52dd80966..bfb581ef4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,9 @@ - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - - **Reference** section in networks is now split into actual Reference models plus: + - networks reference section is now split into actual **Reference** models plus: **Distilled** which shows distilled variants of base models and **Community** which shows community highlights - - Add SDNQ-SVD pre-quantized models to distilled models: *FLUX.1-Dev, Chroma1-HD, NoobAI-XL* + - Add SDNQ-SVD **pre-quantized** models to distilled models: *FLUX.1-Dev, Chroma1-HD, NoobAI-XL* *note*: these models are pre-quantized to minimal resource usage while maintaining high quality if you're low on vram and don't want to explore all of quantization options, these are a good starting point! - Add additional community models: *CenKreChro, WAI-Illustrious, NoobAI, Pony-Realism* @@ -21,7 +21,7 @@ - **Quantization** - improved SDNQ SVD and low-bit matmul performance - **Other** - - change default schedulers for sdxl + - change default **schedulers** for sdxl - warn on `python==3.9` end-of-life and `python==3.10` not actively supported - **scheduler** add base and max shift parameters for flow-matching samplers - enhance `--optional` flag to pre-install optional packages From 2104bf8bb074f271101ff12e28a8cd9d711c10f2 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sat, 25 Oct 2025 15:34:14 +0300 Subject: [PATCH 046/137] sdnq add wan keys --- modules/sdnq/common.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/sdnq/common.py b/modules/sdnq/common.py index c5ff8ab9a..c328cd76b 100644 --- a/modules/sdnq/common.py +++ b/modules/sdnq/common.py @@ -95,6 +95,10 @@ module_skip_keys_dict = { ["transformer_blocks.0.img_mod.1.weight", ".time_text_embed", ".txt_in", ".img_in", ".proj_out", ".norm_out", "pos_embed"], {} ], + "WanTransformer3DModel": [ + ["scale_shift_table", ".rope", ".patch_embedding", ".condition_embedder", ".proj_out", ".norm_out", "pos_embed"], + {} + ], "NaDiT": [ [".emb_in", ".txt_in", ".vid_in", ".emb_scale", ".vid_out", ".vid_out_norm", ".vid_out_ada"], {} From e3bae227d5ace29f010af773689f4afd4786d2c5 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 09:06:17 -0400 Subject: [PATCH 047/137] fix absolute output path Signed-off-by: Vladimir Mandic --- modules/images_namegen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/images_namegen.py b/modules/images_namegen.py index 66886cc9e..5a03524aa 100644 --- a/modules/images_namegen.py +++ b/modules/images_namegen.py @@ -169,7 +169,7 @@ class FilenameGenerator: def sanitize(self, filename): # starting reference: invalid_chars = ( - "#<>/\"'`" # ASCII quote and backtick + "#<>\"'`" # ASCII quote and backtick "’‚‛\u2018\u2019\u201B" # smart single quotes and variants # noqa: RUF001 "\u02BB" # modifier letter turned comma "\u201C\u201D\u201F" # smart double quotes and variants From 4ecec822e0f75dafc19380832a44c8ade3c68a80 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 09:18:58 -0400 Subject: [PATCH 048/137] sdxl default to scaled_linear beta Signed-off-by: Vladimir Mandic --- configs/sdxl/scheduler/scheduler_config.json | 2 +- modules/sd_models.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/sdxl/scheduler/scheduler_config.json b/configs/sdxl/scheduler/scheduler_config.json index 4b974f7ca..a55b71ccb 100644 --- a/configs/sdxl/scheduler/scheduler_config.json +++ b/configs/sdxl/scheduler/scheduler_config.json @@ -2,7 +2,7 @@ "_class_name": "EulerAncestralDiscreteScheduler", "_diffusers_version": "0.35.1", "beta_end": 0.012, - "beta_schedule": "linear", + "beta_schedule": "scaled_linear", "beta_start": 0.00085, "clip_sample": false, "interpolation_type": "linear", diff --git a/modules/sd_models.py b/modules/sd_models.py index ba465188a..36e05ae12 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -576,8 +576,8 @@ def set_overrides(sd_model, checkpoint_info, model_type): and model_type.startswith("Stable Diffusion") and model_type != "Stable Diffusion 3" ): # SDXL and SD 1.5 scheduler_config = sd_model.scheduler.config - scheduler_config['beta_schedule'] = 'linear' - scheduler_config['timestep_spacing'] = 'trailing' + # scheduler_config['beta_schedule'] = 'scaled_linear' + # scheduler_config['timestep_spacing'] = 'trailing' sd_model.scheduler = diffusers.EulerAncestralDiscreteScheduler.from_config(scheduler_config) if 'bigaspv25' in checkpoint_info_name or ('flow' in checkpoint_info_name and 'flower' not in checkpoint_info_name): scheduler_config = sd_model.scheduler.config From 10bbbed218458b8a899aac2140ec738d8d716f05 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 09:38:26 -0400 Subject: [PATCH 049/137] handle opencv variants Signed-off-by: Vladimir Mandic --- installer.py | 8 ++++++++ modules/loader.py | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/installer.py b/installer.py index a06d04868..a41254cf7 100644 --- a/installer.py +++ b/installer.py @@ -1261,6 +1261,13 @@ def install_pydantic(): reload('pydantic', '1.10.21') +def install_opencv(): + install('opencv-python-headless==4.12.0.88', ignore=True, quiet=True) + install('opencv-python==4.12.0.88', ignore=True, quiet=True) + install('opencv-contrib-python==4.12.0.88', ignore=True, quiet=True) + install('opencv-contrib-python-headless==4.12.0.88', ignore=True, quiet=True) + + def install_insightface(): install('git+https://github.com/deepinsight/insightface@29b6cd65aa0e9ae3b6602de3c52e9d8949c8ee86#subdirectory=python-package', 'insightface') # insightface==0.7.3 with patches if args.new: @@ -1329,6 +1336,7 @@ def install_requirements(): if not installed(line, quiet=True): _res = install(line) install_pydantic() + install_opencv() if args.profile: pr.disable() print_profile(pr, 'Requirements') diff --git a/modules/loader.py b/modules/loader.py index d540fbac9..be747c461 100644 --- a/modules/loader.py +++ b/modules/loader.py @@ -155,6 +155,9 @@ from PIL import Image # pylint: disable=W0611,C0411 timer.startup.record("pillow") +import cv2 # pylint: disable=W0611,C0411 +timer.startup.record("cv2") + class _tqdm_cls(): def __call__(self, *args, **kwargs): bar_format = 'Progress {rate_fmt}{postfix} {bar} {percentage:3.0f}% {n_fmt}/{total_fmt} {elapsed} {remaining} ' + '\x1b[38;5;71m' + '{desc}' + '\x1b[0m' @@ -225,4 +228,4 @@ class VersionString(str): # support both string and tuple for version check torch.__version__ = VersionString(torch.__version__) errors.log.info(f'Torch: torch=={torch.__version__} torchvision=={torchvision.__version__}') -errors.log.info(f'Packages: diffusers=={diffusers.__version__} transformers=={transformers.__version__} accelerate=={accelerate.__version__} gradio=={gradio.__version__} pydantic=={pydantic.__version__} numpy=={np.__version__}') +errors.log.info(f'Packages: diffusers=={diffusers.__version__} transformers=={transformers.__version__} accelerate=={accelerate.__version__} gradio=={gradio.__version__} pydantic=={pydantic.__version__} numpy=={np.__version__} cv2=={cv2.__version__}') From 11c617d9002fbb3b2306d34980acc2bec5bfe015 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 10:06:19 -0400 Subject: [PATCH 050/137] dont version PyWavelets Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 3 ++- installer.py | 2 +- modules/sd_models.py | 10 +++++----- requirements.txt | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfb581ef4..b6d270deb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log for SD.Next -## Update for 2025-10-24 +## Update for 2025-10-25 - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants @@ -40,6 +40,7 @@ - lora auto-detect low/high stage if not specified - lora disable fuse on partially applied network - fix networks display with extended characters, thanks @awsr + - installer handle different `opencv` package variants ## Update for 2025-10-18 diff --git a/installer.py b/installer.py index a41254cf7..54300bb4f 100644 --- a/installer.py +++ b/installer.py @@ -1262,8 +1262,8 @@ def install_pydantic(): def install_opencv(): - install('opencv-python-headless==4.12.0.88', ignore=True, quiet=True) install('opencv-python==4.12.0.88', ignore=True, quiet=True) + install('opencv-python-headless==4.12.0.88', ignore=True, quiet=True) install('opencv-contrib-python==4.12.0.88', ignore=True, quiet=True) install('opencv-contrib-python-headless==4.12.0.88', ignore=True, quiet=True) diff --git a/modules/sd_models.py b/modules/sd_models.py index 36e05ae12..9d1c978b3 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -1149,15 +1149,15 @@ def add_noise_pred_to_diffusers_callback(pipe): return pipe if pipe.__class__.__name__.startswith("StableDiffusion"): pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif pipe.__class__.__name__.startswith("StableCascade"): + elif pipe.__class__.__name__.startswith("StableCascade") and ("predicted_image_embedding" not in pipe._callback_tensor_inputs): # pylint: disable=protected-access pipe.prior_pipe._callback_tensor_inputs.append("predicted_image_embedding") # pylint: disable=protected-access - elif hasattr(pipe, "scheduler") and "flow" in pipe.scheduler.__class__.__name__.lower(): + elif hasattr(pipe, "scheduler") and "flow" in pipe.scheduler.__class__.__name__.lower() and ("noise_pred" not in pipe._callback_tensor_inputs): pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif hasattr(pipe, "scheduler") and hasattr(pipe.scheduler, "config") and getattr(pipe.scheduler.config, "prediction_type", "none") == "flow_prediction": + elif hasattr(pipe, "scheduler") and hasattr(pipe.scheduler, "config") and (getattr(pipe.scheduler.config, "prediction_type", "none") == "flow_prediction") and ("noise_pred" not in pipe._callback_tensor_inputs): pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif hasattr(pipe, "default_scheduler") and "flow" in pipe.default_scheduler.__class__.__name__.lower(): + elif hasattr(pipe, "default_scheduler") and ("flow" in pipe.default_scheduler.__class__.__name__.lower()) and ("noise_pred" not in pipe._callback_tensor_inputs): pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif hasattr(pipe, "default_scheduler") and hasattr(pipe.default_scheduler, "config") and getattr(pipe.default_scheduler.config, "prediction_type", "none") == "flow_prediction": + elif hasattr(pipe, "default_scheduler") and hasattr(pipe.default_scheduler, "config") and (getattr(pipe.default_scheduler.config, "prediction_type", "none") == "flow_prediction") and ("noise_pred" not in pipe._callback_tensor_inputs): pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access return pipe diff --git a/requirements.txt b/requirements.txt index 66803df33..dcd901508 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,6 +28,7 @@ fasteners orjson sqlalchemy invisible-watermark +PyWavelets pi-heif # versioned @@ -51,7 +52,6 @@ pandas==2.3.1 numba==0.61.2 protobuf==4.25.3 pytorch_lightning==2.5.5 -PyWavelets==1.9.0 urllib3==1.26.19 Pillow==10.4.0 timm==1.0.16 From 9582a92514e4bb580170e3bf2c9607385aa38139 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 10:15:23 -0400 Subject: [PATCH 051/137] warn on skip-git for diffusers install Signed-off-by: Vladimir Mandic --- installer.py | 5 ++--- requirements.txt | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/installer.py b/installer.py index 54300bb4f..bcf6f37ba 100644 --- a/installer.py +++ b/installer.py @@ -610,9 +610,6 @@ def check_diffusers(): t_start = time.time() if args.skip_all: return - if args.skip_git: - install('diffusers') - return sha = '7536f647e4144c7acaf9e140893ff7edb85bf9a3' # diffusers commit hash # if args.use_rocm or args.use_zluda or args.use_directml: # sha = '043ab2520f6a19fce78e6e060a68dbc947edb9f9' # lock diffusers versions for now @@ -625,6 +622,8 @@ def check_diffusers(): else: log.info(f'Diffusers update: current={pkg.version} hash={cur} target={sha}') pip('uninstall --yes diffusers', ignore=True, quiet=True, uv=False) + if args.skip_git: + log.warning('Git: marked as not available but required for diffusers installation') pip(f'install --upgrade git+https://github.com/huggingface/diffusers@{sha}', ignore=False, quiet=True, uv=False) global diffusers_commit # pylint: disable=global-statement diffusers_commit = sha diff --git a/requirements.txt b/requirements.txt index dcd901508..e29873aef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -42,10 +42,9 @@ torchsde==0.2.6 antlr4-python3-runtime==4.9.3 requests==2.32.4 tqdm==4.67.1 -accelerate==1.10.1 -opencv-contrib-python-headless==4.11.0.86 +accelerate==1.11.0 einops==0.8.1 -huggingface_hub==0.35.3 +huggingface_hub==0.36.0 numexpr==2.11.0 numpy==2.1.2 pandas==2.3.1 From ca0b5a31bf4966d87f33245439b7eea11941174a Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 11:17:12 -0400 Subject: [PATCH 052/137] add quantized models to reference Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 10 +- html/reference.json | 130 +++++++++++++++-------- javascript/extraNetworks.js | 4 + javascript/settings.js | 2 +- modules/sd_models.py | 23 ++-- modules/ui_extra_networks.py | 5 +- modules/ui_extra_networks_checkpoints.py | 19 +++- 7 files changed, 129 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6d270deb..9f6ef3205 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,10 @@ - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - - networks reference section is now split into actual **Reference** models plus: - **Distilled** which shows distilled variants of base models and **Community** which shows community highlights - - Add SDNQ-SVD **pre-quantized** models to distilled models: *FLUX.1-Dev, Chroma1-HD, NoobAI-XL* - *note*: these models are pre-quantized to minimal resource usage while maintaining high quality - if you're low on vram and don't want to explore all of quantization options, these are a good starting point! - - Add additional community models: *CenKreChro, WAI-Illustrious, NoobAI, Pony-Realism* + - networks reference section is now split into actual **Reference** *Base* models plus: + - **Distilled**: distilled variants of base models, for example *Turbo or Lightning* + - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage + - **Community**: community highlights, for example, *Illustrious, Pony, NoobAI* - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is diff --git a/html/reference.json b/html/reference.json index b5113b612..2022a40db 100644 --- a/html/reference.json +++ b/html/reference.json @@ -68,7 +68,7 @@ "tags": "distilled", "date": "2024 February" }, - "StabilityAI Stable Diffusion 3 Medium": { + "StabilityAI Stable Diffusion 3.0 Medium": { "path": "stabilityai/stable-diffusion-3-medium-diffusers", "skip": true, "variant": "fp16", @@ -806,28 +806,6 @@ "date": "2024 October" }, - "ShuttleAI Shuttle 3.0 Diffusion": { - "path": "shuttleai/shuttle-3-diffusion", - "desc": "Shuttle uses Flux.1 Schnell as its base. It can produce images similar to Flux Dev or Pro in just 4 steps, and it is licensed under Apache 2. The model was partially de-distilled during training. When used beyond 10 steps, it enters refiner mode enhancing image details without altering the composition", - "preview": "shuttleai--shuttle-3-diffusion.jpg", - "tags": "community", - "skip": true - }, - "ShuttleAI Shuttle 3.1 Aesthetic": { - "path": "shuttleai/shuttle-3.1-aesthetic", - "desc": "Shuttle uses Flux.1 Schnell as its base. It can produce images similar to Flux Dev or Pro in just 4 steps, and it is licensed under Apache 2. The model was partially de-distilled during training. When used beyond 10 steps, it enters refiner mode enhancing image details without altering the composition", - "preview": "shuttleai--shuttle-3_1-aestetic.jpg", - "tags": "community", - "skip": true - }, - "ShuttleAI Shuttle Jaguar": { - "path": "shuttleai/shuttle-jaguar", - "desc": "Shuttle uses Flux.1 Schnell as its base. It can produce images similar to Flux Dev or Pro in just 4 steps, and it is licensed under Apache 2. The model was partially de-distilled during training. When used beyond 10 steps, it enters refiner mode enhancing image details without altering the composition", - "preview": "shuttleai--shuttle-jaguar.jpg", - "tags": "community", - "skip": true - }, - "Bria 3.2": { "path": "briaai/BRIA-3.2", "desc": "Bria 3.2 is the next-generation commercial-ready text-to-image model. With just 4 billion parameters, it provides exceptional aesthetics and text rendering, evaluated to provide on par results to leading open-source models, and outperforming other licensed models.", @@ -933,7 +911,7 @@ "preview": "Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg", "desc": "4 bit (UINT4 with SVD rank 32) quantization of black-forest-labs/FLUX.1-dev using SDNQ.", "skip": true, - "tags": "distilled", + "tags": "quantized", "size": 6.8, "date": "2025 October", "extras": "" @@ -941,30 +919,76 @@ "Chroma1-HD sdnq-svd-uint4": { "path": "Disty0/Chroma1-HD-SDNQ-uint4-svd-r32", "preview": "Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg", - "desc": "4 bit (UINT4 with SVD rank 32) quantization of lodestones/Chroma1-HD using SDNQ.", + "desc": "quantization of lodestones/Chroma1-HD using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, - "tags": "distilled", + "tags": "quantized", "size": 5.4, "date": "2025 October", "extras": "" }, - "NoobAI-XL v1.1 sdnq-svd-uint4": { + "Wan-AI Wan2.2 A14B T2I sdnq-svd-uint4": { + "path": "Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32", + "preview": "Wan-AI--Wan2.2-T2V-A14B-Diffusers.jpg", + "desc": "quantization of Wan-AI/Wan2.2-T2V-A14B-Diffusers using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "date": "2025 October", + "extras": "" + }, + "Wan-AI Wan2.2 A14B I2I sdnq-svd-uint4": { + "path": "Disty0/Wan2.2-I2V-A14B-SDNQ-uint4-svd-r32", + "preview": "Wan-AI--Wan2.2-T2V-A14B-Diffusers.jpg", + "desc": "quantization of Wan-AI/Wan2.2-I2V-A14B-Diffusers using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "date": "2025 October", + "extras": "" + }, + "Qwen-Image sdnq-svd-uint4": { + "path": "Disty0/Qwen-Image-SDNQ-uint4-svd-r32", + "preview": "Qwen--Qwen-Image.jpg", + "desc": "quantization of Qwen/Qwen-Image using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "date": "2025 October", + "extras": "" + }, + "Qwen-Image-Edit sdnq-svd-uint4": { + "path": "Disty0/Qwen-Image-Edit-SDNQ-uint4-svd-r32", + "preview": "Qwen--Qwen-Image-Edit.jpg", + "desc": "quantization of Qwen/Qwen-Image-Edit using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "date": "2025 October", + "extras": "" + }, + "Qwen-Image-Edit-2509 sdnq-svd-uint4": { + "path": "Disty0/Qwen-Image-Edit-2509-SDNQ-uint4-svd-r32", + "preview": "Qwen--Qwen-Image-Edit-2509.jpg", + "desc": "quantization of Qwen/Qwen-Image-Edit-2509 using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "date": "2025 October", + "extras": "" + }, + + "NoobAI-XL v1.1 epsilon sdnq-svd-uint4": { "path": "Disty0/NoobAI-XL-v1.1-SDNQ-uint4-svd-r128", "preview": "Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg", - "desc": "4 bit (UINT4 with SVD rank 128) quantization of Laxhar/noobai-XL-1.1 using SDNQ.", + "desc": "quantization of Laxhar/noobai-XL-1.1 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", "skip": true, - "tags": "distilled", - "size": 5.4, + "tags": "quantized", + "size": 2.56, "date": "2025 October", "extras": "" }, "NoobAI-XL v1.0 v-pred sdnq-svd-uint4": { "path": "Disty0/NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128", "preview": "Disty0--NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg", - "desc": "4 bit (UINT4 with SVD rank 128) quantization of Laxhar/noobai-XL-Vpred-1.0 using SDNQ.", + "desc": "quantization of Laxhar/noobai-XL-Vpred-1.0 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", "skip": true, - "tags": "distilled", - "size": 5.4, + "tags": "quantized", + "size": 2.56, "date": "2025 October", "extras": "" }, @@ -1015,15 +1039,6 @@ "tags": "community", "extras": "width: 512, height: 512, sampler: DEIS, steps: 20, cfg_scale: 6.0" }, - "Tiwaz CenKreChro": { - "path": "Tiwaz/CenKreChro", - "preview": "Tiwaz--CenKreChro.jpg", - "skip": true, - "desc": "Based Centerfold Flux 5, trying to merge in Chroma and Krea.", - "extras": "", - "tags": "community", - "date": "2025 September" - }, "WAI Illustrious XL v15": { "path": "waiIllustriousSDXL_v150.safetensors@https://civitai.com/api/download/models/2167369", "preview": "waiIllustriousSDXL_v150.jpg", @@ -1068,5 +1083,36 @@ "size": 6.94, "date": "2025 May", "extras": "" + }, + "Tiwaz CenKreChro": { + "path": "Tiwaz/CenKreChro", + "preview": "Tiwaz--CenKreChro.jpg", + "skip": true, + "desc": "Based Centerfold Flux 5, trying to merge in Chroma and Krea.", + "extras": "", + "tags": "community", + "date": "2025 September" + }, + "ShuttleAI Shuttle 3.0 Diffusion": { + "path": "shuttleai/shuttle-3-diffusion", + "desc": "Shuttle uses Flux.1 Schnell as its base. It can produce images similar to Flux Dev or Pro in just 4 steps, and it is licensed under Apache 2. The model was partially de-distilled during training. When used beyond 10 steps, it enters refiner mode enhancing image details without altering the composition", + "preview": "shuttleai--shuttle-3-diffusion.jpg", + "tags": "community", + "skip": true + }, + "ShuttleAI Shuttle 3.1 Aesthetic": { + "path": "shuttleai/shuttle-3.1-aesthetic", + "desc": "Shuttle uses Flux.1 Schnell as its base. It can produce images similar to Flux Dev or Pro in just 4 steps, and it is licensed under Apache 2. The model was partially de-distilled during training. When used beyond 10 steps, it enters refiner mode enhancing image details without altering the composition", + "preview": "shuttleai--shuttle-3_1-aestetic.jpg", + "tags": "community", + "skip": true + }, + "ShuttleAI Shuttle Jaguar": { + "path": "shuttleai/shuttle-jaguar", + "desc": "Shuttle uses Flux.1 Schnell as its base. It can produce images similar to Flux Dev or Pro in just 4 steps, and it is licensed under Apache 2. The model was partially de-distilled during training. When used beyond 10 steps, it enters refiner mode enhancing image details without altering the composition", + "preview": "shuttleai--shuttle-jaguar.jpg", + "tags": "community", + "skip": true } + } diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index d7affa804..aa9b71246 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -153,6 +153,10 @@ async function filterExtraNetworksForTab(searchTerm) { cards.forEach((elem) => elem.style.display = elem.dataset.tags .toLowerCase() .includes('community') ? '' : 'none'); + } else if (searchTerm === 'quantized/') { + cards.forEach((elem) => elem.style.display = elem.dataset.tags + .toLowerCase() + .includes('quantized') ? '' : 'none'); } else if (searchTerm === 'local/') { cards.forEach((elem) => elem.style.display = elem.dataset.name .toLowerCase() diff --git a/javascript/settings.js b/javascript/settings.js index f6d133a19..f82f0a692 100644 --- a/javascript/settings.js +++ b/javascript/settings.js @@ -170,7 +170,7 @@ async function initModels() { if (en.classList.contains('hide')) gradioApp().getElementById('txt2img_extra_networks_btn').click(); const repeat = setInterval(() => { const buttons = Array.from(gradioApp().querySelectorAll('#txt2img_model_subdirs > button')) || []; - const reference = buttons.find((b) => (b.innerText === 'Reference') || (b.innerText === 'Distilled') || (b.innerText === 'Community')); + const reference = buttons.find((b) => (b.innerText === 'Reference') || (b.innerText === 'Distilled') || (b.innerText === 'Community') || (b.innerText === 'Quantized')); if (reference) { clearInterval(repeat); reference.click(); diff --git a/modules/sd_models.py b/modules/sd_models.py index 9d1c978b3..534c3af58 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -1147,18 +1147,19 @@ def set_diffusers_attention(pipe, quiet:bool=False): def add_noise_pred_to_diffusers_callback(pipe): if not hasattr(pipe, "_callback_tensor_inputs"): return pipe - if pipe.__class__.__name__.startswith("StableDiffusion"): - pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif pipe.__class__.__name__.startswith("StableCascade") and ("predicted_image_embedding" not in pipe._callback_tensor_inputs): # pylint: disable=protected-access + if pipe.__class__.__name__.startswith("StableCascade") and ("predicted_image_embedding" not in pipe._callback_tensor_inputs): # pylint: disable=protected-access pipe.prior_pipe._callback_tensor_inputs.append("predicted_image_embedding") # pylint: disable=protected-access - elif hasattr(pipe, "scheduler") and "flow" in pipe.scheduler.__class__.__name__.lower() and ("noise_pred" not in pipe._callback_tensor_inputs): - pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif hasattr(pipe, "scheduler") and hasattr(pipe.scheduler, "config") and (getattr(pipe.scheduler.config, "prediction_type", "none") == "flow_prediction") and ("noise_pred" not in pipe._callback_tensor_inputs): - pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif hasattr(pipe, "default_scheduler") and ("flow" in pipe.default_scheduler.__class__.__name__.lower()) and ("noise_pred" not in pipe._callback_tensor_inputs): - pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access - elif hasattr(pipe, "default_scheduler") and hasattr(pipe.default_scheduler, "config") and (getattr(pipe.default_scheduler.config, "prediction_type", "none") == "flow_prediction") and ("noise_pred" not in pipe._callback_tensor_inputs): - pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access + elif "noise_pred" not in pipe._callback_tensor_inputs: + if pipe.__class__.__name__.startswith("StableDiffusion"): + pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access + elif hasattr(pipe, "scheduler") and "flow" in pipe.scheduler.__class__.__name__.lower(): + pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access + elif hasattr(pipe, "scheduler") and hasattr(pipe.scheduler, "config") and (getattr(pipe.scheduler.config, "prediction_type", "none") == "flow_prediction"): + pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access + elif hasattr(pipe, "default_scheduler") and ("flow" in pipe.default_scheduler.__class__.__name__.lower()): + pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access + elif hasattr(pipe, "default_scheduler") and hasattr(pipe.default_scheduler, "config") and (getattr(pipe.default_scheduler.config, "prediction_type", "none") == "flow_prediction"): + pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access return pipe diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py index 50341f36f..741605c25 100644 --- a/modules/ui_extra_networks.py +++ b/modules/ui_extra_networks.py @@ -273,6 +273,7 @@ class ExtraNetworksPage: subdirs['Local'] = 1 subdirs['Reference'] = 1 subdirs['Distilled'] = 1 + subdirs['Quantized'] = 1 subdirs['Community'] = 1 subdirs[diffusers_base] = 1 if self.name == 'style' and shared.opts.extra_networks_styles: @@ -289,13 +290,15 @@ class ExtraNetworksPage: subdirs.move_to_end('Reference', last=True) if 'Distilled' in subdirs: subdirs.move_to_end('Distilled', last=True) + if 'Quantized' in subdirs: + subdirs.move_to_end('Quantized', last=True) if 'Community' in subdirs: subdirs.move_to_end('Community', last=True) subdirs_html = '' for subdir in subdirs: if len(subdir) == 0: continue - if subdir in ['All', 'Local', 'Diffusers', 'Reference', 'Distilled', 'Community']: + if subdir in ['All', 'Local', 'Diffusers', 'Reference', 'Distilled', 'Quantized', 'Community']: style = 'network-reference' else: style = 'network-folder' diff --git a/modules/ui_extra_networks_checkpoints.py b/modules/ui_extra_networks_checkpoints.py index cb21fe608..2fe4db376 100644 --- a/modules/ui_extra_networks_checkpoints.py +++ b/modules/ui_extra_networks_checkpoints.py @@ -4,6 +4,7 @@ import json import concurrent from datetime import datetime from modules import shared, ui_extra_networks, sd_models, modelstats, paths +from modules.json_helpers import readfile version_map = { @@ -36,8 +37,10 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): return any(model.endswith(url) for model in existing) if not shared.opts.sd_checkpoint_autodownload or not shared.opts.extra_network_reference_enable: + shared.log.debug(f'Networks: type="reference" autodownload={shared.opts.sd_checkpoint_autodownload} enable={shared.opts.extra_network_reference_enable}') return [] - count = { 'total': 0, 'ready': 0, 'hidden': 0, 'experimental': 0 } + count = { 'total': 0, 'ready': 0, 'hidden': 0, 'experimental': 0, 'base': 0 } + shared.reference_models = readfile(os.path.join('html', 'reference.json')) for k, v in shared.reference_models.items(): count['total'] += 1 url = v['path'] @@ -64,12 +67,22 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): path = f'{v.get("path", "")}+{v.get("subfolder", "")}' else: path = f'{v.get("path", "")}' + ready = reference_downloaded(url) if not ready and shared.opts.offline_mode: count['hidden'] += 1 continue if ready: count['ready'] += 1 + + tag = v.get('tags', '') + if tag in count: + count[tag] += 1 + elif tag != '': + count[tag] = 1 + else: + count['base'] += 1 + yield { "type": 'Model', "name": name, @@ -85,9 +98,9 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): "metadata": {}, "description": v.get('desc', ''), "version": "ready" if ready else "download", - "tags": v.get('tags', ''), + "tags": tag, } - shared.log.debug(f'Networks: type="reference" items={count["total"]} ready={count["ready"]} hidden={count["hidden"]} experimental={count["experimental"]}') + shared.log.debug(f'Networks: type="reference" items={count}') def create_item(self, name): record = None From 203e46af0cbecef62f36062bfa7da4480053b309 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 12:18:52 -0400 Subject: [PATCH 053/137] update reference sizes Signed-off-by: Vladimir Mandic --- cli/hf-search.py | 16 ++++++++-------- html/reference.json | 13 +++++++++---- pipelines/generic.py | 9 +++++++++ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/cli/hf-search.py b/cli/hf-search.py index f69c215eb..9ee696602 100755 --- a/cli/hf-search.py +++ b/cli/hf-search.py @@ -7,12 +7,12 @@ from rich import print # pylint: disable=redefined-builtin if __name__ == "__main__": sys.argv.pop(0) keyword = sys.argv[0] if len(sys.argv) > 0 else '' + hf.logging.set_verbosity_info() hf_api = hf.HfApi() - model_filter = hf.ModelFilter( - model_name=keyword, - # task='text-to-image', - library=['diffusers'], - ) - res = hf_api.list_models(filter=model_filter, full=True, limit=50, sort="downloads", direction=-1) - models = [{ 'name': m.id, 'downloads': m.downloads, 'mtime': m.lastModified, 'url': f'https://huggingface.co/{m.id}', 'pipeline': m.pipeline_tag, 'tags': m.tags } for m in res] - print(models) + res = hf_api.list_models(model_name=keyword, full=True, limit=100, sort="downloads", direction=-1) + res = sorted(res, key=lambda x: x.id) + for m in res: + meta = hf_api.model_info(m.id, files_metadata=True) + m.files = [f.rfilename for f in meta.siblings if f.rfilename.endswith('.bin') or f.rfilename.endswith('.safetensors')] + m.size = sum([f.size for f in meta.siblings]) / 1024 / 1024 / 1024 # in GB + print({ 'name': m.id, 'files': len(m.files), 'size': m.size, 'downloads': m.downloads, 'mtime': m.lastModified, 'url': f'https://huggingface.co/{m.id}', 'pipeline': m.pipeline_tag }) diff --git a/html/reference.json b/html/reference.json index 2022a40db..437e7461c 100644 --- a/html/reference.json +++ b/html/reference.json @@ -912,7 +912,7 @@ "desc": "4 bit (UINT4 with SVD rank 32) quantization of black-forest-labs/FLUX.1-dev using SDNQ.", "skip": true, "tags": "quantized", - "size": 6.8, + "size": 13.53, "date": "2025 October", "extras": "" }, @@ -922,7 +922,7 @@ "desc": "quantization of lodestones/Chroma1-HD using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, "tags": "quantized", - "size": 5.4, + "size": 11.89, "date": "2025 October", "extras": "" }, @@ -933,6 +933,7 @@ "skip": true, "tags": "quantized", "date": "2025 October", + "size": 23.54, "extras": "" }, "Wan-AI Wan2.2 A14B I2I sdnq-svd-uint4": { @@ -942,6 +943,7 @@ "skip": true, "tags": "quantized", "date": "2025 October", + "size": 23.55, "extras": "" }, "Qwen-Image sdnq-svd-uint4": { @@ -951,6 +953,7 @@ "skip": true, "tags": "quantized", "date": "2025 October", + "size": 16.09, "extras": "" }, "Qwen-Image-Edit sdnq-svd-uint4": { @@ -960,6 +963,7 @@ "skip": true, "tags": "quantized", "date": "2025 October", + "size": 16.10, "extras": "" }, "Qwen-Image-Edit-2509 sdnq-svd-uint4": { @@ -969,6 +973,7 @@ "skip": true, "tags": "quantized", "date": "2025 October", + "size": 16.10, "extras": "" }, @@ -978,7 +983,7 @@ "desc": "quantization of Laxhar/noobai-XL-1.1 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", "skip": true, "tags": "quantized", - "size": 2.56, + "size": 3.37, "date": "2025 October", "extras": "" }, @@ -988,7 +993,7 @@ "desc": "quantization of Laxhar/noobai-XL-Vpred-1.0 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", "skip": true, "tags": "quantized", - "size": 2.56, + "size": 3.37, "date": "2025 October", "extras": "" }, diff --git a/pipelines/generic.py b/pipelines/generic.py index e78ac7b8b..70f3b4449 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -49,6 +49,8 @@ def load_transformer(repo_id, cls_name, load_config={}, subfolder="transformer", ) else: shared.log.debug(f'Load model: transformer="{repo_id}" cls={cls_name.__name__} subfolder={subfolder} quant="{quant_type}" args={load_args}') + if 'sdnq-' in repo_id.lower(): + quant_args = {} if dtype is not None: load_args['torch_dtype'] = dtype if subfolder is not None: @@ -131,6 +133,13 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder ) text_encoder.quantization_method = 'SVDQuant' elif shared.opts.te_shared_t5: + """ + if 'sdnq-' in repo_id.lower(): + repo_id = 'Disty0/FLUX.1-dev-SDNQ-uint4-svd-r32' + load_args['subfolder'] = 'text_encoder_2' + quant_args = {} + else: + """ repo_id = 'Disty0/t5-xxl' shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') if dtype is not None: From eb3fcac55a1e2196019af3f59f0471765082034f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 12:35:27 -0400 Subject: [PATCH 054/137] video pipeline import exception handler Signed-off-by: Vladimir Mandic --- modules/ltx/ltx_ui.py | 2 +- modules/video_models/models_def.py | 696 +++++++++++++++-------------- 2 files changed, 354 insertions(+), 344 deletions(-) diff --git a/modules/ltx/ltx_ui.py b/modules/ltx/ltx_ui.py index 6ac23bf86..ade98132a 100644 --- a/modules/ltx/ltx_ui.py +++ b/modules/ltx/ltx_ui.py @@ -14,7 +14,7 @@ def create_ui(prompt, negative, styles, overrides, init_image, init_strength, la with gr.Row(): generate = gr.Button('Generate', elem_id="ltx_generate_btn", variant='primary', visible=False) with gr.Row(): - ltx_models = [m.name for m in models['LTX Video']] + ltx_models = [m.name for m in models['LTX Video']] if 'LTX Video' in models else ['None'] model = gr.Dropdown(label='LTX model', choices=ltx_models, value=ltx_models[0]) with gr.Accordion(open=False, label="Condition", elem_id='ltx_condition_accordion'): with gr.Tabs(): diff --git a/modules/video_models/models_def.py b/modules/video_models/models_def.py index f3b64b40c..0b97935d0 100644 --- a/modules/video_models/models_def.py +++ b/modules/video_models/models_def.py @@ -1,6 +1,8 @@ from dataclasses import dataclass +import time import diffusers import transformers +from installer import log @dataclass @@ -27,346 +29,354 @@ class Model(): return f'name="{self.name}" url="{self.url}" repo="{self.repo}" repo_cls="{self.repo_cls}" dit="{self.dit}" dit_cls="{self.dit_cls}" dit_folder="{self.dit_folder}" te="{self.te}" te_cls="{self.te_cls}" te_folder="{self.te_folder}" te_hijack={self.te_hijack} vae_hijack={self.vae_hijack} vae_remote={self.vae_remote}' -models = { - 'None': [], - 'Hunyuan Video': [ - Model(name='None'), - Model(name='Hunyuan Video T2V', - url='https://huggingface.co/tencent/HunyuanVideo', - vae_remote=True, - repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanVideoPipeline, - te_cls=transformers.LlamaModel, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), - Model(name='Hunyuan Video I2V', # https://github.com/huggingface/diffusers/pull/10983 - url='https://huggingface.co/tencent/HunyuanVideo-I2V', - vae_remote=True, - repo='hunyuanvideo-community/HunyuanVideo-I2V', - repo_cls=diffusers.HunyuanVideoImageToVideoPipeline, - te_cls=transformers.LlavaForConditionalGeneration, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), - Model(name='SkyReels Hunyuan T2V', # https://github.com/huggingface/diffusers/pull/10837 - url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-T2V', - vae_remote=True, - repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanVideoPipeline, - te_cls=transformers.LlamaModel, - dit='Skywork/SkyReels-V1-Hunyuan-T2V', - dit_folder=None, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), - Model(name='SkyReels Hunyuan I2V', # https://github.com/huggingface/diffusers/pull/10837 - url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-I2V', - vae_remote=True, - repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanSkyreelsImageToVideoPipeline, - te_cls=transformers.LlamaModel, - dit='Skywork/SkyReels-V1-Hunyuan-I2V', - dit_folder=None, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), - Model(name='Fast Hunyuan T2V', # https://github.com/hao-ai-lab/FastVideo/blob/8a77cf22c9b9e7f931f42bc4b35d21fd91d24e45/fastvideo/models/hunyuan/inference.py#L213 - url='https://huggingface.co/FastVideo/FastHunyuan', - vae_remote=True, - repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanVideoPipeline, - te_cls=transformers.LlamaModel, - dit='FastVideo/FastHunyuan-diffusers', - dit_cls=diffusers.HunyuanVideoTransformer3DModel), - ], - 'LTX Video': [ - Model(name='None'), - Model(name='LTXVideo 0.9.8 13B', - url='https://huggingface.co/Lightricks/LTX-Video-0.9.8-13B-distilled', - repo='Lightricks/LTX-Video-0.9.8-13B-distilled', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.7 13B', - url='https://huggingface.co/Lightricks/LTX-Video-0.9.7-dev', - repo='a-r-r-o-w/LTX-Video-0.9.7-diffusers', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.6 2B T2V', - url='https://huggingface.co/Lightricks/LTX-Video', - repo='Lightricks/LTX-Video', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.6 2B I2V', - url='https://huggingface.co/Lightricks/LTX-Video', - repo='Lightricks/LTX-Video', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.6 2B T2V Distilled', - url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', - repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.6 2B I2V Distilled', - url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', - repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.5 T2V', # https://github.com/huggingface/diffusers/pull/10968 - url='https://huggingface.co/Lightricks/LTX-Video-0.9.5', - repo='Lightricks/LTX-Video-0.9.5', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.5 I2V', - url='https://huggingface.co/Lightricks/LTX-Video-0.9.5', - repo='Lightricks/LTX-Video-0.9.5', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.1 T2V', - url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers', - repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers', - repo_cls=diffusers.LTXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.1 I2V', - url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers', - repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers', - repo_cls=diffusers.LTXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.0 T2V', - url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers', - repo='a-r-r-o-w/LTX-Video-diffusers', - repo_cls=diffusers.LTXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - Model(name='LTXVideo 0.9.0 I2V', - url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers', - repo='a-r-r-o-w/LTX-Video-diffusers', - repo_cls=diffusers.LTXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), - ], - 'WAN Video': [ - Model(name='None'), - Model(name='WAN 2.2 5B T2V', - url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers', - repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), - Model(name='WAN 2.2 5B I2V', - url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers', - repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), - Model(name='WAN 2.2 A14B T2V', - url='https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B-Diffusers', - repo='Wan-AI/Wan2.2-T2V-A14B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel, - dit_folder=("transformer", "transformer_2")), - Model(name='WAN 2.2 A14B I2V', - url='https://huggingface.co/Wan-AI/Wan2.2-I2V-A14B-Diffusers', - repo='Wan-AI/Wan2.2-I2V-A14B-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel, - dit_folder=("transformer", "transformer_2")), - Model(name='WAN 2.2 14B VACE', - url='https://huggingface.co/linoyts/Wan2.2-VACE-Fun-14B-diffusers', - repo='linoyts/Wan2.2-VACE-Fun-14B-diffusers', - repo_cls=diffusers.WanVACEPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanVACETransformer3DModel, - dit_folder=("transformer", "transformer_2")), - Model(name='WAN 2.1 1.3B T2V', - url='https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers', - repo='Wan-AI/Wan2.1-T2V-1.3B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), - Model(name='WAN 2.1 14B T2V', - url='https://huggingface.co/Wan-AI/Wan2.1-T2V-14B-Diffusers', - repo='Wan-AI/Wan2.1-T2V-14B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), - Model(name='WAN 2.1 14B I2V 480p', - url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-480P-Diffusers', - repo='Wan-AI/Wan2.1-I2V-14B-480P-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), - Model(name='WAN 2.1 14B I2V 720p', - url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P-Diffusers', - repo='Wan-AI/Wan2.1-I2V-14B-720P-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), - Model(name='WAN 2.1 14B FLF2V 720p', - url='https://huggingface.co/Wan-AI/Wan2.1-FLF2V-14B-720P', - repo='Wan-AI/Wan2.1-FLF2V-14B-720P-diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), - Model(name='WAN 2.1 VACE 1.3B', - url='https://huggingface.co/Wan-AI/Wan2.1-VACE-1.3B-diffusers', - repo='Wan-AI/Wan2.1-VACE-1.3B-diffusers', - repo_cls=diffusers.WanVACEPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanVACETransformer3DModel), - Model(name='WAN 2.1 VACE 14B', - url='https://huggingface.co/Wan-AI/Wan2.1-VACE-14B-diffusers', - repo='Wan-AI/Wan2.1-VACE-14B-diffusers', - repo_cls=diffusers.WanVACEPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanVACETransformer3DModel), - ], - 'SkyReels V2': [ - Model(name='None'), - Model(name='SkyReels-V2 T2V-DF 1.3B-540P', - url='https://huggingface.co/Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers', - repo='Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers', - repo_cls=diffusers.SkyReelsV2DiffusionForcingPipeline, - repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), - Model(name='SkyReels-V2 T2V-DF 14B-720P', - url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers', - repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2DiffusionForcingPipeline, - repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), - Model(name='SkyReels-V2 I2V-DF 14B-720P', - url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers', - repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2DiffusionForcingImageToVideoPipeline, - repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), - Model(name='SkyReels-V2 T2V 14B-720P', - url='https://huggingface.co/Skywork/SkyReels-V2-T2V-14B-720P-Diffusers', - repo='Skywork/SkyReels-V2-T2V-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2Pipeline, - repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), - Model(name='SkyReels-V2 I2V 14B-720P', - url='https://huggingface.co/Skywork/SkyReels-V2-I2V-14B-720P-Diffusers', - repo='Skywork/SkyReels-V2-I2V-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2ImageToVideoPipeline, - repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), - ], - 'Mochi Video': [ - Model(name='None'), - Model(name='Mochi 1 T2V', - url='https://huggingface.co/genmo/mochi-1-preview', - repo='genmo/mochi-1-preview', - repo_cls=diffusers.MochiPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.MochiTransformer3DModel), - ], - 'Latte Video': [ - Model(name='None'), - Model(name='Latte 1 T2V', - url='https://huggingface.co/maxin-cn/Latte-1', - repo='maxin-cn/Latte-1', - repo_cls=diffusers.LattePipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LatteTransformer3DModel), - ], - 'Allegro Video': [ - Model(name='None'), - Model(name='Allegro T2V', - url='https://huggingface.co/rhymes-ai/Allegro', - repo='rhymes-ai/Allegro', - repo_cls=diffusers.AllegroPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.AllegroTransformer3DModel), - ], - 'Cog Video': [ - Model(name='None'), - Model(name='CogVideoX 1.0 2B T2V', - url='https://huggingface.co/THUDM/CogVideoX-2b', - repo='THUDM/CogVideoX-2b', - repo_cls=diffusers.CogVideoXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), - Model(name='CogVideoX 1.0 5B T2V', - url='https://huggingface.co/THUDM/CogVideoX-5b', - repo='THUDM/CogVideoX-5b', - repo_cls=diffusers.CogVideoXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), - Model(name='CogVideoX 1.0 5B I2V', - url='https://huggingface.co/THUDM/CogVideoX-5b-I2V', - repo='THUDM/CogVideoX-5b-I2V', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), - Model(name='CogVideoX 1.5 5B T2V', - url='https://huggingface.co/THUDM/CogVideoX1.5-5B', - repo='THUDM/CogVideoX1.5-5B', - repo_cls=diffusers.CogVideoXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), - Model(name='CogVideoX 1.5 5B I2V', - url='https://huggingface.co/THUDM/CogVideoX1.5-5B-I2V', - repo='THUDM/CogVideoX1.5-5B-I2V', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), - Model(name='Index Anisora 1.0 5B I2V', - url='https://huggingface.co/Disty0/Index-anisora-5B-diffusers', - repo='Disty0/Index-anisora-5B-diffusers', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), - Model(name='Index Anisora 1.0 5B RL I2V', - url='https://huggingface.co/Disty0/Index-anisora-5B_RL-diffusers', - repo='Disty0/Index-anisora-5B_RL-diffusers', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), - ], - 'nVidia Cosmos': [ - Model(name='nvidia Cosmos Predict2 2B I2V', - url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image', - repo='nvidia/Cosmos-Predict2-2B-Video2World', - repo_cls=diffusers.Cosmos2VideoToWorldPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CosmosTransformer3DModel), - Model(name='nvidia Cosmos Predict2 2B I2V', - url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image', - repo='nvidia/Cosmos-Predict2-2B-Video2World', - repo_cls=diffusers.Cosmos2VideoToWorldPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CosmosTransformer3DModel), - ], - 'Kandinsky': [ - Model(name='Kandinsky 5.0 Lite SFT T2V', - url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', - repo='ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', - repo_cls=diffusers.Kandinsky5T2VPipeline, - te_cls=transformers.Qwen2_5_VLForConditionalGeneration, - dit_cls=diffusers.Kandinsky5Transformer3DModel), - Model(name='Kandinsky 5.0 Lite CFG-distilled T2V', - url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', - repo='ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', - repo_cls=diffusers.Kandinsky5T2VPipeline, - te_cls=transformers.Qwen2_5_VLForConditionalGeneration, - dit_cls=diffusers.Kandinsky5Transformer3DModel), - Model(name='Kandinsky 5.0 Lite Steps-distilled T2V', - url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', - repo='ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', - repo_cls=diffusers.Kandinsky5T2VPipeline, - te_cls=transformers.Qwen2_5_VLForConditionalGeneration, - dit_cls=diffusers.Kandinsky5Transformer3DModel), - ], -} +try: + t0 = time.time() + models = { + 'None': [], + 'Hunyuan Video': [ + Model(name='None'), + Model(name='Hunyuan Video T2V', + url='https://huggingface.co/tencent/HunyuanVideo', + vae_remote=True, + repo='hunyuanvideo-community/HunyuanVideo', + repo_cls=diffusers.HunyuanVideoPipeline, + te_cls=transformers.LlamaModel, + dit_cls=diffusers.HunyuanVideoTransformer3DModel), + Model(name='Hunyuan Video I2V', # https://github.com/huggingface/diffusers/pull/10983 + url='https://huggingface.co/tencent/HunyuanVideo-I2V', + vae_remote=True, + repo='hunyuanvideo-community/HunyuanVideo-I2V', + repo_cls=diffusers.HunyuanVideoImageToVideoPipeline, + te_cls=transformers.LlavaForConditionalGeneration, + dit_cls=diffusers.HunyuanVideoTransformer3DModel), + Model(name='SkyReels Hunyuan T2V', # https://github.com/huggingface/diffusers/pull/10837 + url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-T2V', + vae_remote=True, + repo='hunyuanvideo-community/HunyuanVideo', + repo_cls=diffusers.HunyuanVideoPipeline, + te_cls=transformers.LlamaModel, + dit='Skywork/SkyReels-V1-Hunyuan-T2V', + dit_folder=None, + dit_cls=diffusers.HunyuanVideoTransformer3DModel), + Model(name='SkyReels Hunyuan I2V', # https://github.com/huggingface/diffusers/pull/10837 + url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-I2V', + vae_remote=True, + repo='hunyuanvideo-community/HunyuanVideo', + repo_cls=diffusers.HunyuanSkyreelsImageToVideoPipeline, + te_cls=transformers.LlamaModel, + dit='Skywork/SkyReels-V1-Hunyuan-I2V', + dit_folder=None, + dit_cls=diffusers.HunyuanVideoTransformer3DModel), + Model(name='Fast Hunyuan T2V', # https://github.com/hao-ai-lab/FastVideo/blob/8a77cf22c9b9e7f931f42bc4b35d21fd91d24e45/fastvideo/models/hunyuan/inference.py#L213 + url='https://huggingface.co/FastVideo/FastHunyuan', + vae_remote=True, + repo='hunyuanvideo-community/HunyuanVideo', + repo_cls=diffusers.HunyuanVideoPipeline, + te_cls=transformers.LlamaModel, + dit='FastVideo/FastHunyuan-diffusers', + dit_cls=diffusers.HunyuanVideoTransformer3DModel), + ], + 'LTX Video': [ + Model(name='None'), + Model(name='LTXVideo 0.9.8 13B', + url='https://huggingface.co/Lightricks/LTX-Video-0.9.8-13B-distilled', + repo='Lightricks/LTX-Video-0.9.8-13B-distilled', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.7 13B', + url='https://huggingface.co/Lightricks/LTX-Video-0.9.7-dev', + repo='a-r-r-o-w/LTX-Video-0.9.7-diffusers', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.6 2B T2V', + url='https://huggingface.co/Lightricks/LTX-Video', + repo='Lightricks/LTX-Video', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.6 2B I2V', + url='https://huggingface.co/Lightricks/LTX-Video', + repo='Lightricks/LTX-Video', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.6 2B T2V Distilled', + url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', + repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.6 2B I2V Distilled', + url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', + repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.5 T2V', # https://github.com/huggingface/diffusers/pull/10968 + url='https://huggingface.co/Lightricks/LTX-Video-0.9.5', + repo='Lightricks/LTX-Video-0.9.5', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.5 I2V', + url='https://huggingface.co/Lightricks/LTX-Video-0.9.5', + repo='Lightricks/LTX-Video-0.9.5', + repo_cls=diffusers.LTXConditionPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.1 T2V', + url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers', + repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers', + repo_cls=diffusers.LTXPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.1 I2V', + url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers', + repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers', + repo_cls=diffusers.LTXImageToVideoPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.0 T2V', + url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers', + repo='a-r-r-o-w/LTX-Video-diffusers', + repo_cls=diffusers.LTXPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + Model(name='LTXVideo 0.9.0 I2V', + url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers', + repo='a-r-r-o-w/LTX-Video-diffusers', + repo_cls=diffusers.LTXImageToVideoPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LTXVideoTransformer3DModel), + ], + 'WAN Video': [ + Model(name='None'), + Model(name='WAN 2.2 5B T2V', + url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers', + repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers', + repo_cls=diffusers.WanPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel), + Model(name='WAN 2.2 5B I2V', + url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers', + repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers', + repo_cls=diffusers.WanImageToVideoPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel), + Model(name='WAN 2.2 A14B T2V', + url='https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B-Diffusers', + repo='Wan-AI/Wan2.2-T2V-A14B-Diffusers', + repo_cls=diffusers.WanPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel, + dit_folder=("transformer", "transformer_2")), + Model(name='WAN 2.2 A14B I2V', + url='https://huggingface.co/Wan-AI/Wan2.2-I2V-A14B-Diffusers', + repo='Wan-AI/Wan2.2-I2V-A14B-Diffusers', + repo_cls=diffusers.WanImageToVideoPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel, + dit_folder=("transformer", "transformer_2")), + Model(name='WAN 2.2 14B VACE', + url='https://huggingface.co/linoyts/Wan2.2-VACE-Fun-14B-diffusers', + repo='linoyts/Wan2.2-VACE-Fun-14B-diffusers', + repo_cls=diffusers.WanVACEPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanVACETransformer3DModel, + dit_folder=("transformer", "transformer_2")), + Model(name='WAN 2.1 1.3B T2V', + url='https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers', + repo='Wan-AI/Wan2.1-T2V-1.3B-Diffusers', + repo_cls=diffusers.WanPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel), + Model(name='WAN 2.1 14B T2V', + url='https://huggingface.co/Wan-AI/Wan2.1-T2V-14B-Diffusers', + repo='Wan-AI/Wan2.1-T2V-14B-Diffusers', + repo_cls=diffusers.WanPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel), + Model(name='WAN 2.1 14B I2V 480p', + url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-480P-Diffusers', + repo='Wan-AI/Wan2.1-I2V-14B-480P-Diffusers', + repo_cls=diffusers.WanImageToVideoPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel), + Model(name='WAN 2.1 14B I2V 720p', + url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P-Diffusers', + repo='Wan-AI/Wan2.1-I2V-14B-720P-Diffusers', + repo_cls=diffusers.WanImageToVideoPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel), + Model(name='WAN 2.1 14B FLF2V 720p', + url='https://huggingface.co/Wan-AI/Wan2.1-FLF2V-14B-720P', + repo='Wan-AI/Wan2.1-FLF2V-14B-720P-diffusers', + repo_cls=diffusers.WanImageToVideoPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanTransformer3DModel), + Model(name='WAN 2.1 VACE 1.3B', + url='https://huggingface.co/Wan-AI/Wan2.1-VACE-1.3B-diffusers', + repo='Wan-AI/Wan2.1-VACE-1.3B-diffusers', + repo_cls=diffusers.WanVACEPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanVACETransformer3DModel), + Model(name='WAN 2.1 VACE 14B', + url='https://huggingface.co/Wan-AI/Wan2.1-VACE-14B-diffusers', + repo='Wan-AI/Wan2.1-VACE-14B-diffusers', + repo_cls=diffusers.WanVACEPipeline, + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.WanVACETransformer3DModel), + ], + 'SkyReels V2': [ + Model(name='None'), + Model(name='SkyReels-V2 T2V-DF 1.3B-540P', + url='https://huggingface.co/Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers', + repo='Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers', + repo_cls=diffusers.SkyReelsV2DiffusionForcingPipeline, + repo_revision='refs/pr/1', + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.SkyReelsV2Transformer3DModel), + Model(name='SkyReels-V2 T2V-DF 14B-720P', + url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers', + repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers', + repo_cls=diffusers.SkyReelsV2DiffusionForcingPipeline, + repo_revision='refs/pr/1', + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.SkyReelsV2Transformer3DModel), + Model(name='SkyReels-V2 I2V-DF 14B-720P', + url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers', + repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers', + repo_cls=diffusers.SkyReelsV2DiffusionForcingImageToVideoPipeline, + repo_revision='refs/pr/1', + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.SkyReelsV2Transformer3DModel), + Model(name='SkyReels-V2 T2V 14B-720P', + url='https://huggingface.co/Skywork/SkyReels-V2-T2V-14B-720P-Diffusers', + repo='Skywork/SkyReels-V2-T2V-14B-720P-Diffusers', + repo_cls=diffusers.SkyReelsV2Pipeline, + repo_revision='refs/pr/1', + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.SkyReelsV2Transformer3DModel), + Model(name='SkyReels-V2 I2V 14B-720P', + url='https://huggingface.co/Skywork/SkyReels-V2-I2V-14B-720P-Diffusers', + repo='Skywork/SkyReels-V2-I2V-14B-720P-Diffusers', + repo_cls=diffusers.SkyReelsV2ImageToVideoPipeline, + repo_revision='refs/pr/1', + te_cls=transformers.UMT5EncoderModel, + dit_cls=diffusers.SkyReelsV2Transformer3DModel), + ], + 'Mochi Video': [ + Model(name='None'), + Model(name='Mochi 1 T2V', + url='https://huggingface.co/genmo/mochi-1-preview', + repo='genmo/mochi-1-preview', + repo_cls=diffusers.MochiPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.MochiTransformer3DModel), + ], + 'Latte Video': [ + Model(name='None'), + Model(name='Latte 1 T2V', + url='https://huggingface.co/maxin-cn/Latte-1', + repo='maxin-cn/Latte-1', + repo_cls=diffusers.LattePipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.LatteTransformer3DModel), + ], + 'Allegro Video': [ + Model(name='None'), + Model(name='Allegro T2V', + url='https://huggingface.co/rhymes-ai/Allegro', + repo='rhymes-ai/Allegro', + repo_cls=diffusers.AllegroPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.AllegroTransformer3DModel), + ], + 'Cog Video': [ + Model(name='None'), + Model(name='CogVideoX 1.0 2B T2V', + url='https://huggingface.co/THUDM/CogVideoX-2b', + repo='THUDM/CogVideoX-2b', + repo_cls=diffusers.CogVideoXPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CogVideoXTransformer3DModel), + Model(name='CogVideoX 1.0 5B T2V', + url='https://huggingface.co/THUDM/CogVideoX-5b', + repo='THUDM/CogVideoX-5b', + repo_cls=diffusers.CogVideoXPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CogVideoXTransformer3DModel), + Model(name='CogVideoX 1.0 5B I2V', + url='https://huggingface.co/THUDM/CogVideoX-5b-I2V', + repo='THUDM/CogVideoX-5b-I2V', + repo_cls=diffusers.CogVideoXImageToVideoPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CogVideoXTransformer3DModel), + Model(name='CogVideoX 1.5 5B T2V', + url='https://huggingface.co/THUDM/CogVideoX1.5-5B', + repo='THUDM/CogVideoX1.5-5B', + repo_cls=diffusers.CogVideoXPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CogVideoXTransformer3DModel), + Model(name='CogVideoX 1.5 5B I2V', + url='https://huggingface.co/THUDM/CogVideoX1.5-5B-I2V', + repo='THUDM/CogVideoX1.5-5B-I2V', + repo_cls=diffusers.CogVideoXImageToVideoPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CogVideoXTransformer3DModel), + Model(name='Index Anisora 1.0 5B I2V', + url='https://huggingface.co/Disty0/Index-anisora-5B-diffusers', + repo='Disty0/Index-anisora-5B-diffusers', + repo_cls=diffusers.CogVideoXImageToVideoPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CogVideoXTransformer3DModel), + Model(name='Index Anisora 1.0 5B RL I2V', + url='https://huggingface.co/Disty0/Index-anisora-5B_RL-diffusers', + repo='Disty0/Index-anisora-5B_RL-diffusers', + repo_cls=diffusers.CogVideoXImageToVideoPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CogVideoXTransformer3DModel), + ], + 'nVidia Cosmos': [ + Model(name='nvidia Cosmos Predict2 2B I2V', + url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image', + repo='nvidia/Cosmos-Predict2-2B-Video2World', + repo_cls=diffusers.Cosmos2VideoToWorldPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CosmosTransformer3DModel), + Model(name='nvidia Cosmos Predict2 2B I2V', + url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image', + repo='nvidia/Cosmos-Predict2-2B-Video2World', + repo_cls=diffusers.Cosmos2VideoToWorldPipeline, + te_cls=transformers.T5EncoderModel, + dit_cls=diffusers.CosmosTransformer3DModel), + ], + 'Kandinsky': [ + Model(name='Kandinsky 5.0 Lite SFT T2V', + url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', + repo='ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', + repo_cls=diffusers.Kandinsky5T2VPipeline, + te_cls=transformers.Qwen2_5_VLForConditionalGeneration, + dit_cls=diffusers.Kandinsky5Transformer3DModel), + Model(name='Kandinsky 5.0 Lite CFG-distilled T2V', + url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', + repo='ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', + repo_cls=diffusers.Kandinsky5T2VPipeline, + te_cls=transformers.Qwen2_5_VLForConditionalGeneration, + dit_cls=diffusers.Kandinsky5Transformer3DModel), + Model(name='Kandinsky 5.0 Lite Steps-distilled T2V', + url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', + repo='ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', + repo_cls=diffusers.Kandinsky5T2VPipeline, + te_cls=transformers.Qwen2_5_VLForConditionalGeneration, + dit_cls=diffusers.Kandinsky5Transformer3DModel), + ], + } + t1 = time.time() + total = sum([len(models[model]) for model in models.keys()]) + log.info(f'Networks: type="video" engines={len(models)} models={total} time={t1 - t0:.2f}') +except Exception as e: + models = {} + log.error(f'Networks: type="video" {e}') From 01c4ce18b63e0ed1718353bee9fb4a51dda4c3fe Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sat, 25 Oct 2025 20:03:12 +0300 Subject: [PATCH 055/137] SDNQ fix T5 Loading --- pipelines/generic.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/pipelines/generic.py b/pipelines/generic.py index 70f3b4449..0edd9d2cd 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -114,34 +114,32 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder text_encoder = model_quant.do_post_load_quant(text_encoder, allow=quant_type is not None) # load from local file safetensors elif local_file is not None and local_file.lower().endswith('.safetensors'): - shared.log.debug(f'Load model: text_encoder="{local_file}" cls={cls_name.__name__} quant="{quant_type}"') + shared.log.debug(f'Load model: text_encoder="{local_file}" cls={cls_name.__name__} quant="{quant_type}" args={load_args}') from modules import model_te text_encoder = model_te.load_t5(local_file) text_encoder = model_quant.do_post_load_quant(text_encoder, allow=quant_type is not None) # use shared t5 if possible elif cls_name == transformers.T5EncoderModel and allow_shared: - with open(os.path.join('configs', 'flux', 'text_encoder_2', 'config.json'), encoding='utf8') as f: - load_args['config'] = transformers.T5Config(**json.load(f)) if model_quant.check_nunchaku('TE'): import nunchaku repo_id = 'nunchaku-tech/nunchaku-t5/awq-int4-flux.1-t5xxl.safetensors' cls_name = nunchaku.NunchakuT5EncoderModel - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="SVDQuant"') + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="SVDQuant" args={load_args}') text_encoder = nunchaku.NunchakuT5EncoderModel.from_pretrained( repo_id, torch_dtype=dtype, ) text_encoder.quantization_method = 'SVDQuant' elif shared.opts.te_shared_t5: - """ - if 'sdnq-' in repo_id.lower(): + if 'sdnq-uint4-svd' in repo_id.lower(): repo_id = 'Disty0/FLUX.1-dev-SDNQ-uint4-svd-r32' load_args['subfolder'] = 'text_encoder_2' - quant_args = {} else: - """ - repo_id = 'Disty0/t5-xxl' - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') + repo_id = 'Disty0/t5-xxl' + if 'sdnq-' not in repo_id.lower(): + with open(os.path.join('configs', 'flux', 'text_encoder_2', 'config.json'), encoding='utf8') as f: + load_args['config'] = transformers.T5Config(**json.load(f)) + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5} args={load_args}') if dtype is not None: load_args['torch_dtype'] = dtype text_encoder = cls_name.from_pretrained( @@ -154,7 +152,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder if shared.opts.te_shared_t5: repo_id = 'hunyuanvideo-community/HunyuanImage-2.1-Diffusers' subfolder = 'text_encoder' - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5} args={load_args}') if dtype is not None: load_args['torch_dtype'] = dtype text_encoder = cls_name.from_pretrained( @@ -167,7 +165,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder # load from repo if text_encoder is None: - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5} args={load_args}') if dtype is not None: load_args['torch_dtype'] = dtype if subfolder is not None: From f6603ab5492bcca45adc29784a0e788a147d49fd Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 13:05:10 -0400 Subject: [PATCH 056/137] log video models Signed-off-by: Vladimir Mandic --- TODO.md | 7 ++++++- modules/ui_extra_networks.py | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/TODO.md b/TODO.md index 6471ccd81..7554361a6 100644 --- a/TODO.md +++ b/TODO.md @@ -2,6 +2,12 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladmandic/projects) +## Blockers + +- Load pre-quantized T5: +- Wan-2.2-5B VAE tiling: +- Wan-2.2-14V VACE single-stage: + ## Future Candidates - [Kanvas](https://github.com/vladmandic/kanvas) @@ -35,7 +41,6 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma - [Ovi](https://github.com/character-ai/Ovi) - [Bytedance Lynx](https://github.com/bytedance/lynx) -- [HunyuanImage](https://huggingface.co/tencent/HunyuanImage-2.1) - [Phantom HuMo](https://github.com/Phantom-video/Phantom) - [Lumina-DiMOO](https://huggingface.co/Alpha-VLLM/Lumina-DiMOO) - [Wan2.2-Animate-14B](https://huggingface.co/Wan-AI/Wan2.2-Animate-14B) diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py index 741605c25..6f3246236 100644 --- a/modules/ui_extra_networks.py +++ b/modules/ui_extra_networks.py @@ -547,6 +547,7 @@ def register_pages(): if shared.opts.diffusers_enable_embed: from modules.ui_extra_networks_textual_inversion import ExtraNetworksPageTextualInversion register_page(ExtraNetworksPageTextualInversion()) + from modules.video_models.models_def import models # pylint: disable=unused-import def get_pages(title=None): From 975361b40491b2bb875ae6d67774416cbe83a901 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sat, 25 Oct 2025 20:06:13 +0300 Subject: [PATCH 057/137] import sdnq before load --- pipelines/generic.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pipelines/generic.py b/pipelines/generic.py index 0edd9d2cd..784ea3b1b 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -12,6 +12,8 @@ def load_transformer(repo_id, cls_name, load_config={}, subfolder="transformer", transformer = None jobid = shared.state.begin('Load DiT') try: + if 'sdnq-' not in repo_id.lower(): + from modules import sdnq # register to diffusers and transformers load_args, quant_args = model_quant.get_dit_args(load_config, module='Model', device_map=True, allow_quant=allow_quant, modules_to_not_convert=modules_to_not_convert, modules_dtype_dict=modules_dtype_dict) quant_type = model_quant.get_quant_type(quant_args) dtype = dtype or devices.dtype @@ -83,6 +85,8 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder text_encoder = None jobid = shared.state.begin('Load TE') try: + if 'sdnq-' not in repo_id.lower(): + from modules import sdnq # register to diffusers and transformers load_args, quant_args = model_quant.get_dit_args(load_config, module='TE', device_map=True, allow_quant=allow_quant, modules_to_not_convert=modules_to_not_convert, modules_dtype_dict=modules_dtype_dict) quant_type = model_quant.get_quant_type(quant_args) dtype = dtype or devices.dtype From f903fe347307ad0b61125a0e3b6558af3ef10299 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sat, 25 Oct 2025 20:09:24 +0300 Subject: [PATCH 058/137] cleanup --- pipelines/generic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipelines/generic.py b/pipelines/generic.py index 784ea3b1b..384e7f25b 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -12,7 +12,7 @@ def load_transformer(repo_id, cls_name, load_config={}, subfolder="transformer", transformer = None jobid = shared.state.begin('Load DiT') try: - if 'sdnq-' not in repo_id.lower(): + if 'sdnq-' in repo_id.lower(): from modules import sdnq # register to diffusers and transformers load_args, quant_args = model_quant.get_dit_args(load_config, module='Model', device_map=True, allow_quant=allow_quant, modules_to_not_convert=modules_to_not_convert, modules_dtype_dict=modules_dtype_dict) quant_type = model_quant.get_quant_type(quant_args) @@ -85,7 +85,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder text_encoder = None jobid = shared.state.begin('Load TE') try: - if 'sdnq-' not in repo_id.lower(): + if 'sdnq-' in repo_id.lower(): from modules import sdnq # register to diffusers and transformers load_args, quant_args = model_quant.get_dit_args(load_config, module='TE', device_map=True, allow_quant=allow_quant, modules_to_not_convert=modules_to_not_convert, modules_dtype_dict=modules_dtype_dict) quant_type = model_quant.get_quant_type(quant_args) From 7ada86032a892f72a6db633a82d0c77d3d631586 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 13:22:22 -0400 Subject: [PATCH 059/137] add krea, cleanup, lint Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 10 +++++++--- TODO.md | 6 ------ html/reference.json | 30 ++++++++++++++++++++---------- modules/sd_models.py | 2 +- pipelines/generic.py | 9 ++++----- 5 files changed, 32 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f6ef3205..72cf151c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,13 @@ - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - - networks reference section is now split into actual **Reference** *Base* models plus: - - **Distilled**: distilled variants of base models, for example *Turbo or Lightning* + - **Reference** networks section is now split into actual *Base* models plus: + - **Distilled**: distilled variants of base models + examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage - - **Community**: community highlights, for example, *Illustrious, Pony, NoobAI* + examples: *FLUX.1-Dev/Krea/Kontext, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* + - **Community**: community highlights + examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is @@ -25,6 +28,7 @@ - enhance `--optional` flag to pre-install optional packages - add `[lora]` to recognized filename patterns - add **Apple DepthPro** controlnet processor, thanks @nolbert82 + - when using **shared-t5** *(default)*, it will load standard or pre-quant depending on model - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence diff --git a/TODO.md b/TODO.md index 7554361a6..226f295a3 100644 --- a/TODO.md +++ b/TODO.md @@ -2,12 +2,6 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladmandic/projects) -## Blockers - -- Load pre-quantized T5: -- Wan-2.2-5B VAE tiling: -- Wan-2.2-14V VACE single-stage: - ## Future Candidates - [Kanvas](https://github.com/vladmandic/kanvas) diff --git a/html/reference.json b/html/reference.json index 437e7461c..fc14806f5 100644 --- a/html/reference.json +++ b/html/reference.json @@ -909,17 +909,27 @@ "FLUX.1-Dev sdnq-svd-uint4": { "path": "Disty0/FLUX.1-dev-SDNQ-uint4-svd-r32", "preview": "Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg", - "desc": "4 bit (UINT4 with SVD rank 32) quantization of black-forest-labs/FLUX.1-dev using SDNQ.", + "desc": "Quantization of black-forest-labs/FLUX.1-dev using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, "tags": "quantized", - "size": 13.53, + "size": 12.60, + "date": "2025 October", + "extras": "" + }, + "FLUX.1-Dev Krea sdnq-svd-uint4": { + "path": "Disty0/FLUX.1-Krea-dev-SDNQ-uint4-svd-r32", + "preview": "Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg", + "desc": "Quantization of black-forest-labs/FLUX.1-Krea-dev using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "size": 12.60, "date": "2025 October", "extras": "" }, "Chroma1-HD sdnq-svd-uint4": { "path": "Disty0/Chroma1-HD-SDNQ-uint4-svd-r32", "preview": "Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg", - "desc": "quantization of lodestones/Chroma1-HD using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "desc": "Quantization of lodestones/Chroma1-HD using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, "tags": "quantized", "size": 11.89, @@ -929,7 +939,7 @@ "Wan-AI Wan2.2 A14B T2I sdnq-svd-uint4": { "path": "Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32", "preview": "Wan-AI--Wan2.2-T2V-A14B-Diffusers.jpg", - "desc": "quantization of Wan-AI/Wan2.2-T2V-A14B-Diffusers using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "desc": "Quantization of black-forest-labs/FLUX.1-dev using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, "tags": "quantized", "date": "2025 October", @@ -939,7 +949,7 @@ "Wan-AI Wan2.2 A14B I2I sdnq-svd-uint4": { "path": "Disty0/Wan2.2-I2V-A14B-SDNQ-uint4-svd-r32", "preview": "Wan-AI--Wan2.2-T2V-A14B-Diffusers.jpg", - "desc": "quantization of Wan-AI/Wan2.2-I2V-A14B-Diffusers using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "desc": "Quantization of Laxhar/noobai-XL-1.1 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", "skip": true, "tags": "quantized", "date": "2025 October", @@ -949,7 +959,7 @@ "Qwen-Image sdnq-svd-uint4": { "path": "Disty0/Qwen-Image-SDNQ-uint4-svd-r32", "preview": "Qwen--Qwen-Image.jpg", - "desc": "quantization of Qwen/Qwen-Image using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "desc": "Quantization of Qwen/Qwen-Image using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, "tags": "quantized", "date": "2025 October", @@ -959,7 +969,7 @@ "Qwen-Image-Edit sdnq-svd-uint4": { "path": "Disty0/Qwen-Image-Edit-SDNQ-uint4-svd-r32", "preview": "Qwen--Qwen-Image-Edit.jpg", - "desc": "quantization of Qwen/Qwen-Image-Edit using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "desc": "Quantization of Qwen/Qwen-Image-Edit using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, "tags": "quantized", "date": "2025 October", @@ -969,7 +979,7 @@ "Qwen-Image-Edit-2509 sdnq-svd-uint4": { "path": "Disty0/Qwen-Image-Edit-2509-SDNQ-uint4-svd-r32", "preview": "Qwen--Qwen-Image-Edit-2509.jpg", - "desc": "quantization of Qwen/Qwen-Image-Edit-2509 using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "desc": "Quantization of Qwen/Qwen-Image-Edit-2509 using SDNQ: sdnq-svd 4-bit uint with svd rank 32", "skip": true, "tags": "quantized", "date": "2025 October", @@ -980,7 +990,7 @@ "NoobAI-XL v1.1 epsilon sdnq-svd-uint4": { "path": "Disty0/NoobAI-XL-v1.1-SDNQ-uint4-svd-r128", "preview": "Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg", - "desc": "quantization of Laxhar/noobai-XL-1.1 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", + "desc": "Quantization of Laxhar/noobai-XL-1.1 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", "skip": true, "tags": "quantized", "size": 3.37, @@ -990,7 +1000,7 @@ "NoobAI-XL v1.0 v-pred sdnq-svd-uint4": { "path": "Disty0/NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128", "preview": "Disty0--NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg", - "desc": "quantization of Laxhar/noobai-XL-Vpred-1.0 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", + "desc": "Quantization of Laxhar/noobai-XL-Vpred-1.0 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", "skip": true, "tags": "quantized", "size": 3.37, diff --git a/modules/sd_models.py b/modules/sd_models.py index 534c3af58..4782fb288 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -1149,7 +1149,7 @@ def add_noise_pred_to_diffusers_callback(pipe): return pipe if pipe.__class__.__name__.startswith("StableCascade") and ("predicted_image_embedding" not in pipe._callback_tensor_inputs): # pylint: disable=protected-access pipe.prior_pipe._callback_tensor_inputs.append("predicted_image_embedding") # pylint: disable=protected-access - elif "noise_pred" not in pipe._callback_tensor_inputs: + elif "noise_pred" not in pipe._callback_tensor_inputs: # pylint: disable=protected-access if pipe.__class__.__name__.startswith("StableDiffusion"): pipe._callback_tensor_inputs.append("noise_pred") # pylint: disable=protected-access elif hasattr(pipe, "scheduler") and "flow" in pipe.scheduler.__class__.__name__.lower(): diff --git a/pipelines/generic.py b/pipelines/generic.py index 384e7f25b..430ee34bc 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -13,7 +13,7 @@ def load_transformer(repo_id, cls_name, load_config={}, subfolder="transformer", jobid = shared.state.begin('Load DiT') try: if 'sdnq-' in repo_id.lower(): - from modules import sdnq # register to diffusers and transformers + from modules import sdnq # pylint: disable=unused-import # register to diffusers and transformers load_args, quant_args = model_quant.get_dit_args(load_config, module='Model', device_map=True, allow_quant=allow_quant, modules_to_not_convert=modules_to_not_convert, modules_dtype_dict=modules_dtype_dict) quant_type = model_quant.get_quant_type(quant_args) dtype = dtype or devices.dtype @@ -86,7 +86,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder jobid = shared.state.begin('Load TE') try: if 'sdnq-' in repo_id.lower(): - from modules import sdnq # register to diffusers and transformers + from modules import sdnq # pylint: disable=unused-import # register to diffusers and transformers load_args, quant_args = model_quant.get_dit_args(load_config, module='TE', device_map=True, allow_quant=allow_quant, modules_to_not_convert=modules_to_not_convert, modules_dtype_dict=modules_dtype_dict) quant_type = model_quant.get_quant_type(quant_args) dtype = dtype or devices.dtype @@ -140,9 +140,8 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder load_args['subfolder'] = 'text_encoder_2' else: repo_id = 'Disty0/t5-xxl' - if 'sdnq-' not in repo_id.lower(): - with open(os.path.join('configs', 'flux', 'text_encoder_2', 'config.json'), encoding='utf8') as f: - load_args['config'] = transformers.T5Config(**json.load(f)) + with open(os.path.join('configs', 'flux', 'text_encoder_2', 'config.json'), encoding='utf8') as f: + load_args['config'] = transformers.T5Config(**json.load(f)) shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5} args={load_args}') if dtype is not None: load_args['torch_dtype'] = dtype From c5d937b9c4d9b8ceab7b66bef81e1892c6fdb2ca Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sat, 25 Oct 2025 20:26:38 +0100 Subject: [PATCH 060/137] Fix typo in Qwen2.5 VL 4B to 3B https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct has been wrongly named 4B in Captioning menu. --- modules/interrogate/vqa.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/interrogate/vqa.py b/modules/interrogate/vqa.py index 0821d5c4f..cb1780677 100644 --- a/modules/interrogate/vqa.py +++ b/modules/interrogate/vqa.py @@ -14,14 +14,14 @@ processor = None model = None loaded: str = None quant_args = None -vlm_default = "Alibaba Qwen 2.5 VL 4B" +vlm_default = "Alibaba Qwen 2.5 VL 3B" vlm_models = { "Google Gemma 3 4B": "google/gemma-3-4b-it", "Google Gemma 3n E2B": "google/gemma-3n-E2B-it", # 1.5GB "Google Gemma 3n E4B": "google/gemma-3n-E4B-it", # 1.5GB "Alibaba Qwen 2.0 VL 2B": "Qwen/Qwen2-VL-2B-Instruct", "Alibaba Qwen 2.5 Omni 3B": "Qwen/Qwen2.5-Omni-3B", - "Alibaba Qwen 2.5 VL 4B": "Qwen/Qwen2.5-VL-3B-Instruct", + "Alibaba Qwen 2.5 VL 3B": "Qwen/Qwen2.5-VL-3B-Instruct", "Huggingface Smol VL2 0.5B": "HuggingFaceTB/SmolVLM-500M-Instruct", "Huggingface Smol VL2 2B": "HuggingFaceTB/SmolVLM-Instruct", "Apple FastVLM 0.5B": "apple/FastVLM-0.5B", From 072653ffd5658a435a51609c65e9c7e80c11c439 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 15:33:38 -0400 Subject: [PATCH 061/137] add tempest and kontext pre-quants Signed-off-by: Vladimir Mandic --- html/reference.json | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/html/reference.json b/html/reference.json index fc14806f5..29ab30ee0 100644 --- a/html/reference.json +++ b/html/reference.json @@ -926,6 +926,16 @@ "date": "2025 October", "extras": "" }, + "FLUX.1-Dev Kontext sdnq-svd-uint4": { + "path": "Disty0/FLUX.1-Kontext-dev-SDNQ-uint4-svd-r32", + "preview": "Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg", + "desc": "Quantization of black-forest-labs/FLUX.1-Kontext-dev using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "size": 12.60, + "date": "2025 October", + "extras": "" + }, "Chroma1-HD sdnq-svd-uint4": { "path": "Disty0/Chroma1-HD-SDNQ-uint4-svd-r32", "preview": "Disty0--Chroma1-HD-SDNQ-uint4-svd-r32.jpg", @@ -986,7 +996,16 @@ "size": 16.10, "extras": "" }, - + "Tempest-by-Vlad XL sdnq-svd-uint4": { + "path": "vladmandic/tempestByVlad_baseV01-SDNQ-uint4-svd", + "preview": "tempestByVlad_baseV01.jpg", + "desc": "Quantization of vladmandic/tempestByVlad_baseV01 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", + "skip": true, + "tags": "quantized", + "size": 3.37, + "date": "2025 October", + "extras": "" + }, "NoobAI-XL v1.1 epsilon sdnq-svd-uint4": { "path": "Disty0/NoobAI-XL-v1.1-SDNQ-uint4-svd-r128", "preview": "Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg", From 60b190801d1da66586db60017ebfe37f811f504b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 15:37:23 -0400 Subject: [PATCH 062/137] add quant-schnell and update changelog Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 17 +++++++++-------- html/reference.json | 10 ++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72cf151c0..edf341fdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,13 @@ - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - - **Reference** networks section is now split into actual *Base* models plus: - - **Distilled**: distilled variants of base models - examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* - - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage - examples: *FLUX.1-Dev/Krea/Kontext, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* - - **Community**: community highlights - examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* +- **Reference** networks section is now split into actual *Base* models plus: + - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage + examples: *FLUX.1-Dev/Krea/Kontext/Schnell, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* + - **Distilled**: distilled variants of base models + examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* + - **Community**: community highlights + examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is @@ -20,7 +20,7 @@ - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies - **Quantization** - - improved SDNQ SVD and low-bit matmul performance + - improved **SDNQ SVD** and low-bit matmul performance - **Other** - change default **schedulers** for sdxl - warn on `python==3.9` end-of-life and `python==3.10` not actively supported @@ -43,6 +43,7 @@ - lora disable fuse on partially applied network - fix networks display with extended characters, thanks @awsr - installer handle different `opencv` package variants + - fix using pre-quantized shared-t5 ## Update for 2025-10-18 diff --git a/html/reference.json b/html/reference.json index 29ab30ee0..53d4c2db3 100644 --- a/html/reference.json +++ b/html/reference.json @@ -916,6 +916,16 @@ "date": "2025 October", "extras": "" }, + "FLUX.1-Schnell sdnq-svd-uint4": { + "path": "Disty0/FLUX.1-schnell-SDNQ-uint4-svd-r32", + "preview": "Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg", + "desc": "Quantization of black-forest-labs/FLUX.1-schnell using SDNQ: sdnq-svd 4-bit uint with svd rank 32", + "skip": true, + "tags": "quantized", + "size": 12.60, + "date": "2025 October", + "extras": "" + }, "FLUX.1-Dev Krea sdnq-svd-uint4": { "path": "Disty0/FLUX.1-Krea-dev-SDNQ-uint4-svd-r32", "preview": "Disty0--FLUX.1-dev-SDNQ-uint4-svd-r32.jpg", From 1569a3fe1743e7fcd2ed649646503b1fe9d2461c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 15:45:19 -0400 Subject: [PATCH 063/137] move restart msg to end of startup sequence Signed-off-by: Vladimir Mandic --- launch.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/launch.py b/launch.py index 40e1946fc..57a1930af 100755 --- a/launch.py +++ b/launch.py @@ -297,10 +297,9 @@ def main(): installer.log.info(f'Installer time: {init_summary()}') get_custom_args() + uv, instance = start_server(immediate=True, server=None) if installer.restart_required: installer.log.warning('Restart is recommended due to packages updates...') - - uv, instance = start_server(immediate=True, server=None) t_server = time.time() t_monitor = time.time() while True: From 9dad506b03e1d6f1c3ee626937d90df199cdd8f4 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Oct 2025 15:58:20 -0400 Subject: [PATCH 064/137] fix namegen for video Signed-off-by: Vladimir Mandic --- modules/images_namegen.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/images_namegen.py b/modules/images_namegen.py index 5a03524aa..337b5b889 100644 --- a/modules/images_namegen.py +++ b/modules/images_namegen.py @@ -72,16 +72,16 @@ class FilenameGenerator: self.p = p if seed is not None and int(seed) > 0: self.seed = seed - elif p is not None and hasattr(p, 'all_seeds'): - self.seed = p.all_seeds[0] - elif p is not None and hasattr(p, 'seeds'): - self.seed = p.seeds[0] + elif p is not None and getattr(p, 'all_seeds', None) is not None and len(p.all_seeds) > 0: + self.seed = p.all_seeds[0] if int(p.all_seeds[0]) > 0 else 0 + elif p is not None and getattr(p, 'seeds', None) is not None and len(p.seeds) > 0: + self.seed = p.seeds[0] if int(p.seeds[0]) > 0 else 0 else: - self.seed = p.seed if p is not None else 0 + self.seed = p.seed if p is not None and getattr(p, 'seed', 0) > 0 else 0 if prompt is not None: self.prompt = prompt else: - self.prompt = p.prompt if p is not None else '' + self.prompt = p.prompt if p is not None and getattr(p, 'prompt', '') is not '' else '' if isinstance(self.prompt, list): self.prompt = ' '.join(self.prompt) self.image = image From 1b80147881235fa6e38147e0f2fa4a197908f883 Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sat, 25 Oct 2025 22:12:20 +0100 Subject: [PATCH 065/137] Add Qwen3-VL-4B-Instruct --- modules/interrogate/vqa.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/interrogate/vqa.py b/modules/interrogate/vqa.py index 0821d5c4f..1cd2f69b6 100644 --- a/modules/interrogate/vqa.py +++ b/modules/interrogate/vqa.py @@ -22,6 +22,7 @@ vlm_models = { "Alibaba Qwen 2.0 VL 2B": "Qwen/Qwen2-VL-2B-Instruct", "Alibaba Qwen 2.5 Omni 3B": "Qwen/Qwen2.5-Omni-3B", "Alibaba Qwen 2.5 VL 4B": "Qwen/Qwen2.5-VL-3B-Instruct", + "Alibaba Qwen 3 VL 4B": "Qwen/Qwen3-VL-4B-Instruct", "Huggingface Smol VL2 0.5B": "HuggingFaceTB/SmolVLM-500M-Instruct", "Huggingface Smol VL2 2B": "HuggingFaceTB/SmolVLM-Instruct", "Apple FastVLM 0.5B": "apple/FastVLM-0.5B", @@ -181,7 +182,9 @@ def qwen(question: str, image: Image.Image, repo: str = None, system_prompt: str if model is None or loaded != repo: shared.log.debug(f'Interrogate load: vlm="{repo}"') model = None - if '2.5' in repo: + if 'Qwen3' in repo: + cls_name = transformers.Qwen3VLForConditionalGeneration + elif '2.5' in repo: cls_name = transformers.Qwen2_5_VLForConditionalGeneration else: cls_name = transformers.Qwen2VLForConditionalGeneration From cffca11d5b745301d018c12ca866992d1651fe9d Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sat, 25 Oct 2025 21:34:49 -0400 Subject: [PATCH 066/137] fix typo Signed-off-by: vladmandic --- modules/images_namegen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/images_namegen.py b/modules/images_namegen.py index 337b5b889..083d3c6b1 100644 --- a/modules/images_namegen.py +++ b/modules/images_namegen.py @@ -81,7 +81,7 @@ class FilenameGenerator: if prompt is not None: self.prompt = prompt else: - self.prompt = p.prompt if p is not None and getattr(p, 'prompt', '') is not '' else '' + self.prompt = p.prompt if p is not None and getattr(p, 'prompt', '') != '' else '' if isinstance(self.prompt, list): self.prompt = ' '.join(self.prompt) self.image = image From 3fc9efa9ee588d472706af6cdb8786565e34be2e Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 26 Oct 2025 02:53:34 +0000 Subject: [PATCH 067/137] Add remaining Qwen3VL models up to 8B --- modules/interrogate/vqa.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/interrogate/vqa.py b/modules/interrogate/vqa.py index 1cd2f69b6..0275773ce 100644 --- a/modules/interrogate/vqa.py +++ b/modules/interrogate/vqa.py @@ -22,7 +22,12 @@ vlm_models = { "Alibaba Qwen 2.0 VL 2B": "Qwen/Qwen2-VL-2B-Instruct", "Alibaba Qwen 2.5 Omni 3B": "Qwen/Qwen2.5-Omni-3B", "Alibaba Qwen 2.5 VL 4B": "Qwen/Qwen2.5-VL-3B-Instruct", + "Alibaba Qwen 3 VL 2B": "Qwen/Qwen3-VL-2B-Instruct", + "Alibaba Qwen 3 VL 2B Thinking": "Qwen/Qwen3-VL-2B-Thinking", "Alibaba Qwen 3 VL 4B": "Qwen/Qwen3-VL-4B-Instruct", + "Alibaba Qwen 3 VL 4B Thinking": "Qwen/Qwen3-VL-4B-Thinking", + "Alibaba Qwen 3 VL 8B": "Qwen/Qwen3-VL-8B-Instruct", + "Alibaba Qwen 3 VL 8B Thinking": "Qwen/Qwen3-VL-8B-Thinking", "Huggingface Smol VL2 0.5B": "HuggingFaceTB/SmolVLM-500M-Instruct", "Huggingface Smol VL2 2B": "HuggingFaceTB/SmolVLM-Instruct", "Apple FastVLM 0.5B": "apple/FastVLM-0.5B", From c72d993ff4a3bdccfb0d6c439809c77eaa6e01d7 Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 26 Oct 2025 03:12:10 +0000 Subject: [PATCH 068/137] Prompt enhance update Added Qwen3-VL models to prompt enhance Added Qwen2.5-VL and Glitter Gemma 4B to img2img prompt enhance --- scripts/prompt_enhance.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/prompt_enhance.py b/scripts/prompt_enhance.py index 221d815dc..87396136f 100644 --- a/scripts/prompt_enhance.py +++ b/scripts/prompt_enhance.py @@ -32,6 +32,14 @@ def b64(image): class Options: img2img = [ 'google/gemma-3-4b-it', + 'allura-org/Gemma-3-Glitter-4B', + 'Qwen/Qwen2.5-VL-3B-Instruct', + 'Qwen/Qwen3-VL-2B-Instruct', + 'Qwen/Qwen3-VL-2B-Thinking', + 'Qwen/Qwen3-VL-4B-Instruct', + 'Qwen/Qwen3-VL-4B-Thinking', + 'Qwen/Qwen3-VL-8B-Instruct', + 'Qwen/Qwen3-VL-8B-Thinking', ] models = { 'google/gemma-3-1b-it': {}, @@ -49,6 +57,12 @@ class Options: 'Qwen/Qwen2.5-1.5B-Instruct': {}, 'Qwen/Qwen2.5-3B-Instruct': {}, 'Qwen/Qwen2.5-VL-3B-Instruct': {}, + 'Qwen/Qwen3-VL-2B-Instruct': {}, + 'Qwen/Qwen3-VL-2B-Thinking': {}, + 'Qwen/Qwen3-VL-4B-Instruct': {}, + 'Qwen/Qwen3-VL-4B-Thinking': {}, + 'Qwen/Qwen3-VL-8B-Instruct': {}, + 'Qwen/Qwen3-VL-8B-Thinking': {}, 'microsoft/Phi-4-mini-instruct': {}, 'HuggingFaceTB/SmolLM2-135M-Instruct': {}, 'HuggingFaceTB/SmolLM2-360M-Instruct': {}, From 512036d2913f3ebc3f3db3e6d32597d5ccf4ead8 Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sat, 25 Oct 2025 23:25:10 -0400 Subject: [PATCH 069/137] reference load cleanup Signed-off-by: vladmandic --- html/reference.json | 3 --- modules/loader.py | 3 ++- modules/modelloader.py | 10 +++++----- modules/sd_detect.py | 2 +- modules/sd_models.py | 16 ++++++++++------ modules/ui_settings.py | 12 ++++++++++-- 6 files changed, 28 insertions(+), 18 deletions(-) diff --git a/html/reference.json b/html/reference.json index 53d4c2db3..2f7f83b1e 100644 --- a/html/reference.json +++ b/html/reference.json @@ -1010,7 +1010,6 @@ "path": "vladmandic/tempestByVlad_baseV01-SDNQ-uint4-svd", "preview": "tempestByVlad_baseV01.jpg", "desc": "Quantization of vladmandic/tempestByVlad_baseV01 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", - "skip": true, "tags": "quantized", "size": 3.37, "date": "2025 October", @@ -1020,7 +1019,6 @@ "path": "Disty0/NoobAI-XL-v1.1-SDNQ-uint4-svd-r128", "preview": "Disty0--NoobAI-XL-v1.1-SDNQ-uint4-svd-r128.jpg", "desc": "Quantization of Laxhar/noobai-XL-1.1 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", - "skip": true, "tags": "quantized", "size": 3.37, "date": "2025 October", @@ -1030,7 +1028,6 @@ "path": "Disty0/NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128", "preview": "Disty0--NoobAI-XL-Vpred-v1.0-SDNQ-uint4-svd-r128.jpg", "desc": "Quantization of Laxhar/noobai-XL-Vpred-1.0 using SDNQ: sdnq-svd 4-bit uint with svd rank 128", - "skip": true, "tags": "quantized", "size": 3.37, "date": "2025 October", diff --git a/modules/loader.py b/modules/loader.py index be747c461..43824fc70 100644 --- a/modules/loader.py +++ b/modules/loader.py @@ -145,6 +145,7 @@ except Exception as e: sys.exit(1) import huggingface_hub # pylint: disable=W0611,C0411 +logging.getLogger("huggingface_hub.file_download").setLevel(logging.ERROR) timer.startup.record("hfhub") try: @@ -188,7 +189,7 @@ def get_packages(): try: import math cores = os.cpu_count() - affinity = len(os.sched_getaffinity(0)) + affinity = len(os.sched_getaffinity(0)) # pylint: disable=no-member threads = torch.get_num_threads() if threads < (affinity / 2): torch.set_num_threads(math.floor(affinity / 2)) diff --git a/modules/modelloader.py b/modules/modelloader.py index 645a7cc51..76456c3d7 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -79,7 +79,7 @@ def download_diffusers_model(hub_id: str, cache_dir: str = None, download_config download_config["mirror"] = mirror if custom_pipeline is not None and len(custom_pipeline) > 0: download_config["custom_pipeline"] = custom_pipeline - shared.log.debug(f'Diffusers downloading: id="{hub_id}" args={download_config}') + shared.log.debug(f'HF download: id="{hub_id}" args={download_config}') token = token or shared.opts.huggingface_token if token is not None and len(token) > 2: hf_login(token) @@ -94,20 +94,20 @@ def download_diffusers_model(hub_id: str, cache_dir: str = None, download_config except Exception as e: err = e ok = False - debug(f'Diffusers download error: id="{hub_id}" {e}') + debug(f'HF download error: id="{hub_id}" {e}') if not ok and 'Repository Not Found' not in str(err): try: download_config.pop('load_connected_pipeline', None) download_config.pop('variant', None) pipeline_dir = hf.snapshot_download(hub_id, **download_config) except Exception as e: - debug(f'Diffusers download error: id="{hub_id}" {e}') + debug(f'HF download error: id="{hub_id}" {e}') if 'gated' in str(e): - shared.log.error(f'Diffusers download error: id="{hub_id}" model access requires login') + shared.log.error(f'HF download error: id="{hub_id}" model access requires login') shared.state.end(jobid) return None if pipeline_dir is None: - shared.log.error(f'Diffusers download error: id="{hub_id}" {err}') + shared.log.error(f'HF download error: id="{hub_id}" {err}') shared.state.end(jobid) return None try: diff --git a/modules/sd_detect.py b/modules/sd_detect.py index 0b2d3d19c..c074aa3ee 100644 --- a/modules/sd_detect.py +++ b/modules/sd_detect.py @@ -179,7 +179,7 @@ def detect_pipeline(f: str, op: str = 'model'): pipeline = None if guess == 'Autodetect': try: - guess = 'Stable Diffusion XL' if 'XL' in f.upper() else 'Stable Diffusion' # set default guess + guess = 'Stable Diffusion XL' if ('XL' in f.upper() or 'SDNQ' in f.upper()) else 'Stable Diffusion' # set default guess guess = guess_by_size(f, guess) guess = guess_by_name(f, guess) guess, pipeline = guess_by_diffusers(f, guess) diff --git a/modules/sd_models.py b/modules/sd_models.py index 4782fb288..b5b28a104 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -425,6 +425,10 @@ def load_diffuser_folder(model_type, pipeline, checkpoint_info, diffusers_load_c try: #0 - using detected model type and pipeline if (model_type is not None) and (pipeline is not None): + if ('sdnq' in model_type.lower()) or ('sdnq' in checkpoint_info.path.lower()): + from modules import sdnq # pylint: disable=unused-import # register to diffusers and transformers + global allow_post_quant # pylint: disable=global-statement + allow_post_quant = False sd_model = pipeline.from_pretrained(checkpoint_info.path, cache_dir=shared.opts.diffusers_dir, **diffusers_load_config) sd_model.model_type = sd_model.__class__.__name__ except Exception as e: @@ -466,7 +470,7 @@ def load_diffuser_folder(model_type, pipeline, checkpoint_info, diffusers_load_c try: # 3 - try basic pipeline just in case if err2 is not None: - sd_model = diffusers.StableDiffusionPipeline.from_pretrained(checkpoint_info.path, cache_dir=shared.opts.diffusers_dir, **diffusers_load_config) + sd_model = diffusers.StableDiffusionXLPipeline.from_pretrained(checkpoint_info.path, cache_dir=shared.opts.diffusers_dir, **diffusers_load_config) sd_model.model_type = sd_model.__class__.__name__ except Exception as e: err3 = e # ignore last error @@ -712,16 +716,16 @@ def load_diffuser(checkpoint_info=None, op='model', revision=None): # pylint: di allow_post_quant = False model_type = model_type.replace(' SDNQ', '') - # load from hf folder-style - if sd_model is None: - if os.path.isdir(checkpoint_info.path) or checkpoint_info.type == 'huggingface' or checkpoint_info.type == 'transformer': - sd_model = load_diffuser_folder(model_type, pipeline, checkpoint_info, diffusers_load_config, op) - # load from single-file if sd_model is None: if os.path.isfile(checkpoint_info.path) and checkpoint_info.path.lower().endswith('.safetensors'): sd_model = load_diffuser_file(model_type, pipeline, checkpoint_info, diffusers_load_config, op) + # load from hf folder-style + if sd_model is None: + if os.path.isdir(checkpoint_info.path) or (checkpoint_info.type == 'huggingface') or (checkpoint_info.type == 'transformer') or (checkpoint_info.type == 'reference'): + sd_model = load_diffuser_folder(model_type, pipeline, checkpoint_info, diffusers_load_config, op) + if sd_model is None: shared.log.error(f'Load {op}: name="{checkpoint_info.name if checkpoint_info is not None else None}" not loaded') return diff --git a/modules/ui_settings.py b/modules/ui_settings.py index 673e45941..b6803aaf1 100644 --- a/modules/ui_settings.py +++ b/modules/ui_settings.py @@ -385,11 +385,19 @@ def create_quicksettings(interfaces): def reference_submit(model): if '@' not in model: # diffusers loaded = modelloader.load_reference(model) - return model if loaded else shared.opts.sd_model_checkpoint + if loaded: + shared.opts.sd_model_checkpoint = model + sd_models.reload_model_weights(force=True) + return model + return shared.opts.sd_model_checkpoint else: # civitai model, url = model.split('@') loaded = modelloader.load_civitai(model, url) - return loaded if loaded is not None else shared.opts.sd_model_checkpoint + if loaded is not None: + shared.opts.sd_model_checkpoint = loaded.title + sd_models.reload_model_weights(force=True) + return loaded + return shared.opts.sd_model_checkpoint button_set_reference = gr.Button('Change reference', elem_id='change_reference', visible=False) button_set_reference.click( From 80bb331169fcf36f2c3ba0b18e4379d361a4a690 Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 26 Oct 2025 06:01:33 +0000 Subject: [PATCH 070/137] Prompt enhance resizing and Qwen VL fix --- modules/interrogate/vqa.py | 6 +++--- scripts/prompt_enhance.py | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/modules/interrogate/vqa.py b/modules/interrogate/vqa.py index 0275773ce..750439f0c 100644 --- a/modules/interrogate/vqa.py +++ b/modules/interrogate/vqa.py @@ -187,11 +187,11 @@ def qwen(question: str, image: Image.Image, repo: str = None, system_prompt: str if model is None or loaded != repo: shared.log.debug(f'Interrogate load: vlm="{repo}"') model = None - if 'Qwen3' in repo: + if 'Qwen3-VL' in repo or 'Qwen3VL' in repo: cls_name = transformers.Qwen3VLForConditionalGeneration - elif '2.5' in repo: + elif 'Qwen2.5-VL' in repo or 'Qwen2_5_VL' in repo: cls_name = transformers.Qwen2_5_VLForConditionalGeneration - else: + elif 'Qwen2-VL' in repo or 'Qwen2VL' in repo: cls_name = transformers.Qwen2VLForConditionalGeneration model = cls_name.from_pretrained( repo, diff --git a/scripts/prompt_enhance.py b/scripts/prompt_enhance.py index 87396136f..ec5d0b3e6 100644 --- a/scripts/prompt_enhance.py +++ b/scripts/prompt_enhance.py @@ -168,7 +168,19 @@ class Script(scripts_manager.Script): load_args = { 'pretrained_model_name_or_path': model_repo if not gguf_args else model_gguf } if model_subfolder: load_args['subfolder'] = model_subfolder # Comma was incorrect here - self.llm = transformers.AutoModelForCausalLM.from_pretrained( + + # Determine model class based on model type + if 'Qwen3-VL' in model_repo or 'Qwen3VL' in model_repo: + model_cls = transformers.Qwen3VLForConditionalGeneration + # Use Qwen3-VL's optimized default attention + elif 'Qwen2.5-VL' in model_repo or 'Qwen2_5_VL' in model_repo: + model_cls = transformers.Qwen2_5_VLForConditionalGeneration + elif 'Qwen2-VL' in model_repo or 'Qwen2VL' in model_repo: + model_cls = transformers.Qwen2VLForConditionalGeneration + else: + model_cls = transformers.AutoModelForCausalLM + + self.llm = model_cls.from_pretrained( **load_args, trust_remote_code=True, torch_dtype=devices.dtype, @@ -302,6 +314,25 @@ class Script(scripts_manager.Script): except Exception: current_image = None + # Resize large images to match VQA performance (vision models are sensitive to resolution) + # Create a copy to avoid modifying the original image used by img2img + if current_image is not None and isinstance(current_image, Image.Image): + original_size = (current_image.width, current_image.height) + needs_resize = current_image.width > 768 or current_image.height > 768 + needs_rgb = current_image.mode != 'RGB' + + if needs_resize or needs_rgb: + # Copy the image before any modifications to preserve the original + current_image = current_image.copy() + + if needs_resize: + current_image.thumbnail((768, 768), Image.Resampling.LANCZOS) + debug_log(f'Prompt enhance: Resized image from {original_size} to {(current_image.width, current_image.height)}') + + if needs_rgb: + current_image = current_image.convert('RGB') + debug_log(f'Prompt enhance: Converted image to RGB mode') + has_system = system is not None and len(system) > 4 mode = 'custom' if has_system else '' From 1ac4214379982aedb33926bca858794002b8d9c4 Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 26 Oct 2025 06:20:14 +0000 Subject: [PATCH 071/137] fix cls_name variable --- scripts/prompt_enhance.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/prompt_enhance.py b/scripts/prompt_enhance.py index ec5d0b3e6..5c21fe27d 100644 --- a/scripts/prompt_enhance.py +++ b/scripts/prompt_enhance.py @@ -171,16 +171,16 @@ class Script(scripts_manager.Script): # Determine model class based on model type if 'Qwen3-VL' in model_repo or 'Qwen3VL' in model_repo: - model_cls = transformers.Qwen3VLForConditionalGeneration + cls_name = transformers.Qwen3VLForConditionalGeneration # Use Qwen3-VL's optimized default attention elif 'Qwen2.5-VL' in model_repo or 'Qwen2_5_VL' in model_repo: - model_cls = transformers.Qwen2_5_VLForConditionalGeneration + cls_name = transformers.Qwen2_5_VLForConditionalGeneration elif 'Qwen2-VL' in model_repo or 'Qwen2VL' in model_repo: - model_cls = transformers.Qwen2VLForConditionalGeneration + cls_name = transformers.Qwen2VLForConditionalGeneration else: - model_cls = transformers.AutoModelForCausalLM + cls_name = transformers.AutoModelForCausalLM - self.llm = model_cls.from_pretrained( + self.llm = cls_name.from_pretrained( **load_args, trust_remote_code=True, torch_dtype=devices.dtype, From 33f335a98c093e3032b688ee16a367d732be744b Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 26 Oct 2025 06:39:05 +0000 Subject: [PATCH 072/137] VQA class fix f-statement fix --- modules/interrogate/vqa.py | 2 ++ scripts/prompt_enhance.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/interrogate/vqa.py b/modules/interrogate/vqa.py index ead010828..fcb7464bc 100644 --- a/modules/interrogate/vqa.py +++ b/modules/interrogate/vqa.py @@ -193,6 +193,8 @@ def qwen(question: str, image: Image.Image, repo: str = None, system_prompt: str cls_name = transformers.Qwen2_5_VLForConditionalGeneration elif 'Qwen2-VL' in repo or 'Qwen2VL' in repo: cls_name = transformers.Qwen2VLForConditionalGeneration + else: + cls_name = transformers.AutoModelForCausalLM model = cls_name.from_pretrained( repo, torch_dtype=devices.dtype, diff --git a/scripts/prompt_enhance.py b/scripts/prompt_enhance.py index 5c21fe27d..5c709429d 100644 --- a/scripts/prompt_enhance.py +++ b/scripts/prompt_enhance.py @@ -331,7 +331,7 @@ class Script(scripts_manager.Script): if needs_rgb: current_image = current_image.convert('RGB') - debug_log(f'Prompt enhance: Converted image to RGB mode') + debug_log('Prompt enhance: Converted image to RGB mode') has_system = system is not None and len(system) > 4 mode = 'custom' if has_system else '' From 73588c2000e6aff3101e23ce4f647af2b9541de1 Mon Sep 17 00:00:00 2001 From: CalamitousFelicitousness Date: Sun, 26 Oct 2025 06:52:39 +0000 Subject: [PATCH 073/137] Comment tweaks --- scripts/prompt_enhance.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/prompt_enhance.py b/scripts/prompt_enhance.py index 5c709429d..1925a05d8 100644 --- a/scripts/prompt_enhance.py +++ b/scripts/prompt_enhance.py @@ -169,10 +169,8 @@ class Script(scripts_manager.Script): if model_subfolder: load_args['subfolder'] = model_subfolder # Comma was incorrect here - # Determine model class based on model type if 'Qwen3-VL' in model_repo or 'Qwen3VL' in model_repo: cls_name = transformers.Qwen3VLForConditionalGeneration - # Use Qwen3-VL's optimized default attention elif 'Qwen2.5-VL' in model_repo or 'Qwen2_5_VL' in model_repo: cls_name = transformers.Qwen2_5_VLForConditionalGeneration elif 'Qwen2-VL' in model_repo or 'Qwen2VL' in model_repo: @@ -314,7 +312,7 @@ class Script(scripts_manager.Script): except Exception: current_image = None - # Resize large images to match VQA performance (vision models are sensitive to resolution) + # Resize large images to match VQA performance (Qwen3-VL performance is sensitive to resolution) # Create a copy to avoid modifying the original image used by img2img if current_image is not None and isinstance(current_image, Image.Image): original_size = (current_image.width, current_image.height) From 818b0c08217bfbba7db2ca899f486eed7f8aeea5 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 26 Oct 2025 10:44:04 +0300 Subject: [PATCH 074/137] Add basic triton test --- modules/devices.py | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/modules/devices.py b/modules/devices.py index 961ffb384..2cb5ee653 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -21,6 +21,7 @@ cpu = torch.device("cpu") fp16_ok = None # set once by test_fp16 bf16_ok = None # set once by test_bf16 +triton_ok = None # set once by test_triton backend = None # set by get_backend device = None # set by get_optimal_device @@ -65,11 +66,10 @@ def has_zluda() -> bool: def has_triton() -> bool: - try: - from torch.utils._triton import has_triton as torch_has_triton - return torch_has_triton() - except Exception: - return False + global triton_ok + if triton_ok is not None: + return triton_ok + return test_triton() def get_backend(shared_cmd_opts): @@ -382,6 +382,26 @@ def test_bf16(): return bf16_ok +def test_triton(): + global triton_ok + if triton_ok is not None: + return triton_ok + try: + from torch.utils._triton import has_triton as torch_has_triton + if torch_has_triton(): + def test_triton_func(a,b,c): + return a * b + c + test_triton_func = torch.compile(test_triton_func, fullgraph=True) + test_triton_func(torch.randn(128, device=device), torch.randn(128, device=device), torch.randn(128, device=device)) + triton_ok = True + else: + triton_ok = False + except Exception as e: + log.warning(f"Triton test fail: {e}") + triton_ok = False + return triton_ok + + def set_cudnn_params(): if not cuda_ok: return @@ -614,6 +634,7 @@ def set_cuda_params(): set_cudnn_params() set_sdpa_params() set_dtype() + test_triton() if backend == 'openvino': from modules.intel.openvino import get_device as get_raw_openvino_device device_name = get_raw_openvino_device() @@ -624,7 +645,7 @@ def set_cuda_params(): tunable = [torch.cuda.tunable.is_enabled(), torch.cuda.tunable.tuning_is_enabled()] except Exception: tunable = [False, False] - log.info(f'Torch parameters: backend={backend} device={device_name} config={opts.cuda_dtype} dtype={dtype} context={inference_context.__name__} nohalf={opts.no_half} nohalfvae={opts.no_half_vae} upcast={opts.upcast_sampling} deterministic={opts.cudnn_deterministic} tunable={tunable} fp16={"pass" if fp16_ok else "fail"} bf16={"pass" if bf16_ok else "fail"} optimization="{opts.cross_attention_optimization}"') + log.info(f'Torch parameters: backend={backend} device={device_name} config={opts.cuda_dtype} dtype={dtype} context={inference_context.__name__} nohalf={opts.no_half} nohalfvae={opts.no_half_vae} upcast={opts.upcast_sampling} deterministic={opts.cudnn_deterministic} tunable={tunable} fp16={"pass" if fp16_ok else "fail"} bf16={"pass" if bf16_ok else "fail"} triton={"pass" if triton_ok else "fail"} optimization="{opts.cross_attention_optimization}"') def randn(seed, shape=None): From 9458392d0a243580786fa50904f801ca7b22525f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 26 Oct 2025 09:19:24 -0400 Subject: [PATCH 075/137] fix sdnq-sdxl download Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/modelloader.py | 2 ++ modules/shared_items.py | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index edf341fdc..b979e528a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ - fix networks display with extended characters, thanks @awsr - installer handle different `opencv` package variants - fix using pre-quantized shared-t5 + - catch `xet` warnings ## Update for 2025-10-18 diff --git a/modules/modelloader.py b/modules/modelloader.py index 76456c3d7..42866dca3 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -87,6 +87,7 @@ def download_diffusers_model(hub_id: str, cache_dir: str = None, download_config ok = False err = None + """ if not ok: try: pipeline_dir = DiffusionPipeline.download(hub_id, **download_config) @@ -95,6 +96,7 @@ def download_diffusers_model(hub_id: str, cache_dir: str = None, download_config err = e ok = False debug(f'HF download error: id="{hub_id}" {e}') + """ if not ok and 'Repository Not Found' not in str(err): try: download_config.pop('load_connected_pipeline', None) diff --git a/modules/shared_items.py b/modules/shared_items.py index f01ee6e33..7e83d5c53 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -130,7 +130,7 @@ def get_pipelines(): for k, v in pipelines.items(): if k != 'Autodetect' and v is None: from installer import log # pylint: disable=redefined-outer-name - log.error(f'Not available: pipeline={k} diffusers={diffusers.__version__} path={diffusers.__file__}') + log.error(f'Pipeline={k} diffusers={diffusers.__version__} path={diffusers.__file__} not available') return pipelines From a291987a1e1a8a0ed43ff259965e417738fd2440 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 26 Oct 2025 09:42:16 -0400 Subject: [PATCH 076/137] update changelog Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 15 +- modules/video_models/models_def.py | 308 +++++++++++++++-------------- 2 files changed, 170 insertions(+), 153 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b979e528a..0a7be2368 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ # Change Log for SD.Next -## Update for 2025-10-25 +## Update for 2025-10-26 + +### Highlights for 2025-10-26 + +### Details for 2025-10-26 -- **Models** - - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants - HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - **Reference** networks section is now split into actual *Base* models plus: - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage examples: *FLUX.1-Dev/Krea/Kontext/Schnell, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* @@ -12,6 +13,9 @@ examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* - **Community**: community highlights examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* +- **Models** + - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants + HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is @@ -28,6 +32,8 @@ - enhance `--optional` flag to pre-install optional packages - add `[lora]` to recognized filename patterns - add **Apple DepthPro** controlnet processor, thanks @nolbert82 + - add **Qwen 3-VL** llm for interrogate and prompt enhance, thanks @CalamitousFelicitousness + this includes *2B, 4B and 8B* variants - when using **shared-t5** *(default)*, it will load standard or pre-quant depending on model - **Fixes** - startup error with `--profile` enabled if using `--skip` @@ -45,6 +51,7 @@ - installer handle different `opencv` package variants - fix using pre-quantized shared-t5 - catch `xet` warnings + - validate pipelines on import ## Update for 2025-10-18 diff --git a/modules/video_models/models_def.py b/modules/video_models/models_def.py index 0b97935d0..54fde1d8b 100644 --- a/modules/video_models/models_def.py +++ b/modules/video_models/models_def.py @@ -39,344 +39,354 @@ try: url='https://huggingface.co/tencent/HunyuanVideo', vae_remote=True, repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanVideoPipeline, - te_cls=transformers.LlamaModel, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'HunyuanVideoPipeline', None), + te_cls=getattr(transformers, 'LlamaModel', None), + dit_cls=getattr(diffusers, 'HunyuanVideoTransformer3DModel', None)), Model(name='Hunyuan Video I2V', # https://github.com/huggingface/diffusers/pull/10983 url='https://huggingface.co/tencent/HunyuanVideo-I2V', vae_remote=True, repo='hunyuanvideo-community/HunyuanVideo-I2V', - repo_cls=diffusers.HunyuanVideoImageToVideoPipeline, - te_cls=transformers.LlavaForConditionalGeneration, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'HunyuanVideoImageToVideoPipeline', None), + te_cls=getattr(transformers, 'LlavaForConditionalGeneration', None), + dit_cls=getattr(diffusers, 'HunyuanVideoTransformer3DModel', None)), Model(name='SkyReels Hunyuan T2V', # https://github.com/huggingface/diffusers/pull/10837 url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-T2V', vae_remote=True, repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanVideoPipeline, - te_cls=transformers.LlamaModel, + repo_cls=getattr(diffusers, 'HunyuanVideoPipeline', None), + te_cls=getattr(transformers, 'LlamaModel', None), dit='Skywork/SkyReels-V1-Hunyuan-T2V', dit_folder=None, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), + dit_cls=getattr(diffusers, 'HunyuanVideoTransformer3DModel', None)), Model(name='SkyReels Hunyuan I2V', # https://github.com/huggingface/diffusers/pull/10837 url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-I2V', vae_remote=True, repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanSkyreelsImageToVideoPipeline, - te_cls=transformers.LlamaModel, + repo_cls=getattr(diffusers, 'HunyuanSkyreelsImageToVideoPipeline', None), + te_cls=getattr(transformers, 'LlamaModel', None), dit='Skywork/SkyReels-V1-Hunyuan-I2V', dit_folder=None, - dit_cls=diffusers.HunyuanVideoTransformer3DModel), + dit_cls=getattr(diffusers, 'HunyuanVideoTransformer3DModel', None)), Model(name='Fast Hunyuan T2V', # https://github.com/hao-ai-lab/FastVideo/blob/8a77cf22c9b9e7f931f42bc4b35d21fd91d24e45/fastvideo/models/hunyuan/inference.py#L213 url='https://huggingface.co/FastVideo/FastHunyuan', vae_remote=True, repo='hunyuanvideo-community/HunyuanVideo', - repo_cls=diffusers.HunyuanVideoPipeline, - te_cls=transformers.LlamaModel, + repo_cls=getattr(diffusers, 'HunyuanVideoPipeline', None), + te_cls=getattr(transformers, 'LlamaModel', None), dit='FastVideo/FastHunyuan-diffusers', - dit_cls=diffusers.HunyuanVideoTransformer3DModel), + dit_cls=getattr(diffusers, 'HunyuanVideoTransformer3DModel', None)), ], 'LTX Video': [ Model(name='None'), Model(name='LTXVideo 0.9.8 13B', url='https://huggingface.co/Lightricks/LTX-Video-0.9.8-13B-distilled', repo='Lightricks/LTX-Video-0.9.8-13B-distilled', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.7 13B', url='https://huggingface.co/Lightricks/LTX-Video-0.9.7-dev', repo='a-r-r-o-w/LTX-Video-0.9.7-diffusers', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.6 2B T2V', url='https://huggingface.co/Lightricks/LTX-Video', repo='Lightricks/LTX-Video', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.6 2B I2V', url='https://huggingface.co/Lightricks/LTX-Video', repo='Lightricks/LTX-Video', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.6 2B T2V Distilled', url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.6 2B I2V Distilled', url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.5 T2V', # https://github.com/huggingface/diffusers/pull/10968 url='https://huggingface.co/Lightricks/LTX-Video-0.9.5', repo='Lightricks/LTX-Video-0.9.5', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.5 I2V', url='https://huggingface.co/Lightricks/LTX-Video-0.9.5', repo='Lightricks/LTX-Video-0.9.5', - repo_cls=diffusers.LTXConditionPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXConditionPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.1 T2V', url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers', repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers', - repo_cls=diffusers.LTXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.1 I2V', url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers', repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers', - repo_cls=diffusers.LTXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXImageToVideoPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.0 T2V', url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers', repo='a-r-r-o-w/LTX-Video-diffusers', - repo_cls=diffusers.LTXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), Model(name='LTXVideo 0.9.0 I2V', url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers', repo='a-r-r-o-w/LTX-Video-diffusers', - repo_cls=diffusers.LTXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LTXVideoTransformer3DModel), + repo_cls=getattr(diffusers, 'LTXImageToVideoPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LTXVideoTransformer3DModel', None)), ], 'WAN Video': [ Model(name='None'), Model(name='WAN 2.2 5B T2V', url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers', repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), + repo_cls=getattr(diffusers, 'WanPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), Model(name='WAN 2.2 5B I2V', url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers', repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), + repo_cls=getattr(diffusers, 'WanImageToVideoPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), Model(name='WAN 2.2 A14B T2V', url='https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B-Diffusers', repo='Wan-AI/Wan2.2-T2V-A14B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel, + repo_cls=getattr(diffusers, 'WanPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None), dit_folder=("transformer", "transformer_2")), Model(name='WAN 2.2 A14B I2V', url='https://huggingface.co/Wan-AI/Wan2.2-I2V-A14B-Diffusers', repo='Wan-AI/Wan2.2-I2V-A14B-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel, + repo_cls=getattr(diffusers, 'WanImageToVideoPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None), dit_folder=("transformer", "transformer_2")), Model(name='WAN 2.2 14B VACE', url='https://huggingface.co/linoyts/Wan2.2-VACE-Fun-14B-diffusers', repo='linoyts/Wan2.2-VACE-Fun-14B-diffusers', - repo_cls=diffusers.WanVACEPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanVACETransformer3DModel, + repo_cls=getattr(diffusers, 'WanVACEPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanVACETransformer3DModel', None), dit_folder=("transformer", "transformer_2")), Model(name='WAN 2.1 1.3B T2V', url='https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers', repo='Wan-AI/Wan2.1-T2V-1.3B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), + repo_cls=getattr(diffusers, 'WanPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), Model(name='WAN 2.1 14B T2V', url='https://huggingface.co/Wan-AI/Wan2.1-T2V-14B-Diffusers', repo='Wan-AI/Wan2.1-T2V-14B-Diffusers', - repo_cls=diffusers.WanPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), + repo_cls=getattr(diffusers, 'WanPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), Model(name='WAN 2.1 14B I2V 480p', url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-480P-Diffusers', repo='Wan-AI/Wan2.1-I2V-14B-480P-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), + repo_cls=getattr(diffusers, 'WanImageToVideoPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), Model(name='WAN 2.1 14B I2V 720p', url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P-Diffusers', repo='Wan-AI/Wan2.1-I2V-14B-720P-Diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), + repo_cls=getattr(diffusers, 'WanImageToVideoPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), Model(name='WAN 2.1 14B FLF2V 720p', url='https://huggingface.co/Wan-AI/Wan2.1-FLF2V-14B-720P', repo='Wan-AI/Wan2.1-FLF2V-14B-720P-diffusers', - repo_cls=diffusers.WanImageToVideoPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanTransformer3DModel), + repo_cls=getattr(diffusers, 'WanImageToVideoPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), Model(name='WAN 2.1 VACE 1.3B', url='https://huggingface.co/Wan-AI/Wan2.1-VACE-1.3B-diffusers', repo='Wan-AI/Wan2.1-VACE-1.3B-diffusers', - repo_cls=diffusers.WanVACEPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanVACETransformer3DModel), + repo_cls=getattr(diffusers, 'WanVACEPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanVACETransformer3DModel', None)), Model(name='WAN 2.1 VACE 14B', url='https://huggingface.co/Wan-AI/Wan2.1-VACE-14B-diffusers', repo='Wan-AI/Wan2.1-VACE-14B-diffusers', - repo_cls=diffusers.WanVACEPipeline, - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.WanVACETransformer3DModel), + repo_cls=getattr(diffusers, 'WanVACEPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanVACETransformer3DModel', None)), ], 'SkyReels V2': [ Model(name='None'), Model(name='SkyReels-V2 T2V-DF 1.3B-540P', url='https://huggingface.co/Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers', repo='Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers', - repo_cls=diffusers.SkyReelsV2DiffusionForcingPipeline, + repo_cls=getattr(diffusers, 'SkyReelsV2DiffusionForcingPipeline', None), repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'SkyReelsV2Transformer3DModel', None)), Model(name='SkyReels-V2 T2V-DF 14B-720P', url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers', repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2DiffusionForcingPipeline, + repo_cls=getattr(diffusers, 'SkyReelsV2DiffusionForcingPipeline', None), repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'SkyReelsV2Transformer3DModel', None)), Model(name='SkyReels-V2 I2V-DF 14B-720P', url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers', repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2DiffusionForcingImageToVideoPipeline, + repo_cls=getattr(diffusers, 'SkyReelsV2DiffusionForcingImageToVideoPipeline', None), repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'SkyReelsV2Transformer3DModel', None)), Model(name='SkyReels-V2 T2V 14B-720P', url='https://huggingface.co/Skywork/SkyReels-V2-T2V-14B-720P-Diffusers', repo='Skywork/SkyReels-V2-T2V-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2Pipeline, + repo_cls=getattr(diffusers, 'SkyReelsV2Pipeline', None), repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'SkyReelsV2Transformer3DModel', None)), Model(name='SkyReels-V2 I2V 14B-720P', url='https://huggingface.co/Skywork/SkyReels-V2-I2V-14B-720P-Diffusers', repo='Skywork/SkyReels-V2-I2V-14B-720P-Diffusers', - repo_cls=diffusers.SkyReelsV2ImageToVideoPipeline, + repo_cls=getattr(diffusers, 'SkyReelsV2ImageToVideoPipeline', None), repo_revision='refs/pr/1', - te_cls=transformers.UMT5EncoderModel, - dit_cls=diffusers.SkyReelsV2Transformer3DModel), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'SkyReelsV2Transformer3DModel', None)), ], 'Mochi Video': [ Model(name='None'), Model(name='Mochi 1 T2V', url='https://huggingface.co/genmo/mochi-1-preview', repo='genmo/mochi-1-preview', - repo_cls=diffusers.MochiPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.MochiTransformer3DModel), + repo_cls=getattr(diffusers, 'MochiPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'MochiTransformer3DModel', None)), ], 'Latte Video': [ Model(name='None'), Model(name='Latte 1 T2V', url='https://huggingface.co/maxin-cn/Latte-1', repo='maxin-cn/Latte-1', - repo_cls=diffusers.LattePipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.LatteTransformer3DModel), + repo_cls=getattr(diffusers, 'LattePipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'LatteTransformer3DModel', None)), ], 'Allegro Video': [ Model(name='None'), Model(name='Allegro T2V', url='https://huggingface.co/rhymes-ai/Allegro', repo='rhymes-ai/Allegro', - repo_cls=diffusers.AllegroPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.AllegroTransformer3DModel), + repo_cls=getattr(diffusers, 'AllegroPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'AllegroTransformer3DModel', None)), ], 'Cog Video': [ Model(name='None'), Model(name='CogVideoX 1.0 2B T2V', url='https://huggingface.co/THUDM/CogVideoX-2b', repo='THUDM/CogVideoX-2b', - repo_cls=diffusers.CogVideoXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), + repo_cls=getattr(diffusers, 'CogVideoXPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CogVideoXTransformer3DModel', None)), Model(name='CogVideoX 1.0 5B T2V', url='https://huggingface.co/THUDM/CogVideoX-5b', repo='THUDM/CogVideoX-5b', - repo_cls=diffusers.CogVideoXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), + repo_cls=getattr(diffusers, 'CogVideoXPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CogVideoXTransformer3DModel', None)), Model(name='CogVideoX 1.0 5B I2V', url='https://huggingface.co/THUDM/CogVideoX-5b-I2V', repo='THUDM/CogVideoX-5b-I2V', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), + repo_cls=getattr(diffusers, 'CogVideoXImageToVideoPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CogVideoXTransformer3DModel', None)), Model(name='CogVideoX 1.5 5B T2V', url='https://huggingface.co/THUDM/CogVideoX1.5-5B', repo='THUDM/CogVideoX1.5-5B', - repo_cls=diffusers.CogVideoXPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), + repo_cls=getattr(diffusers, 'CogVideoXPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CogVideoXTransformer3DModel', None)), Model(name='CogVideoX 1.5 5B I2V', url='https://huggingface.co/THUDM/CogVideoX1.5-5B-I2V', repo='THUDM/CogVideoX1.5-5B-I2V', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), + repo_cls=getattr(diffusers, 'CogVideoXImageToVideoPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CogVideoXTransformer3DModel', None)), Model(name='Index Anisora 1.0 5B I2V', url='https://huggingface.co/Disty0/Index-anisora-5B-diffusers', repo='Disty0/Index-anisora-5B-diffusers', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), + repo_cls=getattr(diffusers, 'CogVideoXImageToVideoPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CogVideoXTransformer3DModel', None)), Model(name='Index Anisora 1.0 5B RL I2V', url='https://huggingface.co/Disty0/Index-anisora-5B_RL-diffusers', repo='Disty0/Index-anisora-5B_RL-diffusers', - repo_cls=diffusers.CogVideoXImageToVideoPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CogVideoXTransformer3DModel), + repo_cls=getattr(diffusers, 'CogVideoXImageToVideoPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CogVideoXTransformer3DModel', None)), ], 'nVidia Cosmos': [ Model(name='nvidia Cosmos Predict2 2B I2V', url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image', repo='nvidia/Cosmos-Predict2-2B-Video2World', - repo_cls=diffusers.Cosmos2VideoToWorldPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CosmosTransformer3DModel), + repo_cls=getattr(diffusers, 'Cosmos2VideoToWorldPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CosmosTransformer3DModel', None)), Model(name='nvidia Cosmos Predict2 2B I2V', url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image', repo='nvidia/Cosmos-Predict2-2B-Video2World', - repo_cls=diffusers.Cosmos2VideoToWorldPipeline, - te_cls=transformers.T5EncoderModel, - dit_cls=diffusers.CosmosTransformer3DModel), + repo_cls=getattr(diffusers, 'Cosmos2VideoToWorldPipeline', None), + te_cls=getattr(transformers, 'T5EncoderModel', None), + dit_cls=getattr(diffusers, 'CosmosTransformer3DModel', None)), ], 'Kandinsky': [ Model(name='Kandinsky 5.0 Lite SFT T2V', url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', repo='ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', - repo_cls=diffusers.Kandinsky5T2VPipeline, - te_cls=transformers.Qwen2_5_VLForConditionalGeneration, - dit_cls=diffusers.Kandinsky5Transformer3DModel), + repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), + te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), + dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), Model(name='Kandinsky 5.0 Lite CFG-distilled T2V', url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', repo='ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', - repo_cls=diffusers.Kandinsky5T2VPipeline, - te_cls=transformers.Qwen2_5_VLForConditionalGeneration, - dit_cls=diffusers.Kandinsky5Transformer3DModel), + repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), + te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), + dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), Model(name='Kandinsky 5.0 Lite Steps-distilled T2V', url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', repo='ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', - repo_cls=diffusers.Kandinsky5T2VPipeline, - te_cls=transformers.Qwen2_5_VLForConditionalGeneration, - dit_cls=diffusers.Kandinsky5Transformer3DModel), + repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), + te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), + dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), ], } t1 = time.time() - total = sum([len(models[model]) for model in models.keys()]) - log.info(f'Networks: type="video" engines={len(models)} models={total} time={t1 - t0:.2f}') + errors = 0 + total = 0 + for model in models.values(): + for m in model: + if m.name == 'None': + continue + if (m.repo_cls is None) or (m.dit_cls is None) or (m.te_cls is None): + log.error(f'Video: pipeline="{m.name}" not available') + errors += 1 + else: + total += 1 + log.info(f'Networks: type="video" engines={len(models)} models={total} errors={errors} time={t1 - t0:.2f}') except Exception as e: models = {} log.error(f'Networks: type="video" {e}') From 58581896f58b7b531f995c298fac1fba16033c43 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 26 Oct 2025 10:01:24 -0400 Subject: [PATCH 077/137] cleanup Signed-off-by: Vladimir Mandic --- modules/interrogate/vqa.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/interrogate/vqa.py b/modules/interrogate/vqa.py index fcb7464bc..877740a76 100644 --- a/modules/interrogate/vqa.py +++ b/modules/interrogate/vqa.py @@ -33,14 +33,8 @@ vlm_models = { "Apple FastVLM 0.5B": "apple/FastVLM-0.5B", "Apple FastVLM 1.5B": "apple/FastVLM-1.5B", "Apple FastVLM 7B": "apple/FastVLM-7B", - # "Microsoft Florence 2 Base": "microsoft/Florence-2-base-ft", # 0.5GB - # "Microsoft Florence 2 Large": "microsoft/Florence-2-large-ft", # 1.5GB "Microsoft Florence 2 Base": "florence-community/Florence-2-base-ft", # 0.5GB "Microsoft Florence 2 Large": "florence-community/Florence-2-large-ft", # 1.5GB - #"MiaoshouAI PromptGen 1.5 Base": "MiaoshouAI/Florence-2-base-PromptGen-v1.5@c06a5f02cc6071a5d65ee5d294cf3732d3097540", # 1.1GB - #"MiaoshouAI PromptGen 1.5 Large": "MiaoshouAI/Florence-2-large-PromptGen-v1.5@28a42440e39c9c32b83f7ae74ec2b3d1540404f0", # 3.3GB - #"MiaoshouAI PromptGen 2.0 Base": "MiaoshouAI/Florence-2-base-PromptGen-v2.0", # 1.1GB - #"MiaoshouAI PromptGen 2.0 Large": "MiaoshouAI/Florence-2-large-PromptGen-v2.0", # 3.3GB "MiaoshouAI PromptGen 1.5 Base": "Disty0/Florence-2-base-PromptGen-v1.5", # 0.5GB "MiaoshouAI PromptGen 1.5 Large": "Disty0/Florence-2-large-PromptGen-v1.5", # 1.5GB "MiaoshouAI PromptGen 2.0 Base": "Disty0/Florence-2-base-PromptGen-v2.0", # 0.5GB From 0271e0830cfe6e2fab58c3b59bed319215ca43d9 Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sun, 26 Oct 2025 11:48:10 -0400 Subject: [PATCH 078/137] triton split check into early and full Signed-off-by: vladmandic --- installer.py | 5 ++++- modules/devices.py | 25 ++++++++++++++++--------- modules/shared.py | 2 +- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/installer.py b/installer.py index bcf6f37ba..91649c596 100644 --- a/installer.py +++ b/installer.py @@ -241,7 +241,10 @@ def setup_logging(): log.addHandler(fh) global log_rolled # pylint: disable=global-statement if not log_rolled and args.debug and not args.log: - fh.doRollover() + try: + fh.doRollover() + except Exception: + pass log_rolled = True rb = RingBuffer(100) # 100 entries default in log ring buffer diff --git a/modules/devices.py b/modules/devices.py index 2cb5ee653..62847c87d 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -65,11 +65,10 @@ def has_zluda() -> bool: return False -def has_triton() -> bool: - global triton_ok +def has_triton(early:bool=False) -> bool: if triton_ok is not None: return triton_ok - return test_triton() + return test_triton(early=early) def get_backend(shared_cmd_opts): @@ -382,25 +381,33 @@ def test_bf16(): return bf16_ok -def test_triton(): - global triton_ok +def test_triton(early: bool = False): + global triton_ok # pylint: disable=global-statement if triton_ok is not None: return triton_ok + t0 = time.time() try: from torch.utils._triton import has_triton as torch_has_triton if torch_has_triton(): + if early: + return True def test_triton_func(a,b,c): return a * b + c test_triton_func = torch.compile(test_triton_func, fullgraph=True) - test_triton_func(torch.randn(128, device=device), torch.randn(128, device=device), torch.randn(128, device=device)) + test_triton_func(torch.randn(32, device=device), torch.randn(32, device=device), torch.randn(32, device=device)) triton_ok = True else: triton_ok = False except Exception as e: - log.warning(f"Triton test fail: {e}") triton_ok = False - return triton_ok - + log.warning(f"Triton test fail: {e}") + from modules import errors + errors.display(e, 'Triton') + t1 = time.time() + fn = f'{sys._getframe(2).f_code.co_name}:{sys._getframe(1).f_code.co_name}' # pylint: disable=protected-access + log.debug(f'Triton: pass={triton_ok} fn={fn} time={t1-t0:.2f}') + if not triton_ok: + opts.sdnq_dequantize_compile = False def set_cudnn_params(): if not cuda_ok: diff --git a/modules/shared.py b/modules/shared.py index b9f290df7..0ebbd7e0c 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -205,7 +205,7 @@ options_templates.update(options_section(("quantization", "Model Quantization"), "sdnq_svd_steps": OptionInfo(8, "SVD steps", gr.Slider, {"minimum": 1, "maximum": 128, "step": 1}), "sdnq_use_svd": OptionInfo(False, "Use SVD quantization", gr.Checkbox), "sdnq_quantize_conv_layers": OptionInfo(False, "Quantize convolutional layers", gr.Checkbox), - "sdnq_dequantize_compile": OptionInfo(devices.has_triton(), "Dequantize using torch.compile", gr.Checkbox), + "sdnq_dequantize_compile": OptionInfo(devices.has_triton(early=True), "Dequantize using torch.compile", gr.Checkbox), "sdnq_use_quantized_matmul": OptionInfo(False, "Use quantized MatMul", gr.Checkbox), "sdnq_use_quantized_matmul_conv": OptionInfo(False, "Use quantized MatMul with conv", gr.Checkbox), "sdnq_quantize_with_gpu": OptionInfo(True, "Quantize using GPU", gr.Checkbox), From eba33bda70ce7365dd4f186557591cef31d104c5 Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sun, 26 Oct 2025 12:02:20 -0400 Subject: [PATCH 079/137] cleanup hf download Signed-off-by: vladmandic --- CHANGELOG.md | 6 ++++++ modules/modelloader.py | 36 +++++++++++------------------------- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a7be2368..f85fb4c28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ ### Highlights for 2025-10-26 +- Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation +- New **Tencent HunyuanImage 2.1** model capable of generating 2K images natively +- New **offline mode** to use previously downloaded models without internet connection +- Fixes, fixes, fixes... too many to list here! + ### Details for 2025-10-26 - **Reference** networks section is now split into actual *Base* models plus: @@ -23,6 +28,7 @@ - **Backend** - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies + - log `triton` availability on startup - **Quantization** - improved **SDNQ SVD** and low-bit matmul performance - **Other** diff --git a/modules/modelloader.py b/modules/modelloader.py index 42866dca3..9edf51a9d 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -84,32 +84,18 @@ def download_diffusers_model(hub_id: str, cache_dir: str = None, download_config if token is not None and len(token) > 2: hf_login(token) pipeline_dir = None - - ok = False - err = None - """ - if not ok: - try: - pipeline_dir = DiffusionPipeline.download(hub_id, **download_config) - ok = True - except Exception as e: - err = e - ok = False - debug(f'HF download error: id="{hub_id}" {e}') - """ - if not ok and 'Repository Not Found' not in str(err): - try: - download_config.pop('load_connected_pipeline', None) - download_config.pop('variant', None) - pipeline_dir = hf.snapshot_download(hub_id, **download_config) - except Exception as e: - debug(f'HF download error: id="{hub_id}" {e}') - if 'gated' in str(e): - shared.log.error(f'HF download error: id="{hub_id}" model access requires login') - shared.state.end(jobid) - return None + try: + download_config.pop('load_connected_pipeline', None) + download_config.pop('variant', None) + pipeline_dir = hf.snapshot_download(hub_id, **download_config) + except Exception as e: + debug(f'HF download error: id="{hub_id}" {e}') + if 'gated' in str(e): + shared.log.error(f'HF download error: id="{hub_id}" model access requires login') + shared.state.end(jobid) + return None if pipeline_dir is None: - shared.log.error(f'HF download error: id="{hub_id}" {err}') + shared.log.error(f'HF download error: id="{hub_id}" no data') shared.state.end(jobid) return None try: From c71e15bc66a4a8de8060325e8b6c6b2dba5827e2 Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sun, 26 Oct 2025 12:58:26 -0400 Subject: [PATCH 080/137] improve model matching Signed-off-by: vladmandic --- modules/sd_checkpoint.py | 19 ++++++++++++++----- modules/ui_settings.py | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/modules/sd_checkpoint.py b/modules/sd_checkpoint.py index 8857b3ccf..6e95448d9 100644 --- a/modules/sd_checkpoint.py +++ b/modules/sd_checkpoint.py @@ -203,6 +203,7 @@ def get_closest_checkpoint_match(s: str) -> CheckpointInfo: model_name = s.replace('https://huggingface.co/', '') checkpoint_info = CheckpointInfo(model_name) # create a virutal model info checkpoint_info.type = 'huggingface' + shared.log.debug(f'Seach model: name="{s}" matched="{checkpoint_info.path}" type=huggingface') return checkpoint_info if s.startswith('huggingface/'): model_name = s.replace('huggingface/', '') @@ -213,23 +214,28 @@ def get_closest_checkpoint_match(s: str) -> CheckpointInfo: # alias search checkpoint_info = checkpoint_aliases.get(s, None) if checkpoint_info is not None: + shared.log.debug(f'Search model: name="{s}" matched="{checkpoint_info.path}" type=alias') return checkpoint_info # models search - found = sorted([info for info in checkpoints_list.values() if os.path.basename(info.title).lower().startswith(s.lower())], key=lambda x: len(x.title)) + found = sorted([info for info in checkpoints_list.values() if os.path.basename(info.title).lower() == s.lower()], key=lambda x: len(x.title)) if found and len(found) == 1: - return found[0] + checkpoint_info = found[0] + shared.log.debug(f'Search model: name="{s}" matched="{checkpoint_info.path}" type=hash') + return checkpoint_info # nohash search - nohash = remove_hash(s) - found = sorted([info for info in checkpoints_list.values() if info.title.lower().startswith(nohash.lower())], key=lambda x: len(x.title)) + found = sorted([info for info in checkpoints_list.values() if remove_hash(info.title).lower() == remove_hash(s).lower()], key=lambda x: len(x.title)) if found and len(found) == 1: - return found[0] + checkpoint_info = found[0] + shared.log.debug(f'Search model: name="{s}" matched="{checkpoint_info.path}" type=model') + return checkpoint_info # absolute path if s.endswith('.safetensors') and os.path.isfile(s): checkpoint_info = CheckpointInfo(s) checkpoint_info.type = 'safetensors' + shared.log.debug(f'Search model: name="{s}" matched="{checkpoint_info.path}" type=safetensors') return checkpoint_info # reference search @@ -241,6 +247,7 @@ def get_closest_checkpoint_match(s: str) -> CheckpointInfo: checkpoint_info = CheckpointInfo(s) checkpoint_info.subfolder = info.get('subfolder', None) checkpoint_info.type = 'reference' + shared.log.debug(f'Search model: name="{s}" matched="{checkpoint_info.path}" type=reference') return checkpoint_info # huggingface search @@ -261,6 +268,7 @@ def get_closest_checkpoint_match(s: str) -> CheckpointInfo: checkpoint_info.type = 'huggingface' if subfolder is not None and len(subfolder) > 0: checkpoint_info.subfolder = subfolder + shared.log.debug(f'Search model: name="{s}" matched="{checkpoint_info.path}" type=huggingface') return checkpoint_info # civitai search @@ -269,6 +277,7 @@ def get_closest_checkpoint_match(s: str) -> CheckpointInfo: fn = download_civit_model_thread(model_name=None, model_url=s, model_path='', model_type='Model', token=None) if fn is not None: checkpoint_info = CheckpointInfo(fn) + shared.log.debug(f'Search model: name="{s}" matched="{checkpoint_info.path}" type=civitai') return checkpoint_info return None diff --git a/modules/ui_settings.py b/modules/ui_settings.py index b6803aaf1..880871530 100644 --- a/modules/ui_settings.py +++ b/modules/ui_settings.py @@ -394,7 +394,7 @@ def create_quicksettings(interfaces): model, url = model.split('@') loaded = modelloader.load_civitai(model, url) if loaded is not None: - shared.opts.sd_model_checkpoint = loaded.title + shared.opts.sd_model_checkpoint = loaded sd_models.reload_model_weights(force=True) return loaded return shared.opts.sd_model_checkpoint From 7d38e1063cc5737173e910aef40de464eb7ef702 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 26 Oct 2025 23:22:24 +0300 Subject: [PATCH 081/137] IPEX add GPU cache size table --- modules/intel/ipex/__init__.py | 16 ++--------- modules/intel/ipex/device_prop.py | 47 +++++++++++++++++++++++++++++++ modules/intel/ipex/hijacks.py | 23 +++++++++++++++ 3 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 modules/intel/ipex/device_prop.py diff --git a/modules/intel/ipex/__init__.py b/modules/intel/ipex/__init__.py index 0a4e19389..393c32164 100644 --- a/modules/intel/ipex/__init__.py +++ b/modules/intel/ipex/__init__.py @@ -108,12 +108,8 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.BoolStorage = torch.xpu.BoolStorage torch.cuda.ComplexFloatStorage = torch.xpu.ComplexFloatStorage torch.cuda.ComplexDoubleStorage = torch.xpu.ComplexDoubleStorage - - torch._C._cuda_getCurrentRawStream = ipex._C._getCurrentRawStream - ipex._C._DeviceProperties.multi_processor_count = ipex._C._DeviceProperties.gpu_subslice_count - ipex._C._DeviceProperties.major = 12 - ipex._C._DeviceProperties.minor = 1 - ipex._C._DeviceProperties.L2_cache_size = 16*1024*1024 # A770 and A750 + if has_ipex: + torch._C._cuda_getCurrentRawStream = ipex._C._getCurrentRawStream else: torch.cuda._initialization_lock = torch.xpu._initialization_lock torch.cuda._initialized = torch.xpu._initialized @@ -123,12 +119,7 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda._tls = torch.xpu._tls torch.cuda.threading = torch.xpu.threading torch.cuda.traceback = torch.xpu.traceback - torch._C._cuda_getCurrentRawStream = torch._C._xpu_getCurrentRawStream - torch._C._XpuDeviceProperties.multi_processor_count = torch._C._XpuDeviceProperties.gpu_subslice_count - torch._C._XpuDeviceProperties.major = 12 - torch._C._XpuDeviceProperties.minor = 1 - torch._C._XpuDeviceProperties.L2_cache_size = 16*1024*1024 # A770 and A750 if torch_version[0] < 2 or (torch_version[0] == 2 and torch_version[1] < 5): torch.cuda.os = torch.xpu.os @@ -207,9 +198,6 @@ def ipex_init(): # pylint: disable=too-many-statements torch.version.cuda = "12.1" torch.cuda.get_arch_list = getattr(torch.xpu, "get_arch_list", lambda: ["pvc", "dg2", "ats-m150"]) torch.cuda.get_device_capability = lambda *args, **kwargs: (12,1) - torch.cuda.get_device_properties.major = 12 - torch.cuda.get_device_properties.minor = 1 - torch.cuda.get_device_properties.L2_cache_size = 16*1024*1024 # A770 and A750 torch.cuda.ipc_collect = lambda *args, **kwargs: None torch.cuda.utilization = lambda *args, **kwargs: 0 diff --git a/modules/intel/ipex/device_prop.py b/modules/intel/ipex/device_prop.py new file mode 100644 index 000000000..b5ea820ab --- /dev/null +++ b/modules/intel/ipex/device_prop.py @@ -0,0 +1,47 @@ + + +def mb_to_byte(mb: int) -> int: + return mb * 1024*1024 + +unknown_cache_size = 2 +cache_size_dict = { + 0x0000: mb_to_byte(unknown_cache_size), + 0xE212: mb_to_byte(4), # Arc Pro B50 / Xe2 + 0xE211: mb_to_byte(18), # Arc Pro B60 / Xe2 + 0xE20B: mb_to_byte(18), # Arc B580 / Xe2 + 0xE20C: mb_to_byte(18), # Arc B570 / Xe2 + 0x64A0: mb_to_byte(4), # Arc 130V Mobile / Arc 140V Mobile / Lunar Lake / Xe2 + 0x6420: mb_to_byte(unknown_cache_size*2), # (?) (EU: 64/56) / Lunar Lake / Xe2 + 0x64B0: mb_to_byte(unknown_cache_size), # (?) (EU: 32) / Lunar Lake / Xe2 + 0x7D51: mb_to_byte(4), # Arc 130T Mobile / Arc 140T Mobile / Arrow Lake-H / Xe-LPG + 0x7D67: mb_to_byte(unknown_cache_size*2), # (?) (EU: 64/48/32) / Arrow Lake-S / Xe-LPG + 0x7D41: mb_to_byte(unknown_cache_size*2), # (?) (EU: 64) / Arrow Lake-U / Xe-LPG + 0x7DD5: mb_to_byte(unknown_cache_size*2), # (?) (EU: 128/112) / Meteor Lake / Xe-LPG + 0x7D45: mb_to_byte(unknown_cache_size), # (?) (EU: 64/48) / Meteor Lake / Xe-LPG + 0x7D40: mb_to_byte(unknown_cache_size), # (?) (EU: 64/48) / Meteor Lake / Xe-LPG + 0x7D55: mb_to_byte(unknown_cache_size*2), # (?) (EU: 128/112) / Meteor Lake / Xe-LPG + 0x0BD5: mb_to_byte(408), # Max 1550 / Xe-HPC + 0x0BDA: mb_to_byte(204) , # Max 1100 / Xe-HPC + 0x56C0: mb_to_byte(16), # Flex 170 / Xe-HPG + 0x56C1: mb_to_byte(4), # Flex 140 / Xe-HPG + 0x5690: mb_to_byte(16), # Arc A770M / Xe-HPG + 0x5691: mb_to_byte(12), # Arc A730M / Xe-HPG + 0x5696: mb_to_byte(8), # Arc A570M / Xe-HPG + 0x5692: mb_to_byte(8), # Arc A550M / Xe-HPG + 0x5697: mb_to_byte(8), # Arc A530M / Xe-HPG + 0x5693: mb_to_byte(4), # Arc A370M / Xe-HPG + 0x5694: mb_to_byte(4), # Arc A350M / Xe-HPG + 0x56A0: mb_to_byte(16), # Arc A770 / Xe-HPG + 0x56A1: mb_to_byte(16), # Arc A750 / Xe-HPG + 0x56A2: mb_to_byte(8), # Arc A580 / Xe-HPG + 0x56A5: mb_to_byte(4), # Arc A380 / Xe-HPG + 0x56A6: mb_to_byte(4), # Arc A310 / Xe-HPG + 0x56B3: mb_to_byte(12), # Arc Pro A60 / Xe-HPG + 0x56B2: mb_to_byte(8), # Arc Pro A60M / Xe-HPG + 0x56B1: mb_to_byte(4), # Arc Pro A40/A50 / Xe-HPG + 0x56B0: mb_to_byte(4), # Arc Pro A30M / Xe-HPG + 0x56BA: mb_to_byte(unknown_cache_size*2), # Arc A380E / Xe-HPG + 0x56BC: mb_to_byte(unknown_cache_size*2), # Arc A370E / Xe-HPG + 0x56BD: mb_to_byte(unknown_cache_size*2), # Arc A350E / Xe-HPG + 0x56BB: mb_to_byte(unknown_cache_size*2), # Arc A310E / Xe-HPG +} diff --git a/modules/intel/ipex/hijacks.py b/modules/intel/ipex/hijacks.py index 8e8961476..fde01bfde 100644 --- a/modules/intel/ipex/hijacks.py +++ b/modules/intel/ipex/hijacks.py @@ -5,6 +5,7 @@ import torch import numpy as np from modules import devices +from .device_prop import cache_size_dict torch_version = torch.__version__[:4] if torch_version[-1] not in {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}: @@ -310,6 +311,27 @@ def torch_cuda_set_device(device): torch.xpu.set_device(device) +@wraps(torch.cuda.get_device_properties) +def get_device_properties(device = None): + device_prop = torch.xpu.get_device_properties(device) + new_keys = { + "major": 12, + "minor": 1, + "multi_processor_count": device_prop.gpu_subslice_count, + "L2_cache_size": cache_size_dict.get(getattr(device_prop, "device_id", 0x56A0), cache_size_dict[0x0000]), + } + return DeviceProperties(device_prop, new_keys) + + +class DeviceProperties(): + def __init__(self, device_prop, new_keys): + for key in dir(device_prop): + if not key.startswith("__"): + setattr(self, key, getattr(device_prop, key)) + for key, value in new_keys.items(): + setattr(self, key, value) + + # torch.Generator has to be a class for isinstance checks original_torch_Generator = torch.Generator class torch_Generator(original_torch_Generator): @@ -343,6 +365,7 @@ def ipex_hijacks(): torch.cuda.synchronize = torch_cuda_synchronize torch.cuda.device = torch_cuda_device torch.cuda.set_device = torch_cuda_set_device + torch.cuda.get_device_properties = get_device_properties torch.Generator = torch_Generator torch._C.Generator = torch_Generator From 793d85363695812f84bed95fc5cec54801128057 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 26 Oct 2025 23:46:17 +0300 Subject: [PATCH 082/137] cleanup --- modules/intel/ipex/hijacks.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/intel/ipex/hijacks.py b/modules/intel/ipex/hijacks.py index fde01bfde..53a0d661d 100644 --- a/modules/intel/ipex/hijacks.py +++ b/modules/intel/ipex/hijacks.py @@ -312,14 +312,15 @@ def torch_cuda_set_device(device): @wraps(torch.cuda.get_device_properties) -def get_device_properties(device = None): +def get_device_properties(device=None): device_prop = torch.xpu.get_device_properties(device) new_keys = { "major": 12, "minor": 1, "multi_processor_count": device_prop.gpu_subslice_count, - "L2_cache_size": cache_size_dict.get(getattr(device_prop, "device_id", 0x56A0), cache_size_dict[0x0000]), } + if not hasattr(device_prop, "L2_cache_size"): + new_keys["L2_cache_size"] = cache_size_dict.get(getattr(device_prop, "device_id", 0x56A0), cache_size_dict[0x0000]) return DeviceProperties(device_prop, new_keys) From 60ac82b191ab751911d4657f201a972c4382fba7 Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sun, 26 Oct 2025 18:55:54 -0400 Subject: [PATCH 083/137] add basic xpu gpu monitor Signed-off-by: vladmandic --- CHANGELOG.md | 1 + modules/api/gpu.py | 3 +++ modules/api/xpu_smi.py | 47 ++++++++++++++++++++++++++++++++++++++++++ modules/devices.py | 4 +++- modules/model_quant.py | 4 ++-- 5 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 modules/api/xpu_smi.py diff --git a/CHANGELOG.md b/CHANGELOG.md index f85fb4c28..881505799 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies - log `triton` availability on startup + - add `xpu` stats in gpu monitor - **Quantization** - improved **SDNQ SVD** and low-bit matmul performance - **Other** diff --git a/modules/api/gpu.py b/modules/api/gpu.py index 7f33156c4..e5290d96e 100644 --- a/modules/api/gpu.py +++ b/modules/api/gpu.py @@ -20,6 +20,9 @@ def get_gpu_status(): elif 'amd' in device.lower(): from modules.api import rocm_smi return rocm_smi.get_rocm_smi() + elif 'arc' in device.lower(): + from modules.api import xpu_smi + return xpu_smi.get_xpu_smi() return [] diff --git a/modules/api/xpu_smi.py b/modules/api/xpu_smi.py new file mode 100644 index 000000000..4296a5f33 --- /dev/null +++ b/modules/api/xpu_smi.py @@ -0,0 +1,47 @@ +try: + from installer import log +except Exception: + import logging + log = logging.getLogger(__name__) + + +def get_xpu_smi(): + try: + import torch + from modules.memstats import ram_stats + + devices = [] + mem = torch.xpu.memory_stats() + ram = ram_stats() + cap = torch.xpu.get_device_capability() + prop = torch.xpu.get_device_properties() + load = { + 'gpu': 0, # no interface to get gpu load + 'memory': mem['active_bytes.all.allocated'] // (1024**3), # no interface to get gpu memory so use torch instead + } + total = prop.total_memory // (1024**2) + data = { + 'Version': cap['version'], + 'Driver': prop.driver_version, + 'Platform': prop.platform_name, + 'ID': prop.device_id, + 'Compute Units': prop.max_compute_units, + "VRAM usage": f'{round(100 * load["memory"] / total)}% | {load["memory"]} MB used | {total - load["memory"]} MB free | {total} MB total', + "RAM usage": f'{round(100 * ram["used"] / ram["total"])}% | {round(1024 * ram["used"])} MB used | {round(1024 * ram["free"])} MB free | {round(1024 * ram["total"])} MB total', + } + chart = [load["memory"], load["gpu"]] + devices.append({ + 'name': torch.xpu.get_device_name(), + 'data': data, + 'chart': chart, + }) + return devices + except Exception as e: + log.error(f'XPU SMI: {e}') + return [] + + +if __name__ == '__main__': + from rich import print as rprint + for gpu in get_xpu_smi(): + rprint(gpu) diff --git a/modules/devices.py b/modules/devices.py index 62847c87d..be67f7100 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -383,7 +383,7 @@ def test_bf16(): def test_triton(early: bool = False): global triton_ok # pylint: disable=global-statement - if triton_ok is not None: + if triton_ok is not None and early: return triton_ok t0 = time.time() try: @@ -408,6 +408,8 @@ def test_triton(early: bool = False): log.debug(f'Triton: pass={triton_ok} fn={fn} time={t1-t0:.2f}') if not triton_ok: opts.sdnq_dequantize_compile = False + return triton_ok + def set_cudnn_params(): if not cuda_ok: diff --git a/modules/model_quant.py b/modules/model_quant.py index 0bb72a75a..93f3accc4 100644 --- a/modules/model_quant.py +++ b/modules/model_quant.py @@ -564,7 +564,7 @@ def sdnq_quantize_model(model, op=None, sd_model=None, do_gc: bool = True, weigh if do_gc: devices.torch_gc(force=True, reason='sdnq') - log.debug(f'Quantization: module="{op if op is not None else model.__class__}" type=sdnq mode=post dtype={weights_dtype} matmul={shared.opts.sdnq_use_quantized_matmul} group_size={shared.opts.sdnq_quantize_weights_group_size} svd_rank={shared.opts.sdnq_svd_rank} svd_steps={shared.opts.sdnq_svd_steps} use_svd={shared.opts.sdnq_use_svd} quant_conv={shared.opts.sdnq_quantize_conv_layers} matmul_conv={shared.opts.sdnq_use_quantized_matmul_conv} dequantize_fp32={shared.opts.sdnq_dequantize_fp32} quantize_with_gpu={shared.opts.sdnq_quantize_with_gpu} quantization_device={quantization_device} return_device={return_device} device_map={shared.opts.device_map} offload_mode={shared.opts.diffusers_offload_mode} non_blocking={shared.opts.diffusers_offload_nonblocking} modules_to_not_convert={modules_to_not_convert} modules_dtype_dict={modules_dtype_dict}') + log.debug(f'Quantization: module="{op if op is not None else model.__class__}" type=sdnq mode=post dtype={weights_dtype} matmul={shared.opts.sdnq_use_quantized_matmul} svd={shared.opts.sdnq_use_svd}:group={shared.opts.sdnq_quantize_weights_group_size}:rank={shared.opts.sdnq_svd_rank}:steps={shared.opts.sdnq_svd_steps} quant_conv={shared.opts.sdnq_quantize_conv_layers} matmul_conv={shared.opts.sdnq_use_quantized_matmul_conv} fp32={shared.opts.sdnq_dequantize_fp32} gpu={shared.opts.sdnq_quantize_with_gpu} device={quantization_device} return={return_device} map={shared.opts.device_map} non_blocking={shared.opts.diffusers_offload_nonblocking} modules_skip={modules_to_not_convert} modules_dtype={modules_dtype_dict}') return model @@ -572,7 +572,7 @@ def sdnq_quantize_weights(sd_model): try: t0 = time.time() from modules import shared, devices, sd_models - log.debug(f"Quantization: type=SDNQ modules={shared.opts.sdnq_quantize_weights} dtype={shared.opts.sdnq_quantize_weights_mode} dtype_te={shared.opts.sdnq_quantize_weights_mode_te} matmul={shared.opts.sdnq_use_quantized_matmul} svd_rank={shared.opts.sdnq_svd_rank} svd_steps={shared.opts.sdnq_svd_steps} use_svd={shared.opts.sdnq_use_svd} group_size={shared.opts.sdnq_quantize_weights_group_size} quant_conv={shared.opts.sdnq_quantize_conv_layers} matmul_conv={shared.opts.sdnq_use_quantized_matmul_conv} quantize_with_gpu={shared.opts.sdnq_quantize_with_gpu} dequantize_fp32={shared.opts.sdnq_dequantize_fp32} pre_forward={shared.opts.diffusers_offload_pre}") + log.debug(f"Quantization: type=SDNQ modules={shared.opts.sdnq_quantize_weights} dtype={shared.opts.sdnq_quantize_weights_mode} dtype_te={shared.opts.sdnq_quantize_weights_mode_te} offload={shared.opts.diffusers_offload_mode} pre_forward={shared.opts.diffusers_offload_pre}") global quant_last_model_name, quant_last_model_device # pylint: disable=global-statement sd_model = sd_models.apply_function_to_model(sd_model, sdnq_quantize_model, shared.opts.sdnq_quantize_weights, op="sdnq") From 4282762c8c6692f0f24161f1a390ffcad2a27bda Mon Sep 17 00:00:00 2001 From: vladmandic Date: Sun, 26 Oct 2025 18:57:51 -0400 Subject: [PATCH 084/137] fix late init Signed-off-by: vladmandic --- modules/devices.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/devices.py b/modules/devices.py index be67f7100..3298e1b36 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -406,7 +406,7 @@ def test_triton(early: bool = False): t1 = time.time() fn = f'{sys._getframe(2).f_code.co_name}:{sys._getframe(1).f_code.co_name}' # pylint: disable=protected-access log.debug(f'Triton: pass={triton_ok} fn={fn} time={t1-t0:.2f}') - if not triton_ok: + if not triton_ok and opts is not None: opts.sdnq_dequantize_compile = False return triton_ok From 0e6d67168d3a44c9519d5c45294a692e55ea8d42 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Mon, 27 Oct 2025 02:14:41 +0300 Subject: [PATCH 085/137] log correct xpu id --- modules/api/xpu_smi.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/api/xpu_smi.py b/modules/api/xpu_smi.py index 4296a5f33..742393456 100644 --- a/modules/api/xpu_smi.py +++ b/modules/api/xpu_smi.py @@ -24,7 +24,7 @@ def get_xpu_smi(): 'Version': cap['version'], 'Driver': prop.driver_version, 'Platform': prop.platform_name, - 'ID': prop.device_id, + 'ID': hex(prop.device_id).removeprefix("0x"), 'Compute Units': prop.max_compute_units, "VRAM usage": f'{round(100 * load["memory"] / total)}% | {load["memory"]} MB used | {total - load["memory"]} MB free | {total} MB total', "RAM usage": f'{round(100 * ram["used"] / ram["total"])}% | {round(1024 * ram["used"])} MB used | {round(1024 * ram["free"])} MB free | {round(1024 * ram["total"])} MB total', From a40fe86771ecb758c7bddc6034784963b6de23ed Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 26 Oct 2025 20:05:42 -0400 Subject: [PATCH 086/137] add pony-v7 Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 2 ++ html/reference.json | 9 +++++++++ .../Reference/purplesmartai--pony-v7-base.jpg | Bin 0 -> 49862 bytes modules/sd_detect.py | 2 +- modules/sd_models.py | 1 + modules/shared_items.py | 1 + modules/ui_models.py | 2 +- 7 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 models/Reference/purplesmartai--pony-v7-base.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 881505799..73a2986f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE + - [Pony 7](https://huggingface.co/purplesmartai/pony-v7-base) + Pony 7 steps in a different direction from previous Pony models and is based on AuraFlow architecture and UMT5 encoder - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is diff --git a/html/reference.json b/html/reference.json index 2f7f83b1e..b45611c47 100644 --- a/html/reference.json +++ b/html/reference.json @@ -1134,6 +1134,15 @@ "tags": "community", "date": "2025 September" }, + "purplesmartai Pony 7": { + "path": "purplesmartai/pony-v7-base", + "preview": "purplesmartai--pony-v7-base.jpg", + "skip": true, + "desc": "Pony V7 is a versatile character generation model based on AuraFlow architecture. It supports a wide range of styles and species types (humanoid, anthro, feral, and more) and handles character interactions through natural language prompts.", + "extras": "", + "tags": "community", + "date": "October September" + }, "ShuttleAI Shuttle 3.0 Diffusion": { "path": "shuttleai/shuttle-3-diffusion", "desc": "Shuttle uses Flux.1 Schnell as its base. It can produce images similar to Flux Dev or Pro in just 4 steps, and it is licensed under Apache 2. The model was partially de-distilled during training. When used beyond 10 steps, it enters refiner mode enhancing image details without altering the composition", diff --git a/models/Reference/purplesmartai--pony-v7-base.jpg b/models/Reference/purplesmartai--pony-v7-base.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4aa4aa794f63c8c738454fb20bfad4bfe93d4c0d GIT binary patch literal 49862 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 literal 0 HcmV?d00001 diff --git a/modules/sd_detect.py b/modules/sd_detect.py index c074aa3ee..52284c9fb 100644 --- a/modules/sd_detect.py +++ b/modules/sd_detect.py @@ -68,7 +68,7 @@ def guess_by_name(fn, current_guess): return 'Lumina 2' elif 'kolors' in fn.lower(): return 'Kolors' - elif 'auraflow' in fn.lower(): + elif 'auraflow' in fn.lower() or 'pony-v7' in fn.lower(): return 'AuraFlow' elif 'cogview3' in fn.lower(): return 'CogView 3' diff --git a/modules/sd_models.py b/modules/sd_models.py index b5b28a104..f5f1059cd 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -47,6 +47,7 @@ pipe_switch_task_exclude = [ 'StableDiffusionXLInstantIDPipeline', 'XOmniPipeline', 'HunyuanImagePipeline', + 'AuraFlowPipeline', ] i2i_pipes = [ 'LEditsPPPipelineStableDiffusion', 'LEditsPPPipelineStableDiffusionXL', diff --git a/modules/shared_items.py b/modules/shared_items.py index 7e83d5c53..29490562a 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -7,6 +7,7 @@ pipelines = { 'Custom Diffusers Pipeline': getattr(diffusers, 'DiffusionPipeline', None), # standard pipelines + 'Diffusion': getattr(diffusers, 'DiffusionPipeline', None), 'Stable Diffusion': getattr(diffusers, 'StableDiffusionPipeline', None), 'Stable Diffusion Inpaint': getattr(diffusers, 'StableDiffusionInpaintPipeline', None), 'Stable Diffusion Instruct': getattr(diffusers, 'StableDiffusionInstructPix2PixPipeline', None), diff --git a/modules/ui_models.py b/modules/ui_models.py index 7810bd7e0..8ea7459a2 100644 --- a/modules/ui_models.py +++ b/modules/ui_models.py @@ -113,7 +113,7 @@ def create_ui(): else: typ = 'unknown' size = 'unknown' - guess = 'Stable Diffusion XL' if 'XL' in f.upper() else 'Stable Diffusion' # set default guess + guess = 'Diffusion' # set default guess guess = sd_detect.guess_by_size(f, guess) guess = sd_detect.guess_by_name(f, guess) guess, pipeline = sd_detect.guess_by_diffusers(f, guess) From b5a8497330137af2be2e8e8fc67e82772308cfd9 Mon Sep 17 00:00:00 2001 From: Oleksandr Liutyi Date: Mon, 27 Oct 2025 17:57:25 +0200 Subject: [PATCH 087/137] new covers for HunyuanImage-2.1 --- html/reference.json | 2 +- ...-community--HunyuanImage-2.1-Diffusers.jpg | Bin 62859 -> 70908 bytes ...--HunyuanImage-2.1-Distilled-Diffusers.jpg | Bin 0 -> 78996 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 models/Reference/hunyuanvideo-community--HunyuanImage-2.1-Distilled-Diffusers.jpg diff --git a/html/reference.json b/html/reference.json index b45611c47..265ffb4dd 100644 --- a/html/reference.json +++ b/html/reference.json @@ -611,7 +611,7 @@ "Tencent HunyuanImage 2.1 Distilled": { "path": "hunyuanvideo-community/HunyuanImage-2.1-Distilled-Diffusers", "desc": "HunyuanImage-2.1, a highly efficient text-to-image model that is capable of generating 2K (2048 × 2048) resolution images.", - "preview": "hunyuanvideo-community--HunyuanImage-2.1-Diffusers.jpg", + "preview": "hunyuanvideo-community--HunyuanImage-2.1-Distilled-Diffusers.jpg", "extras": "", "tags": "distilled", "skip": true, diff --git a/models/Reference/hunyuanvideo-community--HunyuanImage-2.1-Diffusers.jpg b/models/Reference/hunyuanvideo-community--HunyuanImage-2.1-Diffusers.jpg index 4e7f34c88fe1ceb1799be947f4c7b98694f79090..cac5e02dfcc415672f254d29a11194255fdeb9fe 100644 GIT binary patch literal 70908 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 z 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

K4X4$5frR6+AK+ZAzTMFRH>tt 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 diff --git a/models/Reference/hunyuanvideo-community--HunyuanImage-2.1-Distilled-Diffusers.jpg b/models/Reference/hunyuanvideo-community--HunyuanImage-2.1-Distilled-Diffusers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1144266a42de03d755e61452f16efa20d5d6bef2 GIT binary patch literal 78996 zcmb5V1yEeU)-F1@ySux)6N0-A4#C~s-QC^YouCOGoDd{1xI@q&!6k3Vx##}()~k9| zZ|~XFt9yORdv`J2!(Y(f9T-_DZyQShKuHO}2mk=!0T59(0BA4;0e%R<512}g1i%3R zF!*4aUQ=04LPb&v0Qd+X2bcjo0PX+_0P{cE1mFtpIe~9S01LnkO#1-r!CZ2H33$XE zU=8Lw0i3~)1NdXY-n$NRfaO1~ zCAfVbw*(_y|9S9k@!gX7KP^^Z-hZ^2fGKA%=e_6tzj^OykAGOFf6`uHAKoK)N4?9w zOSyu_%)zZ4cfw-V}^`mvsk^|Bv7A-oIzV>tFO>8FFHP zEZ7G}a2y_BeeaRWfpcR5wr@dB0`9$M@;wUoe;!(c`}Sa4|EGul6PGF2;(v4YKQ`Z^ zumsD!SIX^wd2a#m2Iu45KR57g^S`W^fa(9(`aiSvKK38aoWMwXaPNOC{?`wue|h+C zbV~p9z1vj;OSplh-)G0Wwf8*zCok{$dYArB*52oV6FA2AIq_Zt`+supl`;b({)cM? z=9~QM|A+HGGmI6C69>zgfFfNzQCWl0?;d%9wf?uZ z?;be;JpXz5F8!Z++5ERA|771W|K+^<>dG{QvT$0ml1+N8b^g0CoU3fFB&mf2sG3YJj!A zYk9Zr`VS`suJM0*7Q*ga3uecu>hmZ|Dn0S+PMFXN`TQaV2%Ho)$bbK zt#Sca!3dszh>u`9&i_U=0FvPG_o&|U`mR&!pZ)*NqyI?0XTt*Qu_@T|cZ@1Hn)i47 zy|VAQc}M-%Hpl(QyA=14sa% zAR*sB;0qf3fq{pCfrf@bgoA^HM@B?OMnXhFLP5nuM?u9vMM6TyMaRIx#=*fsM#IC$ z#m2|P#=(A90s#eJoNJt*F3FzhmOu8=bc9EYHNMMpQG^a`(UZ|ot;bAPvW5R;fe93*KwEniA@|+rv{`R z2mC(<)$@c0^F`TLSVUN(*6|IsM2r&$<~stuLn$A^3a5kxmt3a^FtINQQY z!9F0#vi%vD`Mn14=&vO3pw*|mj|T*A84#L^jzQ{le{NY;$ULT3{jyE^#UyB@(ZSyD z&RB$f{?8Sm7{$8Jz!E!q%`U)m$ji7(aoIrM9KG1>m0dBu_$J9B9pD`6_g7%-6t&BayvW}zFr*sffzwmCm-MR(bx{>l|6zU2D=z(?@&|ZGALx$ z-uu+9KG0aD0u&LazSY?Yi!%hGP;G5%(y0J+79l{! z!|+h?#I?MeAl!8)`I~J_t$6y!?bKkXi19vInq}!N@?HNHiqP0?2V&Mq-Irl873b zeL0IViFRl~s#$%^(DS}DCEa7?2G83V6pqf7Jm=poFLNyZsI4b*AfMnFJo(JWFR)JW zIM$Vnw-N4h4yve<#C&x5+ED{4uK|1xp&UjlkX+8;lXquzspC3E_OaB4$dyuX%4jlA zVB5%vR=e%5=T?KZdV>&04RKGyEfKw=a$UM2^R;O`U;6$)og*j9 zh4X3B{)nY)+L}(j2XP#;GPjbdn>J>^!b7w;6czgFX7vbP;|_Q-eb1g|XtT1ZS09>+ zXxpVHhoEN@*J`io2dAG3)4y|fgjY3cG!p#~xWEnEQ&_Z8DUuRK*BZ_VNLC;3_3444 z-NxrkF>$fGbS~LrHBIjPn$EOreGk~SgW}7kLKmP$3P}_={6HvTGtJun5SFJtLM&Lp zRc|4S`#j)CwXf8I@KeO;1hqrG`{MI#o6b1-H;wGc3A3%Ko~=rPQG^%DUXEJd;bM2f zuxgJ)nRMQbUB=vp7jZVbaOjp7SOyWVXPKuD<@r+Syms|;Z3YMJo5+j~18ltWjscoV zect=O8%0MfwdtaVPT1r=*x<%4ua)+$YUW#}yJM@h|IE;!MwkA&DQ#Q}x0sT+c({5PwbNVjC~C2Y zJXG0NMmJSsT}K-tY*Tv@ZX#c^jmumQ#Q|8|U*DN_5h`~RThTcXIP=CkKaSVE!h4pq z5%j93S?GacnY{g224Q<+TT@UovV0?hF3uORjkjU9j=C%`wQIMRr+K?-mSH|OQSKhk zs!M-d`N5`UC(Hf1AqGb0F95~AY}o~G)MD6>jy#{}rw5%%;Cx`7woNW#{w(uMOf> zkAdoI_o&*hv4JX$r-CZi0=X>U{tB-`POXxPzGgNV-Y`x2c*_X>x^6`7Sf2kC+ey;d z_vO_ON|po{n$_0@!0rGhppqP>0*nGB%Xoqgjw?2n!$6+PEdJT-hDR>mM_;og61*jY zqWjFG*%~+NpArhn4Xvexce}E=(_hd1^g;Ow78EEgLvIbsM z^1|hA09Ak$C>HN$Y|1XeZUP|2qYf2j&!7@#l|~BZ;h_j{IWV-=f8NQhZ1OXO@~hLr zl>utSQ>E5<*<;JOI@3fx=NT~#ryp2y<(j~htx z>f#6UiEY< z!569yw;Go}ST1VtKYudGns*5(S(Sc;C9w`9I4;c~Vqa9}3`LOFQ=6UK-@~yAYNs+h z$n6xaD{p#T6Pi?`^d4!EtaWInLJDx27_EB{eJE}`y->&re65Nt;wX1VwMm`aZ=yz1 zNb&PE!nU)>EX1A2H@NPYyv23~PXBtaQgRAdDhd-QnW{0aiY>I#QKif@{sIx&zlxJ7 zek?)wWOzXR76$JRpA*MSd;k31XRsw0-*AyEWz;G5X2!-_@mKa!LX8xz)LmKToRZeH zj1txa>@H5Wfx+FjuW99pbhuIw41IBpV#Bt>sS3?1uc?qx*Q<;1t*Go_(?Ywn3YLE> zFhg{_gRIUZe4IKr8>S~z=Q-^-_R}1-n+u@_;#S)jvoIeD;tWBhhFXdxk3fK4L`_vd zB2FjLOCo02^>AfnBSB{6jIGpcoccal#@UBTqK>$|A7!j=gh!6zH#LMrRJj`=^vDo@ z{tP-6CxTR^qUqyIG7J7gfMe-o|2;Ga;2ZFyGF-paqnLV1mYwHqX=+jjb&&8t|e*29?Xv9w-9{ zVSY5NNL8MiDwmwlX&Llg-$95R+<7b6 zmx&G3U$b>v_bvn-Wbg=QWMB*;640cCQlg%z7>jyG+!4Ysdx`9R4mvyerTs?ZVSe&5 ziQ^w7$L;aaz(vH)V4#S-LNV%1inQx^w0faix_#32+WwxUa^||W8P`{Ee0Yo;8pAmt z8k$U;C+g0<>jeWM8k7y##lDiU%<(DC%{Y7bh9pc_FL3B@noxf?grc3 zvf@xJop}z9)8&{F-qACR*T)-Cgi!cz zrBcXg;VbPET-B4Ck{pm}i*Bm8*tQrkCf*vm89EiB6Y>RFjSPMZ7UPf7&QISw^VP4r z$sfhzTfb%0he+rS+|0CNGYc2vBCY4!)MTZNk`Ou6$le=?rM0X(1ba(98UM)qAdHMI z!XX$roY^)^*reddsPQE#w|RcC`( zi1V-sD1?gC`ymvK=vG=Sr0~`*{yU#~WlZkQkxb1ABUx#z=A&gumWcs`F={FHmO)mr zJw!673D>eht3_RB)5ucQh^XS*VdCu{a{Gl#S?I6_yzQ|{&01Hzc;7xqaew1VB3{yD z|J~zI{3d~l@e73^qsG@ik-@;zMnN`6BSd+mn8=_EdFX`XYv^|@*@})tmF6Qtg_0cK zxnG2?+jS~T3;H9xT-I zp<+gEF+qbt!#ubUiG9Usq9ZVj!+h@qDd2xt- zg8*<(IO*8~@-w?n!xA2@rC~?a0|D#?i9+P&`mF!?|&w+IkL?-N4X) zB8}g=dLoECSy)*wJ4Y2-V(%lY^XxUsdD1je`L+H8)td8hDKrzoJd}`;4p)KCb?GKA z>5GiXc>*g=h)PUzpAbNB!?H!#u?X4Qygb!c*MWJKVPQ2+q;k5JvChKQ`UN{wfHGPq zuh3p;_HM*WQ&cYNFiuWELWD+`do8!2_CDo81$Wz&=SN`aq3<43qKJfwl!CVGl?3(G znuo{gu(hz`UjT;MpWjgqs&TA!jbWyx)Z$Rkjk0uZu-l0cxOQ$5G`Jh}kc0q0Ex@o()-dW^&{30Nm&fKxUv{5pkNiG= z++iNQAIj4|2*2?fbPcmjp2FSp$Jj>Nanrd<;zhGFOSO;%@AZK0t^4g6th>*gH2_i5 z;;%~0i_etikPj5WUlVZ&<;=}7#;7vMQKFS5&h5O0-!$jXH4B0EOj}nLQlDO8Lw}o$s~3BR)YaYo0Mrzi3zhVywQWzJyywP!~gq=|i_=p-Z+C)Uok^ zRg){2`$nE)!<04>-gTzO>G`>T8va`^y_=z_Q~Xw9%op2ph=rO@@e7Kfoj`R>oQwh= z>zYX-n6Dvz1?$0p{hjzMn(sW{%PXf^Pi*V=1gC2urI3xMxUaikF^w`3JLIW&+epXw&MbjZv ztnFxpBQlOC-~5yOIdOkA>C4rZmvo~-sy@M(XW&hL>mPl&gOX_9v&(TYD?FWIyLB`M zyySr2DWqLTXo~GpUh0AoRqlOyDPJ8O3~{K%ZG^dd+3_q}nj!a-(HzGxzUYAH*w+mj zC;ho>FiHZ+xKS02pPA9*3y%#bsBc0h;3@IxvwM z2>dh&-ZUF?6p4iD+1~}>;%X*VLmS+LnI?Vj3w=p-COv~?3W^Evf(<=pHLc4g?&SOq zF~z{BmK7j+ODP{*{+LNkle-@Lk$8<*DPkGIV`?_Ov9e!Fl>AoN3dQL+avfXVy_ON@ zNJ`Vn4viQQ0x}XFMNBUwLZ^w)YrzJVi1MkrE#n};M0-?Jwi0nm3zo71JUYez#aPU& z3jyvCPGsBhxpe9*y{oTn!^)^`R-<2zaD-V+q79BEI#LT7wTrjC73jVf78ZKXP%+=4MXHU_oR*+H=6Q89olF=Kx?Q+g9xEeRC+ZNtgjuwb0OK68P;icCzp+4pK#VEc@!>BCxNERD1+XlaQ4I*?dN z{|i_l4m0H#`wNJ7jM*=MI8C&uXumL{2~@W!Zip0&+~Oh6@bczl2XK%Kb}~){Iwg=j zvpluvvYOTOIB4&xNZPCk7JH_}dT9Z30Ca6p(tAGnga}GtwRb7!nQA!lAc$AsLGbHgpt}QIX;Pz3`DE~ko>>eOo9vhnq&V)kl$woof&wJh>-qhdGkQF#W zsHC{u=`o9psjcW1eNb?9ZY=?r*<-hCbueE8qxr;;?4d*a31xOdL2)3WB6~?-Fy(sU zM)UJRM68IJf*MEbQ2mSFD#%)%p(2@an2O^Jk|dAJPNL5oEha^q6$aB2(=fj5A#n8fpdre%xI*9z1|GVH; zy@Lg_iK(+p@Kh9L(4yH^2>yIbn9DWp>DdX$b4e{j8u4tkm^%&A4>Vq z3h7Sg$v4E%9oU(n4lbRXbe+RGQGfIyk}o5x8R6`$Q+eK*`ni~+G?*(NI!^9I}tTRf+Mbl7cgVzmt_(p`XbT|F^O$ydYMe2FAP`3h)Rv@g_ z&yksiYFRA`mpPj-{m~k!^Ff+s{U!M;ptd z%L>1pLpY%K5)wFk6iw^U)P8CkTl*Jq=POlwWuA*~S*KHJI(kB!ygPKh`j$P}outad zG$C2tl<;bf85XnvOIRW11{_=~M4Y36y91IATM`qKBSlSwQ&ZKjP=>!26} z*uMZ@KB3I51G?jQ2Hkw6yU_OKOmyChYAc#oM{SR&o$yIpM*J;P%%F6Ah*~K_yRefA zR;mf~$i~EIi^_Oz){+w?%?!J9I3C`tx+Hz~KZ0n~g@!;zknqA#c{ah|@9Oyw+G<@HDIokF^K z>pDU9B*Qij7#3eI9NX{r_2geQD>+x)T`RSw{hb|7pl#O!bsX#G ze7R_+OT&0hc#wa{{RI@ITHI*Cckyu=InIHQ9BE%8DQB`C2K$a8<*t*p{sNNtSy~@n zoP{ZvDAyeC$dT?@?6x~3@z(bDAu|?^-|{r%6!uQ?PlYly*Z-_|8j`RpR8z#ab_1ZC zrJ91AfY{xKAyec+t%TFxOY+MIzl@(Jco}d;F9{WVAzC+DK(1nr3;1aq!*&RjHa30# z>hk;Ik2WkXoSo4W>8_}@aG;K#-jC7%^9#_5Y-Hc~yzF0qhxA;(^Vyc) zk7g&CL)c?V%M(BlEHkaceM2AaV}6m3X%eH=$4 z-|MD*!>&+d%CEnylr22*F{kl-H^~jpMvf!MmE;1*(y}3=d&ULBj6>UQIMiNW6xsMr zKl7NjyNAeWb{tuHNNIKhQgs5mj+TlS2_ino^DKFMTA0bVi@jS&wycz$U>7TLnBGsW zNN#gVBno!e!4YPO=OmT4M76<_aDOwqLTjL$s>qDRZI~rewOolXhbgbAOyto}LDJ!( zV&Yc-(d%>c!&M}*>Lh6dDqUsv!3wHrBwOS}*4Jfmb88H>`%nv{pK@TwxAY43kW}!| z{)7;Na``+lT0uAMeT0PH+#{2hM=96Rft-+GuD<0?R0KX(JnSR7{p9dAYh$p*qv_=< zC`YTAz}L&K@mVt{J98CqOAAWQqXl#`Trp%8SS%(u)G_=j6>=N5vC{J$%^OX%o}$<2 z%%mZG3thtdozV8o-A-kr9I9otAdMNIkRzvtzh;Rp;hk)>=!lte`?$wt`NY|8prVjA zH%RJ|W2M)`T@wl=PhVE>>v+>JFWy#q#g34YXsU;^6B6{xGi1WmG5k-E%7H*Z0Ihb` z0XE05h~hP~%R@O{>PDkN8wkSfTO?zfUmfa-LIw0Vcw4kV#Cu@_VV7J`cnbLcUsisyzlM8GOYH)L`^gt5+NibtP-KIDyRa0BY@6Z1;wi;B6&`Jm2Peb~!@)yv$Rndx= zpt)$9T#6IFpZ>|Lt7V1y+;ItNi1bU#-3U{8KO&BZ)}jpEl$K(r$~>1!&f+0LYbgVt zL;Rw2=SMos^l}aF3qq}ymS2UDbGj;ue=IdBuIUv8EOj9VaZjC+lfF_V1FXzE%^c;1 z@#mE${SqS5+BYrv8PbUf{EEiN00`eQU>eheO<$YQ+9E}oA{0CLS)~!tIs}g;#N|&~ zo=mvYApBgCm~2`6IaNM=Bqx^1)1=jhK4X-6-Uc0QtRZ748#a9>J~p_D!Da|}9P6zY z`3}fmBTcc}tIvR#tweA$3nS}83<@%!P;ggBW($?OAtpTPL;4+=Tn;=2QIT2#BZ z5?x-g+9);E-K-WaGnVWvds9G3?q5JA zgUx;sPx=JY1Wm6KUx#SLMEJC~$Q72po2&WtBSUv)v9YY|+$@_nGRWV%ie!_rw%xA5d80IPWTov^U0%B^OsOjG~W0NKwi&BDlC{6+`+ACz~~sMg%ysKquwxuza6UnvoPtu?3DcN z9!=?Zq1~AM{s?jJ2ggX~YPG28@;4_7;h#;8#2HAi8Lsv%M1FoIioVL)I}~;SEdEC6 zPqdr>pvH|_gv+lA*vb4vQEwyj6ODlOYuz^y5>=&48ob{V{OY-kHPM|}Z)$N@?xqww zK4kk}FWr4bc}#JKHt+C;zh=~O>FicVb0hCxvLU&087@!d zv}bjgg76En7d*%{p$uZoq?&(lt~6H5tx7Q`AxX_eWG_UZTu=EGge+fL3EwMbJmT!I z_Dfl$WXh}px|LqFuVMV@eyB47--UGHA3+()l7x{&_Z`ma0?YY0;9-K?19Zy#r6MR=HtFEJ|w=i$N zy`JLyW^&-rzRQVlgEG3#Dg7~ut#H+ba7SR$ULHhdbbX!d_OX|0 zOxeT#ankjt!r~rEK+gP$0;`^N6Y^L7#n}UL*l8n$~B=k<~RR zY#-hg0)?KGqH78nH%z9- z8zgs95rq|R!LB9=VCNJzXI3c=D^YWOcN?DSeCZ2*{9PN|5 zL?Fnks&ef(thgNB&qQw&+e9H)X(B+~ArBSFt7Y)I`3S+B@ zdzpuP_lnJW856d37O83(%DLiWc!Y_Tvxo~-7`bis0Nn}u)yHHON~~RGSvYD_f=>>m zP{?8@K-w(onwl)*YsS~TD0%xzL1|hU7RN~u=SRJ(VS>aAw3*qOVRv-d-!B@oQ^Do_|Ls5d7v) zTM~0)==8L!uau4h7sv7T=`Y~LL{Y#P&E)<$Ie!hkdz(RT9;hrFQxw)SR>TN04(bZ6 zSw-D)4(gzVV?|ic+j>kGA5f3ya+V?9Tu+)p&#D;)%DM9YaAqFRPnkVUlGZBgA~R43 z@;tX|`Q&qy_r`zadfhnb-7JjE62j<-Y*%5im3vxg|s} zQNG?=U*>Q+P)Y(alTramXWeToCQI>prGNr%Qa2&$L|{bN?ndLXVS=iFI+0R`p8Ov6 z?X@`*CvDVm^l)!n<;3~;xy?L&QXxXWMi}mi&Ch5VHt;vcV<+C9)i9T@A)TFFzoRm@oAl!7@>G4UQ#10%X#RkSZ5!G zN)EMT+)bF}AUYs@&&8kf^qfPfk(;)3;ir4QLm1c8Q3dyN$3y(MC(@Ho2YAbT`sY?3 zF?kKlAY4A5c!4P%bem#p9nJK~^%ICRwsX z);3(+P$`=SD8%+fV+2{2=r2GgJy-;77BxWp0qF;c+$oM|ZDIV60~~ZspcS|KXLYLO zW!ZZf;#D4qoIHm{@iN9PUJ}yD+nx}we2YuZF7EhC`!<@J!^&_`|DID2! z?-D2wgF8xl2&iNi)E;D+B*SGWv&8Qk!b6>MydgwUXIyFm9 z8tl%NU)%XzP+U2`;ilx?d_LK#B7Sjn3CF1 z#%iL-SaZ~Pk!WFz5b$0c5>Gl3j1@Hi zK)RT-A#)&l{v}>HSDno)38DMD>brTlzC?K4x-2DKoh{<<=qskOwGMi$apK)d8 z1L;&+XaTcxrg9H+cRxNNrvBGUA-9{crIx*TM*Wf|VY3CCtLr>s_z(QHs=*X^V}1CF zNY3~y`?y1N>oCXUMlfHtjdN(bsi1|!3poa8@m5fES)C>NPG4H~IL?E^deKx<=`qce+G} zR8Wc3Wk~P!VstM7nWXkmPPC__uViM^3)u}ND5W|Mns;$3((Iu8eKh5;#rKhX^VR(Z zHq^~jXb7tvhF-$XBXoHce;R#r_x=&YF&xkB0&GSgFk5d!W&gUT&)9s$%#5QHNinTF zX^=ovDL*N}UCG1JOk}XVKT)!Z&cXZJUf@A37z)DWr7nr8BGqmT9Z~L}X$?2`O}?!R zp;7n?0V4RcTO<;C(VXYNWX$4|^L6q!3~PpqHJJUhEm9VML>Jo?QL;+$NcSR50hYRY z^Z>Ns>~RG9!GN5xoZmIJbAKXnX>ki(!dra++|y2)-l=e2l@E1Jp#xh4rjI($pPw#FH!g&^M-taLDCJ1>1u|&H zkGM}y=Dw(}T|yH}Ft*nu%23$A%o4>h1sd-XRR5WDwJO~#OSr-ye;Y#|jzv(4mNXwQ zF`hrwuuh5*EjXPFuPU82E1f0_k;yKpN_`vPgS(`|m8(S799T~jy-ss_GRqNIDyT4) zr~QN1ELwCNb0iZ;!y_ZhR8mps)AlNGZ^TlU<%9;VS`30$C^eZCV zWnWy`u8V#oe&qK@hqq|HX6m?(TYW21sl-kvheU~${vqwSN!WCqMdgW-+jkQ^L#2mx@5RtWh~r)UFt3|)gQN_DX@YjXbkJiPXk zMi2USs2DX8c!3w>!23sSIKacYE`JQMfceSrL=#34$@=RiN`ADuf8u z)Wg6#i5w-BkhsS;2cT&~l4bn)LZ#xe{kXeC%n~si>Gi_7Whc94br(MrR89>*>7QDE zRfd8{$sZ%jP|dsPEi$`#GG#varZkK~SdNepZIHJT=g@pV6mEokJpfqhJ4G7{i)iYh z5fbxk;S0R){CstWNRrV&SY94|n7TmmOZIcK$Dm|z ztxsb8b%CKmSELaoRhcs#$$L3^XIfi&6o*u#;*X=Pn79wqjnEG8-rG9z7gw6hhvZRT zAFUb|cQT6>b*q-*E_WO$5;4W;{-#p1q+RXMIoO>qHiuqiEmWhdT^%7AIy2ir+pXyo zE5l#?XNEaskneY#3VCoGF|}mDvLawbp(bx?3(nh%Z^+xfm>A^{=`@Z;)4GQUL}n67 z5^Rq{qs_1U6Cx?ld3w@5M&m<=C^YDKJ3L?v&ZrQSOpo}-Ey&*=p?fT^-sNu3pHY&0 zgw$F0h8W3X4JXK;XBbYg=D5aG+jcbqts5W&{M_|;^=OK4WFdr{v_d@C?3?fTIUU${ zb=nN&s+qkV23}D`9!BL$9^wisyUX=*%v0pShgKWEO`Mzo`=+<;WTMFNP-%qp-Q24!#(|8AFp!jads3ew4=!lpHNgFZ5!+oyIy< zHFXY{_{_fmIDYy^v!pHFPaZN6+NN-??NXb*hHV%v$@|m3rWY+*!Hg+)Hs|G5Ju@0A$y2x9FR741rJC*v`(eb*Z1&HP z57)9>;!5FBDBE{({^YkskAh%mugVWFA1(*`Dfb{QXTC*D+>HQ^8u3#&$c?mbhK^9e{OA(eFI;g7z0=t{F<1@lZou9#_zPeT zMKlkG7no z=wnX_)MxXDb_t8_;%8jqm)wp(-0~wkz~fJ};BL}nZXIRw;`@+D+D0(LtFL}KxHgJ7 zkB!NyOW2?Md5YtAY+HWmN&f47WEsVz&U!GyEx&zT<+GGZXmCq^kfP!SE_{b%Ma=Ho z0}E$S+vt2c(OO!NBAiD=fG4X zY8MApzvrFvv{ah}?y1hAencPfvA-98tf@7<(bPL;Gq<=f6cLz zfiiI^N2N!F>_u(qX4uwI7)2%d#hd5t9lpCByT2SUdfkAk(6)j+!ye}(v+Q#}o4t^r z6^g{|XycTiUzHtK{=AxsjABHRsFjlx)MDBI{y1Bn<*V-!L-z8Z@X54R7=2|gCtVfP z;#23{NPpdJch-oP9)qA)70p*zeU=l;i%?bOYqEf15Srhf&&vmYf#Xl{$G?oHj&c15 z(+N(GZj=~qsh`l2x6QbsHTz`zxamFxBH2W!$*ADh<{K1*PCm(OKkHi2rt07P+UoGy9}etRhUtR(y>F|n&Lf!^Jo zp1Aa)7W2ySQ%M8-KV#?}8=LD!aX|(aq#eJA%Y?3`)9pya^9W3c$c{h&pL_fUl#f-Z zvx`hB);U?$EjrpZ{Hg?gTCu(!b4TmCFOP5E$k`vd*sEF(zu+6nm2fs-C zYVP-1_>Yz4@_*RY$42o@Rp974*eh^jF~GT|jQvPbJ5E#v@dcT3w7fw+CE8u*pMG4D z>u$YzUSQi;A04wF|8QWM@E1_M`_gdOmce247-AdRKy9L#juUUdez*kQNZb3xU}lMI zrpx<;yXJ>M@WFpZ^C9_xct zZ(-mgKEVLBc}Gn8z(1GcIJfbWnUB7;DCdKLaEE%zcnnpP{)NsSBsCsY_w4{>c|wKv zPi@l{)984(z&p`=li(;E0hki5*OZLtAbz+mGlwl^9}>|evyL-4a=m>_r@+4eVbRxQ z>O_Bv1FGrZtpR!Q}K4=KSUc9y$cHIq}B9j;OF$VQSYG*H=yiQRgCq=5JGN5kxr2_n( zX|D*pu+f3PrhA!w9ZK}Exu=!NZq0}g`?$Xi!de`nb(n!Zym={1-vv*irTO^5Wa)~u zB$cuJ-N+bgHH6vePsS`_@vp=ZH(H&Uy(*Y0>8s?G_`0!+WdQo50>?&gdn>M zU<=4GgvMoKE1wKGQX+C7Vt)@6Xww0*)AOnD8y)1AxY>h^go1{Hf<*CGtW8bWn%zrM zfOJ;nfA-dhkc~%%+T(h$bFbrHT=BrI8m}pDNR7n8G2|xC;s|rzMzc!}I!<8J)t;6G zxVc4tFJ9&tYE?hjv85r8OzGQwehsRmUy3%uupiyh{CrmOjdFxYlyG{)faup6$%T&x z@$d0Q<6rf48n$OI2f8@W3qRu!(9GjKd$B;s4uNrhdYY;*b67>Zi(ax3@QIEGp5(P)TMoZyth(9}n+MFMw%|vK^c(X879|CIRfrz&<)L z0|mpcPo$p=eQQX~s%dIm307imAs-wvzfkl-b`rB|xILQk=~mm6WK7A55r?u*XxAU7 ztTPYoeI7J>G%FIBnNa^2d0=fvWL$}oKStC-p`Ewobvxwap~NE+o4VEukb^so-R;!- zNK{8)@wt;}{A6%Ibl@sdaaglKqn$m6I=%6(HIyYtQJafYw$Ax5NU#0G!(4Vr7C5dn zNe^8#JP)#~S^6=^dI-ts&6f-*a^~~WqS;q&p0R6Pt_^LNE75Or3%hhbgxDZ&bC3-| zYy+3vamo*uNv)q6@TLy33zB(|z0CPufI;-r#^*;k`b*M5}> z$86BLIdZAY7<3nc6BAQuI+k&T?GiW~tb&heWkX%aMWCgQvJizR`}txWoqgzti6xYz zzQLq=UZ7q#9V(EY?;gCXja>25x_&SM^f;*X`HaP{P~f(YvC9p#pS&qYfbG0B!q0CKzqvv)df)x(M7df$iBW$_bhB~-!Ms{O^gYNU-4DobMF=SC5@ybbgB+P z9MkaG5%x*SMz->9<1fx>R1>4%qY!c!+t_}IBy(MVKD$XJK8L1&TI)QH!_X9^M3Toc z3Y|B_z^}A4_HB?)9n>X@Q{I)GxDa92`Q&F>Ge>xKa2sOo`lEq1Gzei1Dte4f8IrjLRctjkFL3kY~2-=yHl0=zV?1PuU#eJ-R$78SKpI zsElMmy;C#Muc~0*Z;JB$3_$v_`!RhE7?4V{(hf30UKpZnEK@MZfr;wwW2QiyJG+Y3 zPXrMFuksj!o3l13D?@DF9$}(7kP9mXV7^dpMG_ykR-Yi`C@sBS`ghw_f9>jk0~Mqf z>wAzSlAq~FV?zv#wag*x;{wk2cMgf$7d6Jm5vW1NAkG^VB4!D<#QnWofsF6Op~iLb zp=ug#q|EFPV)s%W2yVt4bAv@jkCj!tZWe z>AuK#po(U?ck<8tZ2F{ewrF#5(~sm-6*P<|IY-Ug1%QNkljsvTzw-Mz-jlGXN1VhY zN-LK-c{D=iSz6UXwa#YuyoFPl6*=FizTi>;mBnKdI7>o-?RF#>+4hhI{wa$(>y4uF zG2z=l@&{z6Cxa1afHRy$A1B)&s@k^u6HSBy8o{#jEnoMC9R8m!bM5l@SF^h=(Xlc) zWaNihcb42d^}n#uEj?59Ijhe&IvLg zR`qG;1$Al%@4aaMGIrvZk7|CK=K-6Y)Is(}D@)33me4g4#}ki6*WWbj+t=W~KO}8* z^^>Qq2RH<$@(iq(UL{L~j*1wKJ|K^@H`gCBkwm*1XUOxD7b=Y%#lh_y z=_Wudy;9}%o>lmME2|YPMBW~~fAk4?;rOKF8nv#s`PxiCP!{w50I)z$zobSg>*hi| z25V^|px$#VvX-N<+qu*eW9!Mc;e+Y5h#5w1%OPV=B(VueuxCO++C7bl7|YZ-&d?~S zLt_BBBW+(-Q`D+jN?_Fs4MB{?oUYYk3AeBW@_)mJtj|@!m+RJ`He?AH-4)xLkWcEk zf%NA%ikN1VB@1RVEXZXekcw5d-`tkx>4^Ta&r%&}Lsz?UNmCOzZ+ii^<>nZg!-^W- zK}VeMOWb!WMn>;fAO&|Dk-MG%?}U|fut6DctIP0BuHTQh2LjP~fX(#mwXVd+9FidC z&;!Tx!s^Vm>L6Fxo{@!PV6hJ5eNFiz4VG}-FRHZ!Ily(aO!37XeOQW>d}^XD>LLUn zxC$ z_P{G^vh6=yB9@^diZG-@>ddQf2f4pC!08<4Sh(2~V;IZWDArq&87kHpCEq$5)F^OD zFzly}FJXlGhr`P#_p>nG2--W`9tHmZA8(!_`43YgrPnp_%B(4CDZovtIG@CA%ulcc z52+Y-*VXjZ!jdFnH%ue2J%cF%=hLw_#4nQ6?s(lbtp;G;N&9Wv-uMuNF&OqG7s0~H zap>gP18W!2L>B@fRQJI%)vRhr!&LdeRwDSS>1xbxfdNpL_{VJY(XvYh*OF%S2A%?8fEyK4{ZFnM{?sYd z{{V{o1L=m`rh{eOg@GZiPbcg0?S$Fxprgy!D=;z}`8l`LoMvAu-`|kxzJ#R1>FFBU zT1Hu;qET628p*mz2p9XL5J~xBJDX}Gr>S8wJTRs1?E48nA<4v7Kh~1?r4XVZ0Fxh` zh5m-)j6pL!Qi4ZQEISFa2{(d3?reF*LgIEunG0eUaZ_B^Qw9DYo~C3Rkc+xA>&>~h z*4T+=TB>*|%ueqjFyFEf!h$~Vzk6}(h>l^XA&G>n(?HE_!7LHK<{sE@qs((G_c5l* z@~G-7s;cA=QqfW)OC+pM2#N*neTEtvbjQ^(fRc0yS5=-Es^*2>p2aQqRO)UQJUttT2Gc@dNHx3chxZ%g5Qu<%jeM)eL=`$qNGR}rCC|3Tgm|5Kt$kP#ewgOKE^|C zPv=FLJ++0?h@*s&n#7U?g}}@$d+v15=x?&lnSVrSwZ}koR;baD=GoS?&GY&4TFk$E zVkMCymSquw09zs}Zf4{Ydtz6T{0H@VswSSY9G@$c<>smiTB`MVY9=J!n#wG)1s5%H zpt6geZRf!kR`kw>>6WLLQs*?8R5>oG%Cm}S>StAVS;3~6qe5=mW8BTO8xHt+qxiJa zx^pzswY8d#eEPpibssiy;CPd@UQbrF3MwLVou3cW{Y`jy^%`Ig$N_|rg7lq@xrxDD%3J4Ye>w%x!4-q zZXk0o>$g*7_<8BRkEP4Bj#ZH6Raxd>vT01uFkIfBFw5sxd1aSr9!HqQ$~`uy_fYo5 zN*kKjw)?6TIJar#sckuPqjau02Xkv1f=0Rqi>{Sz-q&i1iXE`MvV;*f!msLGH zIfP|))W)aE_gk&V?`|)9V&Umdq#2bgv=U!(dE+GC%j!Q2W=ZvRX0Ftkrg53bpKY#` z%_7srBZ@l!0wNE(ilJ05u=nQ{H%s*xpwFpU8p_SFt=NO=dBqA@_!R-o+W!D0=~(U* z>{kSJHARe}fZzVGH~6g?Ck$|1`{4OXk_hA;c)3GJO7kF#(qDs!wx+bq2GksEzF@@!5E{rYb(J>L(pRr>20DBuX}@^(5k5 zlt%8*tk-$S4I%dVW6$w97y={x0Nn=Mb zli6-b^u}uG+oq)JoFd!e%IVpxKgN4v=Fc?<6#1);!P#=5P3(CpB}#rCP~^23&z z>eN{WP_kNDss77JTR+*Y-;zAH{CLHv>YVpk$`>#Iv|7?KZzqGg{{V&)%AaVNSpCH& z=id)iJ7h*H$Rltg+Xx;Kphlv_`xAl%${^KM^~+I>Gt=zap&6o@MDSxP+!s4|`rjO} z);W=bQ}`5!0>J+OWs9G@ z3u|&$R4KFMk`EtnF`qCvthN6D#D1L6QkZip(32aKjy2rP_zWV^+KQ+D0K;xksPhZ0 zOtg1<_uMW&wmJU*p62swy>VY(n%9aPss=4JWP@;qJMa~Mna^cW$tMhJUn8=UUul5DqLnD~#&^^}9`^zw-Nt4(FS{-+8xKTvY?rDmvLq=U+kc=q7qH0OOy(VYg- z`3**(=-y>lOPv?{4NX>j7c!XEaG3?-*!IMA^P)O*K6svnPtA7w7t7p6b04QED*)f)q#zVd^db1M7nrS!7di znr?Za^|_>H5RDaoQy5sJA#7GgP)Yt<*nTz`K*@SgZ)^JeyJ71+fW&I0+ps*6J%Jno zZU!0Q^3g^KH!8P@bI!O-EB((x?J+i>Wu0`nNq8>NY7YhaHpNVC?F4RFZtoiKGlrXOE_kY;rjK z_rzN+5N91g$f@3DT6&7OAt!er7XsJ!BoEIVA}j^&9FtureVEn0v}QoLKAX#^RkvLW zzc&U(9NYf@Rq**SRI7~$Q~Xe`BQ1zq6NU7&>lBfAY2<`$P)D~P(BBIpp%c^+QtHe| zBwM}DKad}eGJ3q`=2qpc3>ikjH%nUCZd>C>Eg^~JasUM_{{TQgJWzS&VK!}?9KvQ} zB7MLOt$qj}JDXn@-m<22)742C3oMbWVUN@jKPptY4b%Hf(6BuxWY5$H|W53i;u z&f;XqQ|)HlC@l?CbXo09OYUuvcuJ$PmT~>SzsO=qsq+*2l9fz`qN-ZB**URgRW`Zw z9G1V!5xlYp=8>4A1X5}x4{x|RQhr>I#|a^#k6CN|JCoPY&zMrpn5-{HO(%xW2=hzk zxC>+r&Bi8)oLN~PE2@RrL2%t@=;i|-JxJ#be`(r#PdA*7(#MTQ-qi(uyyv6)m7 zNtr2(S#TgR;5OqPsky|ez1M|o{{SpUHO953(lm;Two2&%DyOm!bNz-C>m6T9q-Z=> zB1)&?IEe%Q08#l2P&v+XQJ?28D?2p1zV_q6Jdh2&IKWIoyMj1Tp7+sv4`O>C{7J(Q zu5a>2!~2ih>Wt2HG@1Q;tVxmBgCRDu-u|cC<%ODiCP;_cDh<&^xwo6xU+aSMT#X?n zrd6=w?Q0u*emHK`y2_fI%M=92v5>wLOS!(d$=~{&y814_fdm50A0*?bwQLzux+{So z7AQ_8R;gB~cbUr%BJfwyi2$2o0h;Hs=5o6z zF;fHgS#I6CT=y7VU%FEyRHG|3Do2`X@8ioHMPu4X4I&jkA#v-7#F@0wHRN}9k+(>N zw-N#5AFs;|6`88jw%AlFfIx6>bK3s^_w9z(tPMC~+sg5BeSSv|4YCb2VJ@}PoY{jH zmCyuYPSA$-zxr{F@t6EFS86S9@cGq#iD}w6ax+CmS)6~ptWm=(ZoV@<@>!jgrHt(a z-ac{8*P83P!uI>X+~4PoQIz$*hPU>2W;z|UX~}g?PpCkl%b=@hsw?Q^kV?t|o0!3x zQg7w{81=R-)8qx&{Qe6E+Cx<157f~VpArZ7SYCOY+0G>_q&UgDnH9ZD(rga98%VNuQ1R7!tgFT-#0;UYYNSks@ zs0bjdG^I-te~iG6Iixy=@g>x5r)JrfWvF#kWlZ^%1bJOzQUs=sqLn0h5+_K)t0-w4 z@-NOU8KP^8qul=g0DqFp!-V2hP{jpV0yf)1PQxg*hL*EUjrMZsmXFq&LqGVUtk82& zHC+~Y9#_;nlk97{Dmw826T21rfze}on+9il^CvmlpW}~6X&qasVAOgtvs6{-{b!qJ zdRn@Qv_P@6^2#<#bN77gZUbB}^4&qkS?FKHo~8J9t<<&JRvf?ghIN;I?lpC=nPsIL zuChdT3otg|-A#qTu*FGHn;@B)2xz|Hzwx)0G9_2(C5*;QIxwG zJf&TmaR3Vd3G@JQ?TTg`_G|9i=I5QiTshHdGF)7+01?lwB7G~HxJ79@R}8KII4j#G z&yqTpD*Of}{)F59&Ma*Uo0&6c3O$K+A(#$D@tU$s?C($<+#TPRFMfbg$*MKZS5B88 z&K^(sN0|QrOj6+Yz#UfB3|X$Gl2`1|N%RYKz@*csC63W^kF8>Ga~}`O?SgO4Jqy8n zWb>Kj-B3?B^)3k`y^cNyoCbM?G!jYdq~WC4Ck@p#ooRHRUsYyvuz6H~7uynS_fb&g z*#z^`?Mjr7lk1A`Yemd+yuxE8ktSsyK5*4jR@v^Tq@?jb++Bl8Z`^xhI{J8}B)DBw z_K6ttm0Q0Ls+k5uooc$3X)EgG*%&?T>4(inol7o8VNgV}Ie9JWPo^Q6ZnUR^F^3?b z0$Mm%dw6{Fe%O7MyjJFGB#2{*9%El~?r=5q(mBL|qP)r4*4p}{trS@%Mj&#=p#K08 zR~^OiQ&Gh>wd(GlqkxqwTNwu4fZU(RVoj+t*(A+oRwO58KK}qrR`pq~VW;yS-&uP- zC1fqS83zof5XT8?iE>xU2(Vo&tOF{`BJoHY!lHxiY%*oq-zCp;4C020t!1jp!g%0z zUDvnt#SfMIM9-|cSCwX!alI{V3P`m|dr09(1bmNtQk^yGJi04a<~g-Y&GtIRr&^(V z?*aE8(BgAYGY~l`t)M+skMT9F4Q8s$^zAWbo|i6wIKSO9mNp+ftAEQJ`>M*9HR?`9 zmIBNw^8}9mq!$DG;_2%TR%O*)ZO?1dbaa)Oi@nLW@FIjHYxMG;&lJ{)%_EnsIy$mn z_+PzYVlVFZ{{T!^iLc^GFDqZ*z}qndj}Y5c1-$}*^9%&3!ZjDQDl z%Vq@ngY0o#bnD@(OV(;S?9Lr04Gk2fq^LC;of(O~)Iw|p`LN()LFtV3E9hg6VkA>* zTwcfPi5zpSMRgWm7~It|gxm7&-=M}>j&U8=9eFK0v2gw7?afy|5bIB&dKs7L+E7(O zqzHg=1&KW3m-uVxu2(GG!1yr+#5%{Td86b_r*x1_Rk`& z0PffS0Hzr_CpyF|ujLK}$KiyMOGw~0+u)*#5@KoRzr`8V-3^v&Y>ty8)LMM!l=MDY zH;tJdE7%YneAXZf_r4i=FYu$1<=L!xzG0G5P-WDYG!z~l;ztk}<$g{|y zhCslXBp12$C(`&UgTn1*19e9cEnyKj?3r~VmJNHa@jS{;AnmyrWkYIoBKHY@{_Hqs zRU)XCTabqAf5gZ84lvw_Xh^Z;EssKjyBGyxr#Yk~EnD!ZG?8?+v_})Y^Ep(q^Tx={ zyN-D{v2%>Vt|;6kJ6hJ$E;UUH%Lq3FjgUv-RTDhDt^gIEa}=qZ5VX-53s?^u zp5HNq`cp|)zO2i03W{oz1r=0t$Z5Ro zUoYYhZunV~==F*ue6up0paeL2Mp>f<+!Jft@xx9kDjHiDx0>eRj;DBZhW<-Y=)F^u z>gqJ8%W4FL?A{EhW0g;_R^%Vk5>E^yt6*4@emyzHMV7NXpuCY*N@ZU!h_{XT;`bJ| zE)Jh{YPO3gN^JQhtDZYY9bzry3P%P(>tp=Gy~h|8V;g(hEgW+;Q*LU()sgs=&aA#z zk|US7Wdo9~I!bxWs!5(8uF6Nao?PjQb;Fb&%Z;}^j80&yC6Nuq!QdtlPO*fgkK+~7N`et6`l zy|z8DPGguslu%7qQcA@V?lu=E*bkY)yN%w%6-QXLTD44BMLFED4f7Q|mh=MN*TqV@ zflU#2K1*5Ij1k!8BFca08o2lmzRD4-^<>(QH&UcBlz**8+suE*QSvA8^bSLYa4Jh+!T zQdig!z{q245R9y7x1xO3eME|mCWrA*q~=+mr68Md?)-}j@J1n-o@%cojR^45Zqcw<6Y73P(;ORfa;enSwkG6@ zK$d28dq|P$3q7n@+W!DC{{YSzYcnw+0bRgRZPw@9VGPxVbAIfrV#m2SPq|3|-`^7e zvoh5e9_mr!ZgNQE8{CUuA1f~X)*ufz2iFP1s*`T*>~I#SSho|v!m4~wHE~LOU6;Rm zSe5?RD9Ev&V`~F$ZHBtM?iyQ{U@;raHHc;+1t*JK;>2)1O@aemj#5z$`}OI~OX@QS zp&^S~>Ttzht7+-jsySjm!-$;KRk@qmNezw29+*)_k{8;}5B0$~r~vnh^V;s$%_ZAR z+YY54SE{ONSole_dz>antFsp+Rn? zQWmM>kX{yRDF>T&zsnZ{Z3tO;DEbX4M+}D1iDD;<4*taZVeXSe(MIZ0F(hhD#ku+Y zaE_iS=pD>qYGSt{H|F2+{#cS^d54PNq@FQT%BKW-aDQA(8agP+DJ3S1q-j^dr?Q*w zNA5karcR#aS)1A6DQ4`Z#cysgB#KCPix9Hh199v1!ljNAP{oUGx#W}2_QQ;ABE%;$ zSFqit#XzU&ZA~C|%cN=4ANXguAKx24;SZx#dQ&HtQs&T@YN|%cXrH>Jxo^iA-X;`9 zd^ug6dyDgbm+6bkqaAINCXsT?+G!`Ja;Y4S_Yn_&rLa8EL?sfpmnEqG0K}E1fz%}E z?aw=OT3TzDCj}GSW6Da{b1HE>4jwbuj0(c%7FJn!1cabn@86SlSUGr4>gcZua->GREdhhWM($?xy0g#R@TwetvF#c z&0youVgr-p0!mm}kneH0lZ#tRXR$V(G(s)4H0Nr_JCT4QW|Nhwk%7P$xma2#Wg0$| zi7wS-4;p)1kCr7FjQMn#SMMqcqcR@+`r^KaFsDqMA?3ilt?F?e>2_@O`POwr%*{q+ z4;tTvzj2AlQI3h%Gc#6KM)Cr|iE=w0Fv*qW16XSVNmW#oG!glvX%Bz$kDev^k{Ghr zb~1*Y*J3F)u*G|vw2;C`^Qkv|s&Fcx=5cFHmH1m`=5V^VH3maLlj#S_GODDi4hari zU!U!Yhd9$~O-7MPQyg-DT1&~?`hQGAGiu5?%O4J1* zD5si0PnE7zeEqq^f8keNE~M3Zo`wlUPG3Thyi%_=E=aZi00WH4)IWwDSC;A;gv{p^ zH0DCFPLFcyehJ2r_+HcbZ%H)$MI*Wis##h_zb))Ba#-o(k1&2`AA%a$r7p>nD@Vm@ zY{xV(Q!<7pkIRfwok-O}7^hIzweCkeTbxfboZ>mDOo+gt78dmw&b?L5_QNNcu3Fc> zae==3fJPZ3V_`hjeCpnIa~ipP$8GrM6$CUh=2a#dWM^^d+Sr`yYJ()R6MhK--uPkD zc~_5?%RcR;ixOFaji6tjUU?seH*{8~r@Fz_lTkUkiC4w;co6{vsQ}pC=LFwm5;gwq z!20d~0ImBk<}B2?W8OIU6OovpARsIfDOXbi7oHL?KlS}3rQ>8ASI-o zY<}olu{q;$Wq||1T9WlAr`0SO^SPjL*=MACkCC$94!Uz&Xelbupw8*3X56F2S!SmH z0Ni-R2V2uR_*GVhYRbm~_JOXueMt-f9-WEAS2W3HrIC_ad0-{@GM7?#?|#!oc*p0e-83CW%cv?I7_+K+*c$swypw{!jsq&6>xW9cK|M;LCXqjsAX!ki z91wQ`c*Zd428qoRRArim2wf>C>ePo0(HUFSRo3?Id*fifvdpT5QT@l3GEu-w+({w_ zwtB5Eb+W>33%pjvG}7j*sL#YrL#{VVvnO4tz;&1mnAhRL3!S12rf?r zna}jY9(B}BH;~RDY}%D-*YC$oQdzeC5&XUJ2O2lR*tl4!>iBC+i(;9GgJk?+Dgpxh>w$_x3acIEr ziXNU?T8i3@t0PEvEMZ4*LfCwPAd~VKy*?Q;B-K9=8c!*u%j9^ny85i%uBUa8qe@Q> z0zhjJk~D!&e=r{SB@Gl%kXYS%sUWFz&l%mI*4|4CEsxhQh@Pn=#?xb?Rf%9@W;EoEJrR*)zNtGjP3 zc_fa*<=+_mQgbBP2Elzv*bFI{eiSO+JM!!4$bPBESZj5rp)7_;9piVk&9A^>ZQr={ z#aEu^rQgSC8Qj0zU^ak31o!R$7)z|RPueP_3hlYa0l5j-Sx;_zoI*1??;X%xfZ8}D zpG*sD7Q(i?G?ujNl-K5hVucGLptj;o&({r7NqJbFKjl0VfHZ*Jc|M)*#t4#iUTthl z0?Ex#Tyr?1i2#xb7%EAX1+V$xzN<4>l-<8PM>8!=W@U?$?~4(@`3{RWU5wMww3i)J zg10%2jy_m%^Tcy7)o&>)0-veFE6Y7|-PpDkQss+%&2TN;i`(+SXsH<8^()Nl`$tn! zOJX@&^GR81D_lH<&%V9G)@+Uy871HaT^#*&-t@)Z_!`5WKnF(%SFLowC)wLV{! zQnf`?t+XNH{Mz9DBLteuXckG&bIEg#syj!Nq6H}`w*=Um9(^$9NMnL^S0jK|*xdHU z!RgQJ)Yf{BGt25TikNcBQ{}FL*L!Zak%htIo8sG|{gd%WsHv*kR7lh@S(*b7-0Vf0 zk%_|yP?rL^>q9LgCfMI&sJ)4`{ZAg)TNLz%$|EYoha&f3?{Ahj4_Cisc4rlP)o47* zAg$pQg1N{GWeVyD9`<2>nD)kJ>W{*AP&zyIs+`v@YP`Ci?^jY>s0aCq_XCbe#De3J zZi>F}fjf6Q1zqaQE&5?(4Fs*R;zFS}E$#|9dlAuRWfhCIn0LBl?as~Lqfho39${MI@7{e@zvM-dY z3pMZUh19S6z1S&vDNmV`?_0gCe%Owr&mD|}x~kuC7X*EK`eAJ~d&XjtK+O}_2kv|J zxb^SGA9dDJ%%+yFKdX+PET@{Xwtq535*BVdfIgVAGtY-Ur)cH-O-`1qk|l~4GE)x} z$KqTnkiX0=&97nH<4%6g-izhOB&pX`Q3Y@)*`_3+0Yq^0BAB%PdRg2Onf=Fi#F?X$8q@Kba1#$wT+bR z2b-KzpAzo1`85t(ay)54AbSpRaYWa998&#u3odg&5B^+iN7S2OZG470cMztG0&Gws!(%fXeR zj0@VunBpk8ibBj~0gt*HUj_TJ3teYJOAWwN3cTwr&ntXTCyJqe{^j>C;Bbz)a|a*p z#TMWGjMpdd#878>WQ_hZPaI>oa2#Qty1Pxz8^O#fX=Lx>Q@L9ora83H-sg1VG?uVN z>LFMrXRK5$f98z;08xnKw5as8H4@5UiWJ}@Sg}2YjvR8@dTh$5D(BTzfOEEBY(HE+ z>U^>~O($C-s!id<8> z+o%y{eLIINmOyH<*-bf8c?sQ5(%8K7&X?tN@l|K~ti;kY47#ugY5+fXpDTU`^f>8fNpos_eUccSReE^<^Iy2OGPtcXsOrpscU`Fc zQT!&eiyL~gapb6OqiLEM0?2xgnbe}K(Z*LS=U3BuQ9;U zA(Bt4TY-zeRD2+5R;ZgXgD|d1nYRec+mqhFVUB8Ox_3rm6ZnXn1AchL87getthM}t zH&Z(*brIXf3lg2^d}Fu1}^jcT#mCO42RK7r6lTKG<;AT~#$@)nqII z_r1BrDXDccRv9d8E?W2b;z~MKxxvIB)fFMF$_k8Xs-Yx>Z}t4}f?UYOl`LqbBiU{^ zEY=qoY0tAGQ!z-Gl234NZg5RRb52BRtdWJknDC3(u{hnu1(?v~mvp4L#i_PN@#wZLrGc} zqHP4-Jj!8e*(hEpUCVfC(UN3-`;?DdOFq?-JgEfC^UHneAgGRwTHVMcO0d2CMkAda zqR2nkT$wX^sx_+cEgW?*f1^XV+LTjN zW(voVLs(AJ?8N-Oc#}C6%AySib$jW(WumL2nSRYtM^jFg3m8b^Z$(m6ZEjEAx2U!g zPoKoJt3K5TfHk7~s^iQFEJg80rq028hI$G*#fMU1d9#UxLaJ<*xKJb8I)2|(zH3|Zi6t+ zd_g31DElF$CBEnja?U$k@V$pT;nz0Tm6b3_4J|a3g`{f{Dd4%?V#Mw|-uQT9BNjT8 zfu;JW?qxv^O;%}Iu4;;gZ{kYv_(%eMDwnC1j4vg*-G1ed%KreSHplGZ>5Uejrp~oG z)>Kty6|^u35XQndqiLlf3!WZJ#kiH=DNkHDo7&w`T1J5HL-WyFNh+tVJZiyy_=wc% zc;e%A&Jjhb2dNBV;Pv@!VUCWsLJYCc2>sA^!lGg@)z; z+v$xX@sU9$TdAn?Ev(U0!D7U4O7|GZ`Skw)?@a1<8;>`?q5ScNsc97t4(h(M!s^=W z8kNx}|p1Uk#NtDwsx#?1fa$8+SOP zCa4jDaLbuzDFU8*VJ2&v_(6a?;x{A7StZ!Z3fHD<(cxhzC&`6($K?B!JBe0 z7y98)@=4?%D|QOp{#Z6uNJWbX$MatI{{T#0{{RVn1DC7X(JCtU488|aWu|4hAdVS* zz42wOxv*7N)AIl%2LsJ!8Zxev( z!o(bN3-*lsEM_zsw!5l%J9wF7;+iU|Skx$|+BR+<|<@EHv?{aclwM;@^^UaRb~vV2_P`BBz*Aeq_vl6J`}W_CW`2eoTH z;Iy>9Ai0iZ7gh%1$J4*AB#qW8H@4wtiW!oo6qPwv7Z}f7Yt%_Lwpu`Wf<8tqPLpaE z&Gf{pKGdk9m8qQ&f)uY7FVeyL$nQ?0wSaqLJp36A%|9 zsl8@m^3)bhtV!gzI7-blj5pCEkUPd~P8+FnIfQHCB9c#jFM)pQqpouDXFp+({{Sm1 zTk{xJ#Usstw~Bz4Mm67}I(CfAyYe|DvAZi9fN6Y$PLmJ^Y zJyzw!a1Hq=Ovn#>UVje16O}zIsQuTOyUCX^0x7R^7x_=i=jnPC_s*+NpWu}z9~MSb;eymB#QxJ zu1LN37@7P}d^S-EkKfvQ5kV}943X1~s>Z|6ag3``rgK_Jj8inX9)+=lproUm2^#Hs z9!p(WRZ_!{w@#r*vn@`D8Ksuw@)#GDQwlmF(xC@-zzFUvE`EHG zi7u$g)$`20j1MHUBDKHf9ATqg(;U8OAuYSZ8$ln5RO~hxT1kqIz>-bBJ}_O92TEE$q#*B%wjkrosqTTSrTxqy2@*}c zw~;HOk;u0fz9eyGGEfUpM_op{h1!~_n!um%fzSPMVEixWOou+u30av%O+8tja0HSa z%7B0cfB<%5_pkEAuQTaMj;Wg|ilUZ8ap6foLy*9Nr<3Vy40U{5S4C|{!3mO)!@qqB zta8WHHLER8*u_gcWjuO_*=0m0mI|QU_ZPvLPfYa=t<>3V1XOOVTTroh;mQco{%Hu~ zgx%NeT(+9JMyQC^S4BVYiZdia{DQ#p#5X>_TtZu_nVU+>4q+mYcCm5*Z*pzl zn;vh3zwIoQTg=nOB;EW*OUOyTedmSx3|MQW-pP(*FRGbU>L{M6s%1;m7T}Oru)Xe0 z_~d%wBpH;M(+QR*E4j*s7G1=G2tSq>X)|aDW8yVb-X`_4?q9`ia(j2+VE+K#GE!7c zDUPr*%e73BSxVo5Yj7`wAd}uw0bypZbv3G~<%pp{5i&^I3m0L)Ja!%b04#J@;9o`N z`X{H^g*J0n_Ns|y6NFZiY$4HH02;twb@r$hzc;=)<)ku*v)x@lD@8%1NmR+<-+;^m zU!FMJe++fErqRbuM?8B1%Ja7NBWpE{m7DxTs9t?=(Ds=`chqb8BGj?CM(GI9>H7YQ z2G#WqWRqxff04uPmdzV6omdl!A1p~`tX;&Bd|mxJr3g@-_!Qtw?BKZ>5%sCtvpJyX-%s8(tWwX)cxV2C7fxsS*Lf5!qD z42*T0(zV!ybu`dANTq2O>OPyQZfKgWVtM-z8>R9j&b3ty4MP~A0zE)qVKr=eZPXLAv6654OFea%`Nl?K2@P(>?V}CV=1dIUH5J_ea z^7X|xIa>`%+Hrfc06nlw)gzD|-%d^viPlH3B%b_?C#tAWE_-*rA|*^3luKWIRBSG-yibMIC7l2_PHT5y&GAJx$0m z{b!={T&FRoin5Zb5|TqI-3jh4K1Rpz#7n1o>W5h6RJo2{RSkU&Ok!9nVQtAG9>gDP zSP;sU5WI4t%A{DS7sT;DViXdyMZun-=_-u})XhPsCs~oQ+SwzFO3KVowbZdvMfQ+! z9$1K|8#j1{;Q=-r1I_WLe`wy3eIwV0%+(k}oYO@jAcRJ$6UbFc@c#gJl6mK!OlCyz z1~l|J~e9P#6JCHGtzh&04 zpEuEY?oCl7vMn5{(1&ZP0$Sh?OYm^{`$4*&)15Jy^#1@zbwayPWx7u|mZvbDr%s?V zc#tSqgBubMG=!a?n}zhgA$FwMObBQfT3bi!yti0VC1zV!6k35##Kq1mkfC% z;yTueGLou^I6&B4RuX1%Q$r#`3r!*R!i>8wuSipE)#NvJBa@2}wEj`{)Se=Q0xyYH zUtOfA09DjI5e zYn)}5LG@Bh!kEob ziO)vX03aIkT3U}Kj9JO zFkDo&MvS@wQd2-g&EgB$L0&X!EViH^^0{dgb8&m&zcsIpx}sTT8>C^y`(b(pgC#Jk zFNp2C=Beq1dOVh^JIrFDrrYAVyE~gCN;|tBMIYz|$paT5Zf96-jMN;Bx!S=t(dG4d z#d1K)t(M zaf!ZrMM0%<=_qpbm8^^^<(+oRQ6~g$AIhi?3C|=GbKCBWbfYoqPOrprs>(2#aD?Q-TwfW8JAl0x{ziqB0>OT zdt+8*v}Tu0)51YM8U(ke0@$r}EdZ>p*|z5UZF}RyqLjpL)#;C5c(GI_SE8YUQWict z6YYr&R+U((ZX;%X4XxN>)XMZ2Gm_Dh=D7e^{XeD`=9&$f7DBBUQ@C39xE=ki_pvkT z9OH6R8weUKftqCub(K7-ge5$|4aeOKr`O)czAH_88&8-{Z6kjei(9*Z2H&6@eQ~Aw zjYXH_8MPi=5!*b38KeXfgn?kpeL&>j+ze8>r%p$l>txDl6q;l$R_>$BZV4AYgSGy+ z(qYwL$QJ2+t)Y-Pj+3cbiuPrD zSiVP!}-sjO>Reu#3Em82~OwKrxHikE&d$=Txt!GPc0Y6jQ6h~3D zZC1CglC+tkfJ_o0J95d`9tWVYC;UZ^t{y4+O{%qTIZjiZ7?v&a2`Qby+HGLtkNz;z zSJ2&h)4eo0Upn#G_HIgc@7uYxh3$&anh2eluK@Uzu8yg~#kcYb-RUR7D{DPHPo8F# z(@#k($7h8nfe5EkcTCMu}axyBuGF9KsMh`HK>k?nT!JI{reGtYL1EN*y{fPcjTJ3JkoeojLg@Ea{+6BK?HN@ zen-yr)fAoXr|y&U zExYN0O_vaq7rFa*1rUmnhbV6TYHgC`15IWLMGje26!Z)$DyN^7m&34Qe_{wwJ;?XQ z`uKOtvpl1uI&KW&v9l`gv$W4KW;P8YGOwGFWhy?Pa5NFmF&vHa^zIgAIx7%_N(U zqo|dxYhz}?b5AIuRjCHpw{%6Kkwv)0XO_kUxU)2P8`k_{d0TfbfY@DI**WqIK1AH{ zi0)BRs;V!CxThPhf)q?GI;!=AIl3n(*o+#6=jVj6%e;-mNib<&?0FC+{5oMI2!0n`{Pr^__OEi@B4{{S9pqE7WUvZ(a;#@3!tkh2qD z0mnN2FQ-h;s&Xnq$dN{%9{}Y*8o%ai^V7 z!1rzk>4j4O(g?r^qTG>iK7-dDy)NPW5XudX?gJ6(N%Z;*MAq3k#WmMVX^B>4-)}Oi z*eUkD8mF(4NgrnCAIg!f$^5%v-l{rkW*#otU5DHcYaf}y3hKjUjUFm^d$OpoKOjAD zr660E_HcB|ERpN8{PQ3|EN|h`)l?uN_8Ydieh;`R56>MKf~JljBZ(1I4hiJrpTD!0 zG^x%gsxsOQDv>QN)|)kv3_;tG=tw+z@J|@%MJ`-vW4xXibN&Ii;g3Dg0+KPQC3qQI z?hu2&nA-)rx^ZM<^c-N>jgJA3`J4gyVGOcIxQ)agt?@{r3}JT3OmzUTy^qt3Ak`U+ z87@m#nAF@;(?avgM+B;=WBLPyG|w28+sWtGoE5AxgwM3jX_p&ptEQ3$AbK*D^!nkO zr@4-ACB)|V%hp*2xYrt+Cxb3cL#a;H&T6T=YOJ~&lCje3!A5gXap3AaS(;9v1PIr^!k1DJLAp zpn^rmp}0KyjxmnD8a^KLFNp19`?j8GC~_)ASFW#ByC5To)6lv720C5wHKDTJxoEnL z61(TkDo*Nuv&cu;Thd7g;3&UhE_)ArOnw}?2ax@*MlanPN^2QqnIp!GTDv-kkLhC#kK`G*IXrNC9|dph75SZ$+8`zy$vQ zGFXoGJ+Y>jKZ*yiBEt_^W~!&2(8@svj&Yiyl9{c@*~pjs%ZViT-*Mn{QdGw|Ir8^< za#*AGX!N^PbelBS*)Fciq{{O;I*6cP#4<<oF%*P&dI z_yo;r={_g4izKegA$l?iCdlCMJ%#zldGewlfdM|4<>&17_%76XZ>bBawN77CmPeDh zU@D+!jFVWd#S8%>wxxh!wHTBCu)Acu{`OZ}$ zB$W#Zo|&09?3G2q0{zb;@y8xDeI;6FO-~ZEUK?%mHz4|hj?(0L$d*qHk0;RMo8K56 zGLJ!ZpD+~G6j_Ga%4pUtqA=skpoIYWukL-$BdwbyDR)H^X}EP69u*mpkvbu&HIHp`-xv6>i7e;tQ+usOPMqlA%baS>tIGci0#c z`eO?fOw!AAY_>K;Ska=>`fo?JMbpf)Es33>SbR!}8n%M5!ND#I0@yJ-OfFeD~BY}b64g7D<$_uBNBQl_9G3wYs_QIk_@gh;m49vM?(T9VL0k`il#J{R^ z=~JKh3oMnHw2iUhjBeVafG_EY9&!?zyDG~r3sOYOA_lltCg<_z8j4p5V`24Bv4ykf ziK#JobrL9Mk=#a#J8d88aOVzbOQq1PL`@{%O70DVZTqWn=%hE}f0eY)z>mTWH^fe7 zoa$XqEp-l($(?DbUWtTnQ(eP(Sg9Lg7A!5vWe0#pJ@}aYn>x#;l>)y;R;IPfCQ}_X zCes#TzH998`AJVaZ7NSbTpWju5fU(6SgMi-A2$9Zc1f zl0%c^b&N8qS=XA%v@E_c{{Z&lYuJyxxQhKrVUY4XQ=cy0FPW;aAoSmZcuo)BMMC{ae02| z+&LV2{{W^k!kBJRqfmAVzFi9qI3-kf3u0_;Y)99eHfH$(LenZnVv0E3WOibp3k#c% z*X4Xzm69xNCelTlj(u&w^!FI9`iE9&>72oaNT+eq~wj(sr;>TYQ(O;&lqN>g{BIyi+cKY=Vk4fY_frmnGYu^Am;*C6K;i zjsiJGJB_|XTl$OG@#+?G}( z8=f|U>_#?q6>P(4TEct9WLXKUsdMe1S(-+dOX{SWVJvM=D={O6BmFFS#l?{v@w^(U z9GVK#;RRr^S#Cwm$Z@pu+uIC%QPa@W<~2oAdLxzKo2vQ?6LG=CrSNI-Etd4wwp|OX z;)Sv*sf^inYf%u8(aL`ENNsZ)d-Jr9W5-oW>bgeMM!@F*sPO#cs2IJTa~U=VWuSf< zdd-z&xkTAkuYvL?hbU^IX=7E|Kl4|E$Yaku`r`6^bJGQyI*9c~N_IGuq;)B{@;{fq zJaLNiFzS~`Ggi9h8D&&_2U+oK;%) zt}PB-`=*YLifERU!97J(C8TZMR<*kiUOmPodZ(v-NS`s7Wk)Hhr4ki_2B&IykUH^q z1g`z3lYdNBS=UH4=#EOP%TF{wwTlUai^1dW`MKxP+;_vHje)_=`lk|YV5w~ClBpmy zj3h|sK?0WHWasZG@9oL#6B@W#e1pc zEF3G7<**+9!y0G++;j?|J==Jd%`CaUh%sPkxx69>IIpNkR~PSzmPswyK*L-^Uvj65 zR_LuPuQ0G2_QZ~kv&AEvL2`Y~Z(K|=#5Vx<#n`23BFQIV%A}O9y9*TahU#Y7Y%5tX zak_<;evT;MNj>rCZ#A%Ah=n5Tqq}!ZO?B^c?+aS^ULLt zh_$^vfFJkU626CMn*O16lOoD;+96#dPOM{*8Nz^WSnc3g0(s+(aLe4T*e!)D zV`lvn7o+_W(|rQav1z?G1cD&VHAPiKo9C*TzWlO3s~^Y!0I(Q|^)FeiK6OiyQq?Ub zM95^8ZssJtg|FR@HuknHy6Vv>Hy0MSJ+YnsA$mVYsw(2t@xfJ7QArSrdTM%^A~M7Y zHvtIcN&G>;4$>O8VX}%6L#@bMfzHECe>YCS8&B=5_PxJeS5nM}SL7N>m%yV%GB=t@ znC^KS)tQeZfs-|bsnL~U;HUu_JjxiS%ZIEHq~g|O%#Xs ze^DZ+kI{1sr3w7e*ZO1T2DV2GhNmx^To0{-zN^=U9ZQ=#+DZKJT5Y#)>aJ#BgKnI{P4Qnb$a5PGRhTNKwWtp^N)Hb)Oa)9Nt8;+_+--WpcOIV8&vA)0q)bd#Dc9xe8 zqI`C_e%^n#+p4r@WOZUYpIkuo8`^W`;CftQNGoigcw#T8AH-rqk&mR_ZWap+Ib_u& z$}4;twL6Fx^#1_6V?6%Qsw#@ik4ffnKqW{TXx>pDnJ=_~yW77W_`InkD^xB`_j}&> zran0VS*y=c@J`Nf)Y87&9aon zGG(%S>F-kY4wsgnC6cM9%BhEk2a0~?HRh_)GxaB@6bqD1;{}K@i5rOt9Ngmw>TJ5M znfI1D)f}0^2_HMFERl{+f~4|BFFus@{{SrN{7p_( z=yL!r)RX@JF!kDfaaVj{brUDh85%+=g60!OL=^EGxhIdq>w#?ciE0EkHzwBnF4yA2!Y^MLJ6$C1M8V zNm}2^stX^d&k(BW_suFLsGYxwA>72Dx;?SgpV`Uq&j&(!cbN5OT!hOrjM|rVGS!P5 zyD$6OkEnTgHXPe%?ro1Yz}@hTX9!iWU!&5MJf z-5VV!()9x~sDm-p+04sXo@Own)S7*vRw#$^!3u#KY1k^?yBs?ZtM*uoaeK$)pr(V3 zAbgtzB+0UBJcll(%d+ZtsHiC;SYfAuY>}diDuL(#!-67*Hy?-3235-qHLO84xBYNc z1ZJh!BAX9e{+RQ>b-}#Ww)YviB`5)K0+IZqZ_gh1JBbGDsu{TF&Hn&*!s>cGq%b^= z4Te0aflbs~$}U0qcg2GlwaTl+7qC&h);*VD8Ev4D0KJ&{j8GpCTB@f_<#J|plwz`4 zXl0CnwY!XFYhD4$cDm9~Fq=7I?OmQWqpGBVf>ThUmWnuyyuH9C-N8JZ zL;97U9O^o3k1B=gs3xwF zIR5~J4`nBUS;!pv;`8ZFTcA2=A)(NDR5ZDYos}8IRV2BdVLumT@f3JyZ(w%t2OaQQ zDd46JdDORI*5C_z zoL#!prCRe)Q%I?k(Pf!zY#JFQucv}EVmonr+3^R$Z~UcMm4~gvei*RzmtAs9;-X}WEv2c3MlE{yVySk&eZ{%_0prsZ4r}|5Gp=`{ zicG3TCu>qjLJ{q-lW)M|ZH6+YFf&{ZmOv{^QeM_2UVjhTv!r^9BabH6**VKI>Pb=& znZojsQx%Uas!rJlsj&x+F{d;yO?rDpna7)Goazduhjl=X8ip4Q$7dgO3vw;U$24j( z`Dmx{7@6Y+<$<~UeQ`9=+Ty=UJXJI^&jHwAWCS`g9!ijTwf(K%5#ksrmhwR<8Mz%o zhL*1>43V0SeAiGlS6OoENM)Dzo@ti~1^YY0luFOJhjuX(u_xR%C_Q1<%;u(fWzxAV za#c$v!{1K%14Kc%Rpqn9$K%P8{-B~TVuo?3m1E=eqep;cl}VTv!P89qyz)qS!` zdVd(Q$GV+ann@S{5VM>5-q!7Jd~mCpM}~uxcrI)#0_RiWpgk0li!|%DOMsY$|%-4Xetm$LYX`%9ZzlCHzxKhF{%C}>!YISR$zweYAUIz>^(;CPw2Sx>^+Bu zFR`)#RNxn#!vXr(gBv2IRM-XNnygL09^fhemK@Be8Uhvy6C3YJw42_ z_#qNh7|TcUE9M91+kx}K6(e_C#hykrQpyFIz$WkI`QeW`b5&C_CgLMt6qCyn-2S+c z>k0|74DPm$ba>^Bf^1=9dvHHqaUQMP3fWD>XM%n2$vCV^vy~(?r4z)LvH%r9>`!mU z7RSPOQRzB!)ai2>si|I?7{a|=keMbIHt^xOva|3nV%%7FIH_u-SBTh?8Xi7J+~L0{ zs;GxPq!eMzOUjEHM8q&9y$JiH`}f0hWg^Kk-*wx5nCmvxv`tbV5lC2p9{uc=?idcl zUy#8oFkTAVx%RNZ)fFhyl8PS2 z+n=5=-7!0e7Xe3M#r{|p_b))Bm^HRW3ZVqX!2upnP*{`d0XSbzD~VOU@wVNdSYOlUQ5?IkX16SPwf?wQM$IIbQMlW?dSWn92hH`LCV(&jbt*X5SW>s!qx!TdQ1 z_g{aQ#YLDVWvAycR>0^7{%ZM<{y5WFp;_FX3EBzz;vJji5msMv1_b(yVKGbwlCj1> zGPv~nExsFz&rHzA_nYFVp{Z@im-WH<-jR!e^Cz$$GmAxfbC%Rh zOHxF}_qjod=91Gi`A`BFk|pDWPzQWxpzM?tSr9)nrxqw1u9kt_8OtB_s61 zc4?yJrln~{aWqL1mSw3sg@?}^;>izr_E38}+wQjMqp6)`%erw4wKTb0G;{7N2&Y}G zA@&4z7{_|!Tjsq$)HCMU#Yl}A4_Ve5}m!Z7HlVdFS=h}8581BleV zrd|sMojR3&d;@$lf8(c9lQz$Cdg{#)lRGs{WGstLD%DmcA6Cvdq@bB){8 zez$52>om*gsuw1s(p6Ov!Kd{eRWnv)b5-sk+M%pGIbcO*j-7xFCfhS@#Bns$2g4^$ z^6eqh{Xv{%wQz^1sWR3y)YX%)7il6tbP@?+35=Wf;A1;=@2nI(OnB%r2xrl<)+|wL z9FCDZN=(SbW{#<38+`6$DjLD;q`zdrFXB*lqieh1Udp7HWkg|;$UBFcx4s=UmXxpR zEmpbBBAS~hpcB(+D659%j5{!>%w~UDii>w6g(L&cHS{{`E6gc`@Kq$S8*O0RF(a@e z<<2>wkZSJ(V$)10$^#roTFYbr1s@an z^N&5Ls;rh$Pd$RsMFlfhE%96GO#O5G@n~u0^Ac9g=I7J4EeyXaN+=>k0>MSixnu8+ ze)K=8IsQ#hGn$FkSzY&d8I&y;b+{Z!VxZf(xW)?UsUM3cM}sM;*u*LtHM#$QifWfqUE@Z|RDSekydFZyMIa zn&o?!a5K;~fW5DA>4vRI@k^zC!&13jVXUoH+#^`sP0toL>~Kz8LI*PKH$$VLpEZb5 zO@E)kl>rCv-dNp8jb7KVB$ns3ugB9Fi&6C{v;9j`7DJKAsB5X4__bSzf+9l;hhw!9 zfG&AHg9&wK+%IzuEku9K6{^ zQum%m3K;mZ8(Y2oF`R}cR?0{px5Hn})|in?5CrO{I-jl7xgKWmXL+o7)kmC+mnU|f z5h>t?AOt4=0P}XlD?jVzw9P2yaWDH7l*FY`O=aVu8#$i%*f>9X&%8 zJx0*2T+ialLFU1~xWF`jPV;`J)V^n$R>>6+lVGZ-YwvOk6$JJcQc1?{l^`?xV$u<#g@A2H6QMZir1vAQi=A;DpZ1a z*q#REvXFoD;;Ga++6_wibkrJP6rPZ%|h$LYoA_<^%;W)a&uibdEj?GLblzE% zO&5n-nAFm{<@Cm`7oH}kDhA|HcH+bW*5~DlUs*+#=5W_$6L|NbiCK}+V^Otj905T* z`+$8p?|@YEzDI*IEYv6XSju=$*Tq@ivx84pS9LpB>RQ@)QuI;Bz0`nN=65zWu|4nY zjS2B_RUIaa%V@m9O03OhQGPa}HT`~L(-5!Oze7Ad8_Y8bm}jPXn&TLjSp$i7?%Y*C z1wbqT1e=?lJ7I6eU2=@)OHpnN%S$|@0oWH+AJF5~DH=ckuRp7B&Pds3;nT!|#17bB zLzEf`M;5j%EW<2CQ)R?AIN41h9@r;Uk6Ev~Pa+X{H-+;SmSrjdUjLSsH*t(#3EN3|TqCRcm0>ZgD!T zbf`E%bM?g+)_%0q-lC+f z%p?UjRosHE++6c}{+I=c)V>fH%`Uxzuvi@~BKaz+fObm&4%a-&sJfe!*5~=N=4$UP zK?KSlmMwqlimy42zb}ets;Oj!#fc<+J#nULL^Tr2MY$3a^+Sq0KcEs-2Cwr z%`|-mXH7KKd7@P#TVzY*;9POu{{UPHioMMNuGB5IE!b*m$2w|LmFNEekL~I3R5bOm znpTZFmma^D>4aHjb7k3rRzo94JaPs}6xgZm2>If~t?ASi6-GFyrpngE{A#O(BHo_= z04zqUdT%WoG;mdlhCJ@#-`9*0ZDdZ;_FiFA*&I@zRSah z6$9@f4Z{yWe=KeOg#1cSE=x~Mn$$X0zlRzjO}1U3Z|pfz$Jh~u$mY0Rr45Rfrk(sb zqb)ult%A}n`w!&FerFEBLyRM^fn=GpTnwcW&d~4^(;dA&U5bxC3#& z-M$Ao#^}^wfTY2e))pt<3gLA?Hno?zz9U0Ch#P`Cae=0Ageva6jqt$xDTsTNx*Wl2 zox)o8<-T^pftXw=2kG_1JNKX-ZR2tDzp254It7#l7G7`fhjCRWKuNh$$@5z`nDO^` z!dWu`D=|LT0}E|@9oooA>9R~PO^5wZrkBhvo>jvJ0@ zq~73=ZGe9FM3a-j=e{5&yvY{{Sox_tLD$q}ypD^Tl5#yQWFGa4mKqpRMqf zx`9vQf5sOeHHq!q;$Y&C(~fG@lRX#O3Ej8=Z`$OBw-^O+UK<4KZexvJdQKhLK zqPneN2_F02_x}L9jAwqJd`)IuK%KJukH^b0sL0(=ZY7(wz#fAC0FEWkk-40vrNduc zIEE3g(O+F)>q=^QrqelF2B%SKxr18%=q>uM=d*S~8JkuX-b*NQfNb>=V)m(;qmz@``&)LXm=wlH!?r9f1&s8PTdgCO? zvk7GT6iow*6(gU|6S{7y=*hThFA4tu$=?*U9+`kJ-0g2raCK~XW=qGH#RBJ^*v^a@ zn1q&yIG+RcK(^AG{{Uqr%V=eIUby&X zPToQHuw1&sEeujt@U90wm+k#=3D=rpn_Evx@#bC`jy6#l91l}(uRQ#)dk^e{l=HSp z27_JhvRJ2RaL;FSbaIzCi)t;t>Wt27{{VYeDnS`40E#HkT%SMy^(6kM9Vhrv=v+Sx z{XU;iXR*e0-gURdxVfN+3y3f74cU+Qxc*U!Q{aQ)WKFJT*ZRp2>D@kjT)s1VRaL85 zUdOtj2Hx#s>CNZXuBZ>R&IgqPaUJ-uK2iD-P731n{>;uCd;Y(-*U4wFiXJ=6@{jTR z{XErs*Iuf9nATN1g{me5Y*yr4_P@^*=0y>&jInTQYbH=!j^L2Ie7pV&h#s-mf9=k) zlfjg|6+EP?dPx1ZeFtHQ7M;#~3Z`}P+Upg+l##Jd;c{_KhKR!-8ee_dpDv1~F^GFi zf*6l+zcQye(`7k+LseN$1Te^6DAL=vQ=zdo^)2RNeb{2O%$GN&)wDTIRWPQkc@;zlMx%Xx)*Z%+_;1sxAG8^Uk z{p^fKiAcd~r@Z5>S!EpU9YW@rL~C-=R#DVMcU<{K){zD5d#|=V8t?aW(|EMfS60Zu z#1mLLU3V!V6mD{Cr2xOFw>W`mS`nMpe*B&x6)s%LDJezSYAX)ck&1sZM63ZVVRc)c z2*hJkbvC+Wk@VFx^o>v&5u4OVC8?+zzUsHIJFZj#&m`b$u(*tzD2460Cq!B*_we|V zdUaAxqigocsp{v=YnLyrs*za6((auH7f7N6h`{Fl_8qaDwH~gMP}Ee@(8knRagpR9 zn(oVTZs*kh0In123RR`3W~i9fW)i59S7$OZ->_ruM>fM{EjNuKQA7!rRvZ5S5-h*p z8>}}AikYD9eoHr9h{-W68V{Oz(7IuD1#GfC#1Til3tY1j5eNSFTl}$g)yY9gT~DTH zwmyvUDLfKnQQ9& z$;17Qno5TIW?*?(_Y3VF{027m!J3H~0}JFf0cDukDrF2{zeM||GYXAC9%5;c_tiqw zkfIPan4*oy1omCGU#Hg(U0lj@h%{2=v>8mbnTBB7zuf8Ml)5(71H>Q#!uGPN*UoF|DhUDbo+1W^l8Yug&Cnqh0*?rAhFXP#q< z$i^6y9uZx(iwpk%D%%Ed+)8@6f12wKfDiuwqv}ZVP}X7bQ^j^R=czy7dRV3@GAYJd zwQ2tIOX7G&XzyUdxFhi&o*R?+ELE?^7?NnJ*;;AnB7{g!h{af*;9t}A`eDB~qCm|u zAxpm9gVWaEDhlaV)Y8g=yd_qUIh|@&rMhXKFG>QKTCs)dtPKUG}&yj z)5!75$|R^w!|qb1{=*cH!`^=uN2{|0mCAUOZ1LH)-O+&q@@5#{uuK<&`m8KCI}a9{{VIGJ(YZQxCn^uZqwmyzDlXfI^k0o3s;q* zRHK1CLa`;~2a|r{{F{96hhFQNZ0AeC7F$TEC2efeG-+^9xK)iW?pX2k7-Q;|dzL1z z6nSkVRPn4zr6a!PWe3d0{1Q9c*kUP>NkNk8x-7#uq?0ttX{#Zss>|bheWn#5o;&(( zTdn;sd=jOhhG$1o=H=&P7PeQ?Lo5*Lb|;wp8hWm={4wa3>E}oCZ9N@9u8x(a{{VV1 zyk=Kv3rO2ZJZ~-m;^9HJIHZ0nvo*}Rs+7A(Y`TUh8_jS_7L)$~;uybv8#6q!H|Wlr zt;%VhgD;jDWT$}0&g%)DO@W!YViw+Ga(!`_dhc2@4zcQo2J01H+0*`1MN$1RvZWWX zUQJkXmk$*_%;{LhY%yHw9G}n(Uz9h-)9Zl6sj=fk5<^ zPv?xRk`sJSA;_AMMft>{f|eMN000;-GIWf3Vw}{mj_^-{XOUuG9tTN~Vr6l?P!?~5Tynl+gUl>{Cv zafp5>`g2RBb+DR;d=XZmlW2PdYxB0lS|}QFEB5 zse(kNiAqIs3AOuRE+;HmG85ijyVyK45p?FEts)XEZ?Wlaw(6*4IhscCsTGj`WmHFH zk(7U**kjey89WgQs&dJ)nF84=7IrSLehKwIh{T?^NhM_-+;5!kt zf!JTu65Th|ZB0cZ8Kp>zHQZFlE?C%~&|)1#SimZ#&*QJn0TIOoLY=oKk$c|{6&cQE zw6e6?dLOlPMOvXn%+ou@(ez&wK*Cvy7WL zSl=zGhMlYdnOOn!J4qj*#|cgBLLDb%XryjvC2$1WYy7k;L{fEvnyzF9O@T$t&pi5m zSa?pRQuw=8Ks`J9<2qL66gfNwRf%&4LIjaUSj}VHfwuPk*mKC_rPMMNr=zH(l}*A) zC`Z4^Sls$|7r#_6a+i1Ak$UQ>ZlR=vnQ*kD!pV zUH<@S2kEN3YkHSSM8TR%1-UmpzwY>iY9EL!wuZ5wj#idWx)wf9BaBe`n@sf?UHp0p zWLtTSBZ&{!j8}hee4jBf)xj(i+ymo+t@`3_<-4ZkP=gDcJR0Vho8k@q7MYW+^)+*_ zRcc6>*vT`10PTO%4 z3m#YMIOhc_l&;wwI8iHju{mC!=GJ;SQ{0zu&7Vgv@F9~yP1 zl6}h?#y|-ts0YyBk~5J02E^=Qzd(=kpPT~qYhh-Ur);uDtyK)x!o!_Rqj1Uwj)}~uAdH}7#op(c|N>x>E9d3V~&zB975l!`1291mlLUVM5ld+AUXv)ZBXti zBx#E{DYD#!UgX=*`hIw`dJ(7dZn1S2F4DP7yS#TVJwUq(YIWu0WAAR>j>OQf_`d_6ew6;lTsHjpn)L(NtuI}g5 zl5S2iCsMPj{-Vb{H6?s>BBO~VdzSFc%PQNkJag=D$*=m+KB2Fvk)38%ecOR2ZHHhj z$lzirlxp;;J|o1%Ww5z#C||Fq)8&D*xEyYfR8}0$>BxQ2TFi0z4Lu;r-LK63lU8G) zE3_R%OEC`{y^=`z4R8DW@a3203XBvztn1I?{+Go2Ev$o6<@05(4B|y5APtSc;DgR8 zEW|!VS62kSSz;_U-u{*tzgbU|-MbZ^jrSVvoZ-zHq8&+_$Vi%0`!W!F2XVXe78sJ~ ztiWV?PLFNYT*{_OxsCZ{Ktd0|oL5g!V$%i$xss-`BvI;isVDVi!|au+C!?c@kA(zH z5_5m@-|;s%8unaSN)5GEbq08})My;CS_XiF-p9=U0FNv&9iKI*&FW&JrQG#3Vc>;t z>2k#VIB)&fk5uQLC=Lk>z=6-}{{Y*Ey#$o-($!{_B3WvS$3sUPEoW70JnRplBWeTl zHs=*w-V+PX>S)Ii;i^lib6m42rCmQqM>cgGAW=~ljM3A0fNqe?%5NdLK1Hzixx^P# zR8_@BDk^0WR!piFY6KBPIoTQx6#)18d*S;v%>U-j^)Y-wzs?Pn_VPm-5kU8h-aLPz-N5rBN$&`H)4SbNPD-w`5?_$Q~zGUO>gJN}xnU7#eRQ~{%)c$zZvAIIdNONeX{V>vX zJwn!*c0)@cr-36_=Bi=1Q^YxW2>AnH^CKDtJl`v*hJ2SK6&H*}b)IU81*-E#XerNPvBz#l$)sRE{{UVrUXSF;w5?H@M8Y#L zospQAcWW-*f5-tR(&HGMVtnQAaqhCfdGkJ-f0d@f>BBOBHFl@Vm&IE7Hg8*&Xv(=H zidl24&NCpV-F<}IMx23VMA}XnH7$0V>GO=!JUb?qb&xZ8?4bZGyc+^d>_^`B#B-~i zZ^|?sMMH{tr_JPq&kRNW`!&Mf{42q1Wo=upwHHw;%VxEV>cvcuL`XtF;{D0D&l%i1 z37)+1U)+rDd7mVHuD&Wx;O{@D-CG*N;%=IyDqx|fs;x4n)kLZADUgOcPSCsLvfJ-> zH{#f&C(k6U%s$yHR(s#?ZYPg?6(&k)$1AXpPh2OF1a5dd40jlpVWbzLRRWXJHEHEIH>nH*0>EUE&8HSHI1QZJjwee?wFctexzyhT%qXR zs3hp!iZCF9jRmcGnu%Xj`FjZugvBYt5`tgkQ|Q}${ms2Gm#E2H+L6I3%HRWjZ}r99 zKTdTfRN_jEo~CIyB~^C?R#WP?9ABJN#p$WvRUFk09_auRYwNGne3rYiHB(1NH9QPH z@FanI0zYLQk1CabjNFy)-nolgKi7NRcS0V5VkN+Dj@Z zBmvsy{{T#3y?dFaXRkF4ViLI)-W zIsEVil`^pEkGd$Gve?mePMS6Q!2URD&AOosqsqXO^Ttm90K|!8@~aYlxO>z3f}=I5 zP|R#`GwWXAl{JvHrt12OQZ{8h!R~P+%AJ^kaRbs+1@@DRFDju6YvR={Hg54%>MFAL zQ@sf!j5;&;aTX@l9q^V2LRjHMrHo9g%UIh7n#`?1Gl$3t*=J6tYS?of1>p)8&YiT8fm^Ek0jZDidvuKG61Wm>-Wgigo&@GSND!syQPg?GNL{Ex025@^M<8 zq0q?yfd2rv_;(LHOSPqIl1mZzV+$)D=^S0X*VlM{BS!@+QN%!KXtzz3+nZ*&ZdFo? znC1Qo%Pp2#FeDuMn+`u57dD#9X{n@o38~|0oV1Hr;09(EV11*e7#B0w89EZ*DQL;7=d<1@d@>{jjzvqKv?VA$m4MuS1`Xg0CPGE z`KdKeOCb|WKZeu1!=JJsl}Yzo^0)RFgz6m?RYy>1D00|Q-;Xk~NNwKz?cWlbokd+w zRY_Z>X%ywNff1*y1sJt9qkszu}D$S51_`R)2p} zNtd}(dU>K&Ti=2Sy&-sIXcz+xS|yhM08nqvCT!N-2dTi>Cb8S#H}ndW zXQQTeD-B9Y-0>yH*8T9KC(Ns;s#odVi5h!tym z%N|Z3^%@p>3b__oYhtJfSVrgr512iUB@bhU=mfMCl(IC2XbzUs>GWOAhpp4iQ;_8Yuga%GK$(aX(f(SQQ6%&{V=chTJm>cyX{V%!ut12$8Rq4l?T0Ety*@o#RdELotTKw__y$2Xs zPphas<3ahS}3*Om8g_LhwgP;@^PaW1>j`I+!DDj8|>2nvWMnxaj_4)-OE&;2m( zNuF2cboDuZ*`=#p#i;WLq*YEXk@E!M!!6J1C?fkj zIgG0iHwwHk{Bawhw#cP6HVN;MW6ipH8}H^7;gsciswDBNbLv`2*Y49JGlDxE&Mmj~ z!CBpHHEkr+`NUM2zzb%njw2!LPu}$76rxuenx7RjYK_2xQb*wb0InV(>IAu5>lleE zN{cHymI!`Ic*8hOzKZj4Xbfacw$~&&{((g^JhnW8KU~KqilH*#){-iR;NQOATwB99 zp=~D?X8C7}A{1qnZX`q5n&5G?SmK@5dX}p;l1ZE_LHTW@UlSgUYguyqs=9Bptyrht zz5|WO%IjjJ9^m5St#hIh9!n*KR#MaAGSI+m*MddHfbVcQ4-TsIjKj)olFYhD?@KSiO2e-Z+sWUvvmnupfLrPYzhibEu3AOABx2U+j1(9XxQ5@Uu zb>8FAJ2gAX^)gD)%TH50aHK?eTYI91k)YFjB%$Ko!=H-3&ChLqRsg>f*>#I@r#N%aEEAklI?+bp1>5j5? zZi(Ml)>7u0Qg{kT&qExN#s}YE7w+@)zB0XjtTkDymH^;r00?!^bbCtn$TW0N$_W1&LJPWDityC6SzkDoXB;`-Os*&jx9HeaGN zv@J`O_JHNToe-QAC?vl3apxaOZ*I)(n(>v^Q5lYJ#Klt~oddA}rly$8NAk<9!@ z5*dBi^*^H9%M&onG_?Eg)9#C}%nHqSX=7wJLP5FuTaU*JX){S;kUA`KU!9gW3%8zq zZF`(U)~zSI6|-O0p63n}6^uNpNCkido=6wHzPQ@)P1YYGx%zpVkG4jOEr4(U-asM0 zKtId}amBm$zt0REUUY|4O|rwq3RnUO2a{uLCh5&f4BZP8xLK~hrW18%HaUi=s6i>6 zVjwACw+7sRMQ5Q>Tu08 z;z`=Z%BYcp^aA)kDuB{%Jn{vHL%T~MnA-4u^z|%?}d4tajBKqp+=HG`x%Qd=Z(bo^}|HY9g2?IiNC)% zFHaUhuIh}^W;!4a{9gUW6bfl`3b?4LeA7FKA|C8df6V@vPJ}BKw;*C?(d@1|?PpI} zQVFHYl-0Pm-eJOz%-sDkZfQ7Cx%~pH#&I4S)moa)nv*Y&DAUm)hbzlsjBdF;BB=!T z?p{LI!c5<*6KM6UG+)HbCX#s~GacR#l=)4&achsD!xp2?PGOqUrMF1W8^}XkF2l-? z)Z)9(s{a6fY6-+8nlm8^Z*#P8F`9;rvw+#f#^>|J9(6;ayQ1GT&j21Q~TOjx+$LJ5=9su;=>W#CVDn7+GXw zC64W<>CPvfcOL6>YP(BJ*7u#OlxsSSD+SrK?d^!oP#lsh$DB!XW{qT%ZQ9pT$VnfW z#A=%MQ8iV4pLnlaN|d>)2lrx<=VL zGWv2qwj65QO)JO;4Y`2)$MwYTgc-P=3Y#ZzgNNdh%Verz0rC>Sdhw0TA6Bvq!j2b) zr4fv13~M?GFSJ|`*5F^hFwCHMj^3nO^TnG*n@>F~A%LA0C0jZJYXSJ6ma4lK4l-lSmv0D-K@ zrR%)m^!d;0GgulCQx(C>e9X@!me#t1&j108>04Zi92#0=b~YXyc3?54{sD%Xeyio_ zF{)htS!)_LR5CA;B}MF@1={nQ+}NNe&>Hx57ZnH~Y=1eTU82U{h(^}1Sl_SDmcTBC z^?IRlew*rw(8e}`fwwYG{ z0Mi(yWaHl&x^bZ^%PLQJ1)8d2BK`2$BDVhL5A_jnZZO#;INyNMjS)DF${txyzEO)` zLQnxRaqWutC#MEQ#lN8GgGi)|2PafnqeXCONP>m=V#1-YQHVaBi*2zrqaXk=s-bn; zWCppmDcTq33gZB`Zumn0?S3%Ltu^HqjLVvNuJ2>CTY`V43<0VR3TW$r(lpvyS@i`h z6;i4&ff+%4#Cl_!x~oOURa;X%Dm650NeH6A4^LcP-B9Wj+Uq)MsTjo?`BisVDEV@6 zTGZ83)o$3Pa;C((lDG8$+ng}d#!hDqRncEi*!V1Y%hKwasLL}fq1s4T+CD)y^~cm& z$O)MF5I~HvF*w&oZc!&Bg3bm5I0G>55ZQM(#+39y3`< zV8`ju>OKl}mFt*i@XaM_q2PFPKJCNQ9(cALW9k;IpE6o_=Zc;a{4p>f1oQ^rU$!Vo zL4r%h#2)_uOgd6({KkzoiFfb^pPOJTn0OkqUp46Tow52m<>T|$| zsZ%u@f#v}DZ|h@+%)3?PnZURD76(%;5Ob=3KV>e!No@~a`~-f z74I$~;2Z6f-{Ku_lCd)%IWm|aoTobNBJ@$}YNQA+}_5Bw4$9){!- z&&**1U3)P8dZc{x*)!HfW5^M6<}%#|qoT0X%QHhXWpBiBvn`w0hWof;%(_>ZVJwnPhT75x1kW^T(;ex=m@L>S`mse3TUo zrHnL__=sBk1|)l7M6v{~!*Iy}AO_#dU(W?c)M)q1ff6LKfh zFO+@2pLqRkjSm*7qOG2KJijrd`(#W4_<)fhBImN(>&^-pgwshRZgQIVlv-#ZP{a>k zHHD5H?GEM@Gui4=Z4$l>;U-Nlnn_h)W7%b5Ngsw8D||$m!UMQ^$9rQ>)nz$! zbpDrb_z9(f+8-y0GvTl%CDFEtu z{gzv<1^MVhYO#_nWN7F-({r( z$y-io+INAhJCX_je)n;S6%Ky2TCT4mG*VGz-T?sZutp-}51_EXM~nEcY^Hk{HY^3j zpdEGaw<~OfYO3b&W6NyvQ!>jF$zZb(oGtzANy9#EQBtvrie?C8qAtsRKg31*lh5gg zS?VI1YJ^f&u8_2g3jNYlfw+9OvEvQ3MEFkh^ueKkZi&Gr`_y?Yen07kwNEG{5DFre zjKP;qt6J3wEPDXCU7)S5JKNKnV=LG0k1?rMwZx1(rsIR}jX6LbI{2N71h;@eJ4sT# z$F?(uuBLiTNti_YiCIVm&B-2wpI@#IVTZinyhHs+j_^{-27tJI3P&F4Y=|03nS!dI zxnt-6{IS!og^rCy@X^x=GpyAXEpwkh4N@_?(!zYp2==hCe|8{$E;G--H^byQw?A&A zYB(>DWOIR+!6Nx;>lV$p-?~R|er!~F99=&Zy?%#A(p1j2moSvHRCLa69sAt>0F`fZ z@4)rI{9d*0aHFQx$LsrV{uiEL^lXYVT~VV))A!hZ>XP`p>v@v0eLt7XPGd4{sF7O! z1Sk1H{{Rzu{Jyx!5yx}$!pz3Ht31qVE9<6un#!3Bvdrhq>`lqQVStG{b~rUbM#=~T zLsxE3Q~9z3Us(G2%&yyz=n=GuxPS${JK^SnA{day=Z)9>1`$$HtgbjG*UinbEz{X5 zxf9OYAQpZ{aqEkOs%>r5n@&7>YbvSCrz6C;Sl6}1uZT58QLn9*b|kd27dJQVZ-)(A zsDF4=_%O!NQ!TckKEGd4Z+tMM!C3Q&Te548sc(t{-`$D-08Be+tg^2=%;2S@jL9<_ zk74dl$YF+-Hmj&qUOmsS#P))%GCaNMmEJXRV+V`>5A14EN)hARM12u zb>Fa34Er|A@=T_iCCWwV;8L}9^8jS1l#*B=><}J53_$C%My`}_d??7;7~BtE`s2*P zrb@|G+^8%(h@2uXrM_5gl0*@Z2_xs~aSb#Lj9+q8)5>0KGyxY;IAD3)2+hO0dCh#PCl%;h3qJ$t03b=5aaF*&LA5tn#>}go0W|?nSu@KfiCT89SQ< zN2ylnBXsi)fkf8 z-j6PN>4Mp0o?X`VKEQq$Nn4m^)$?ss48wr5>SbZ_zBAT)oqfF4v>4djqf_9S^MpxX zY+wOy$ULe$+W!FG5vrKHKe~4haBqoqPEVRh*QlVVvGV!gWheB*9d!&!%$^s9;9kV} zuxgq>-tEvj$VG%66VUxS8ZMi7s0cDiXlin2-kBVx>s|ppU%qJ{v)C*O%v!Q%{Uc&N^^Yg}VQax}|nZU5ys>;B^CpWNh5I>1n@9>4}QT5uV$AEE zFAArhudT5<>&H>UR4z?JF3_CJ%6#8XmNTwvn#)fk2pOXmw~4s3u|GaPOln#zF0%)s zLzt8W7O^6A<$;lb1K*E)GF9eKO3x>npqp3(HXkc-{V<;}rHQ9AS5=WIF?8IzTbPSzg$@rbT@A>DOy7~5*O=js?9 ze;i2j3DQV`cw;omIP(uE#Ci%vt*lAmiI#~N6Jl&G*8aErv02*ar3sDbe0YUPV%BRq zx$_QvaNAc*U}JG(>~Sp3A&M!090>ye3@SsunvDXB-??aI%ypoDEASDr|mO z6*NX!0Q4R2gXDx670KG*X4_~BrX922j;`u6Rw@t<~q+bYDTAD2rlQ5 z0pk_5HeW4uRCMr0^35UIvBssCpQbi{!`DQrGQ5c=s*H&x8<`q1tUjjv;)L+VT25V7 zhKCo#AaH9YIY%wW%|NQUWbqL3v2R-(8%++O%0Y^gWN4#k@?Vd~8hibLjDO_c+l)6> zXb6m!5pH5dxWE_0d9OjF?M+=c?%Mr!`YgFwQ=dgr^3+LFS9^~Hu~^AH?{7>IJT&?2 z-Y#bVX9CL=8u%apJx#80rE5BU6BYs<$7lp$0qJZqvpZ9$Voza+@;GdcGqrKOwy9xo z>3ffwp`oIO?2$l{wG}d^*4rheaqG{gwiMG=>5Q9q*l8=IoUYa~PJ90Vl#5#4___y3 zDU0v>DieP(Wxp8mUXM|=&)Jgv+slUV+~eIvjIEBV<`wbYqK7V`{mRZ>qf&i+t6IKwVgT@5awqL6YDbR?bt^Lk>_&-!{P zLlGYU^Tr_+dRZx|mO&V>V0gvY#)jtWAybSpNm}S*4FKOk`^PI!wZu~~jP0Al7cKXV!TJ9HOhj_QlV%yc7G0UCiY6-0 zCgP)U`?n+8z8)xYJjRDRlA=amutpY0rM>wV^0(oBewYychm!ZYVgWCRcV2Y^k>*aC za!d0X+EvUVnw}Mq##-e^ESA4M_w9yh;AfD;W)VXx31U!B-co;tepcfD04zvrVTLp` z^z^^MXn~4R<{j^{{{SoV_+m4dQM)_S)K0LulsdW_?QTO4%nUWE+`xp+a{y`|cadZ* z5F`0W=Memxq&c5jy5~oxa&$48(yvocR_RR&f#OQvAO{1~kUenuoy!dtVLQhZlhw*Z zW+nds5wP;x*BdvZnhFks=z6@zGm13Txw|QRzVPeFy3FE=86v?%g|((}iWFuv>2l&Wj!!!tPu{%K4-Z;q?}ma5}jeH>ei)t9JWSmf{s(Q$NvD;$~ZEA z$_>K)C)X8LU#04*rdXncmv2m3!l;ZO)zp8;?!1TG^Y||q#cO?_iduj8+tZo*bWJe8 z4{&YjeXzQcjiqg>r**rJrX_hFPiM`l+MXf{D=2Pz5^O(Hi$_ZIx{jMU&1t1{{{ZP~ z7FWL>DL;1q03dE~N}|3Ra7)gi3WA1Nh_KN?^k+@#YZ6?>swR$t5}}-n1|;?$JYLbz z<+?vBS_*8wj!eQh1d~KjS!s}s!Ka~Cfqej0wEj2Y9 zbpGz8F3?{GS?66csI!dD467i^C64gVEi)R47tpGLHm|ktUZnk&*^CjqnLf9tk?nC6 zT@wYrw&iZ$hBs{vc?~Ra)6=TM1Y>H(qQOA)!>n1HbshOWgWnY*#Hu0EC)jk{eAT%q zA(vSjb;<2V@MYBQo;;F_t}Njc8%>r;;xHEEglik(pv|6bIa4h)T^&UxVP+B~S`?9Q z@;}=hzpA2&s2ivt;=R}16Vcs4qiTIar|5Gy$gpXm8`tQ<#C`_^p~mHFuTadxsL=j= z6)7;L7TO0``0BXK^?p2nmgl|i*joinI4@zq0>kBvnb&{W^7&*l=G``_dX2Yc$tvXB z#DDuzAO8U5zdT~<`Z}ztzM_J@o?1G}cQMTb%2nfG-AFx-HdJ+xRyQ;!Zd}63)zZyM z>qD*jSP>w-R z%4UW&xtvw2QLc2}UIb8OZ8Crd@ns4R<#U8mbydVJnRZ!8{(#_8XPRP!l%mtuWg^m6lIH&Z0D9krur07sxz>yqk_;Hs_Dt_BtWpM9NT=On z*hk_!VV?biHoS`4i=%VZ{`J;LHZaeg)@E{?{V@?FGAi4Wt;%Vku{>Fg}Q z_g@t1Mc4<5HHA1fXCDvLC5tcF-^2xOkvpg-i}n}%&N|QVK;ixzbloszlu|s@`%t+n z=J7U?-N^AQO}pOQW0NaSGg3`k3!!w7L?aBQL%5JzVdR1DVgVzzI@9nqmNr@N-KB#D zR;g*~1dC(6T0^n8{{Scho_wbRhrR+QSn%ldDTg2d_5Id%6h>Qdf*&Dm;G9dSGTr12x5J8(e|naCYKXrl}eUfg>3#LYc81>fGVg z4w<02TG=CuD8PD!sgq7=`5iWWqCv7Sc_g2f3dxyKcQN1#;+N}ov6i~Oz*J?Xj1{>A z3*Oz%9fZbS{dNjmP2rLFl~?Ng`6a7oX<6iQSi2BF_qXHn#4579RkVgWy`(VQ;8}q7 z2Ho%~>4i;6+bSmBd`Slj^aBmKm0^ju#XHHcU&JNJBEu4@xm0ETd#MY-_Be+{dYZ6Ez0YBY9B!meSzQ?rhaduZxxtdthBxE@ z2?X~zaE1+vITjtr;YZ`^fr?oxYT~7(hH8qI;6(}+Vt#{@hY_MctiOeBl|H@dEEQD? z{^3GIk_L?Vi5viZJ@5Xw>0U*m2QYI83@4J

zVY{4L z@nmYixc~(|-T31Lrbe;?8Ev%l$F3+Cf+8j=n_U4MlZhEPxg=ZH+XGz(7%b*60lkH> zawbBLe=n3b7st<$#-O&|NaK#!Zv=Ew3EZj3v9Sy| zNKkKbFWh{w9?r6O<&DclxO!N2!tjD{n5==T^cq?BC7gekz9`LArbQh~j}K~-d-`K+ z>kO7DH!jPexHlf7(;4Hac^pJcs13pO;EY7*z}a4kLU&Y*v=mjf_Nr4Fq)fs^HnUg- z`u;e6rlijDth4O(WIZw9&l?5^7>&0dJT>ZEw0)9Tqb50|DyqcrJvsOMFtkC83VsX9eK-cg=WH@NT-{y7r)4ca9Ge08Wnug* z^u8TIp2@HC)K29_nKqNYZdw2Qtg6~JpoiI0QxsLvVIeFoEmQ@&YnjL zQ&CmDi9C^RKfW^z8H*-b^x=q+n(S}udxL{AO>LE=bl$Q|%g!XYwa-1yCs}@S2~)eDap{a*&~B|$>O86zSx1b%S3-GH zjUAEa{xCux<}r_wCqVMY4MNjI_DsO$>{ZQ{=Sald+;->F4mB#3^yO68k&4oXH%a)p z1bPfK=ABKKO6F0=P{Y8HtQos~F~Ry+rx>|}hf#G1^w+3Vv>DM0l;(a&XLG{I{t|w8 ziF`wRBI!SfdQ+a{^QKFxmOZOo3WAf^aI&xS51(=RV$9dtBO~j!hN{ZyTE6s)uy*<$u$_th3b~k?MYn>Ob7to`BL!;Jg!|-3>}!+oNw$?mLfBh>4cYFU9*0 zd~}CYb%&*WV9>QKsn(k@Xs*!H%z>UO54^2=f={TnDh(FdHm1=`*{Eo8sz_s@j#Q02 zcveF0vaFWA!M4Q(uiE(3j?q3CL#Bw5G(5fjk9#NR- zoTE}fEPK)#*yg9JYp;0OWN6%tr;VWZ!j9HaJ|iG$xaFrWTPmXgst+x=w^fjl;S63^ zBop^lfG6|BmnF?BU?DQ(iiuq9;0Ja+h1s|trZ;^3CelQe()8JWoXib6i72xywi=i! zE%&U=bAR(87WEjWy3NvjlOoID%znX3Ov`xcA1+e^ETj2?-rH|)Ow)*fc59Na?CCRgvc>e%)MwJ#P z_-td5ep?%Z_#9X|Z7ZlC*)~;4tLZ!oyk-0<$km0$$p_!>dyAizB3g?n$@3`$xpZ{| zn{P^j1w;@0%EVi6zpa7AxT=`L5__LqdgAb}H!Lq~6C-eK-_T(9O^Sg30EA!Vd=+ksKJ7^; zZbFo|92WfXCZJ8!v5Q!$+T-)YUHrtKP=J1zkijR13W0U}d*ZzN1Wtf}=br$k{WjA1 zma)}T^b`LlbcB{eq35fFyx%G1-ol1AGL4^VQWmCEtdnF+LYElyYkBn{zO#^4Z2k#Gs)k=q?BG0L~PGPAN4!2rqU=B^ZN}|%yh2b#gPbEAa z++cMX)DWrj3~gVFNbQy`EE)*;CJMbh8huhek!W(V=ZAo#fP&mgOriP;MM)Hm+HcR0{tafU&knLx2g3#AO?5^9eMg!qtcc1{(F zZ|C3Zh^AwhjMBa1mY~en49x5}KjGRB^~0WhA_xBfdaRMi7x4CwqvWHuBK0|}OBIqe zhB9~&pj-UOw>T>2AmAhO0Z9XRpqZs4*!Sn~;9-+Asg5`!NWt+K@e=d6{#ZCvJ4H0? zd>Gfv0Jiq}pY+0N+`3rl%~YjgmHz;SsU7zKeb3{FNx0EU0$E>3v1JQPstHi7AqMv+ zlh4ba%LA%ao|5CtSwqHq{YE^XWiS{`*sAQ^{$iXT#>XB&;tCQP{$KtM7)VY5M|1kW z29cpWu^e#whe2O+>AusN>ZHSr(_-^ zkLCl*zndR$F?xI)^s1*?^$Hx)s;Y{cDy3o_t4y2be?c0K9FFGXj@KBZ=7tJoG85(l zX=ZNs^d9)rKLb@cD!ztr|6C>X#QQ7p@&CMAA9i{5UUV^(~68 zCi<(a0@@`;2|nUkL2F##;$lZwkQXDKJM(}fPbt3RYuF#doEa56(}J+Ai6e8K_=QS` z_A=2EV1$m}JbN7^EhgSrpyZy|3+8B*UuRnx0o#83;bO!#lB03ACkVSxlC&dz)q5WJ z@;Fqx3vF@yr?X*gH7hcI5ZI1>m&eShCgtpHd-{xWb<=E=>c!E8jjwDqW;DyNivoQy zBb5+H6^Psi2h`!Fx|mKKH*ITO56=yx;aZ*QIP8-gJbSsPnNJT&sHD(|Qw$ZgvM z=={c`JJVU62I%9fRYVHsa0Pki*xcdgS})kDn6>sU>+Iy8r`Hioiy?w+%ukX`l=GvB zC#8_E@p-+=dK22+v6-BA-F5VjXQXqeDV-6xv1^6=PM~%DI;ou!*G-el4RXT`O)ToK z;WhZ%dvS(6Kh$i)rP=0rK3$i6rfkj?hB-sn#-Nk1pFm0Ek8C)_m(DA53W+6jlA=Wh z1Hm8x*!r6r{+RZzh1uRoDb%k&#cwNmcOPHtii0kp!r-kIBZs#WruJzG0{ipPSJTkf z=Q-4w?rP?;rm4wux5*gfg&xDcCE9w88Nq~vV@dmIAic#Q972|_=ZwwUWNc>JDFVo2~j)FQih+<}j{+>Rngw>G< zH3ejQw-D$0;i?zgCA|-POFFeglv=u|!+!~m;5*nJM>vKDw?4Sr#^CtFx`pxedJFByuTU9au$iN{R(8=v)J zpwz~{yK;3lYS~BM`5^T_KGbHg5_m$+A)9D&5rkVrcm-By@jgmY~+nZLc)H&V6h#Ky?d8 z)ag9o^L&*IWS!DNzjd*UGJ9DfQ{L*eVn1d8#5=te{hn*d@CgC$iA48Bza#{ z^yH8`t4kz)SpoAY_ZXsjVbrQURRPQM1yUGoXkWUYY3`i-XrnU`yqSJr1>Txld-|z8$7_7?Uv+0K%DT~}kwv4;X_!exTLH9? zu12VZa!I7{{Ve{M}kHtYaHRngGV=U`i~B(65tO8 zZCdS*=zMxA7Q3f4nqyKOIiEo#CTNqSQYk)Nq}y;lppHTI7`t`WYeAFb*{)la!{KG~ z!3{M4PW~JumcPx7kK>8&U$iwZRPwkp?2DaCl*hguhyMW1#J*;X{{WbBSMeUWpd!wb zS7%vFQ8UE}kz{o|+p!|wg|J3fI=hE6j*Y#?LM(qxJyjUu6pnO2YHefGEpeCX_@K+1 zC1c`MS7pkvv0`l`aRQ(ZLd-9JTXT&4sOYn3b1a8E%O{#_!nQG041tQYQicv!s73D{+B+TQ>HDv@MRIfy;s>_H4W!)axV^;oG3<+O*8{#k3 zEY2LybUpy8%W6Zckh2}8Mda;kaKn#Jd_a0psC*f79WgtFW~Nza)z1cHVo3RY>)^cO zJv4GjPVB}wz@H>kC{*zP}+@K4hW)#%VjQKJC+_9ybdqM4}bwwn|N#9xdNnAQENW?;5a!jASH zoa0jq3teHd$5hJK$8+x_^uxxgjZbaD{{TUQ=LO_qM=VQzeX->Vq)|&dA3nygKK`Hg z^1x8|j(HQnL+k1>d zFC;>bOx}v__&3t|cB<>voutg;hO&;Q$1P0LIyIF>*79@19s%LI9xslq^=C8x0AzYc ztg`^beTyflF|n}c!YZ}`-lTTNF+XRnm8jKU5qV6|v?iY?rINCtWEr3|YrY;jUAt+zf78iH#W5ez>V+mRIiWhRUMljo9N`?7^X9#Z#PYth%nJ z24bqjpRN_;8oleQP#f}bQ9%~zZg1ZcogElT$o@wZo&Z+kaVpX3MrTlTsE(g?$ON~i z)8~x+S2ATDB}Keii*U`zzp%!Q&Z*Nf(}FOp@+T^z-?uo*okOjbnxs;NJ}TTQr#AlI zjx{tA4`%>!K&#kz#GYy~p64|ghGtljWju)EA9I`~jtJwaRe$%Y@(XP(aTxbF@|~fh zf=Ox_gsgXalm7sI_(YW(WR^(5P~54#?nkLUxUycT2J}vujZ85&*`WcY{{R)dpxd9z z-wE>uy)BrQJSZ%AJl_8Ro)95amc*AXM&f&s-}>QwOp5T`xhCWBzaOp`UZe~uH48LT z-EKHJ+T-!P9n?7I1KWR zeS6|tOB%rlWxajER!@;lo##}vo8C%^ z-BDwONox`Zu|J{5Uj7$4J(cvwL{r60O&F_?{{RwGc^!xrK4KS(`v5q{Gd>$)%hRiQ zY?I2SdS(*SnSbH5pxhTHi*avWan}x*RsFJ$#Hgz^QmFG7&l|l({#ck;G?ai{)>aK2 z2KN3fkEO76QpFf5JkQxwdVKJPOxQcTP$@e{nEDTqKidl_p|Tm|U>J@7#X>>ZTmsso z7SMnL1tXDvOc%CEYE=}oDDyG&Cm$+C(w76oD{@Wy{IC&GG%GZ&ET@6=_85$*0`XFw znd&ABc2l=`^*zn7Iy}{Cqzb$#1&6BbaH>Y%cpPfuI-!zbBMJXT*cm%i`pFnmues8sRh9ln@l&ouiE zNli^8lk6>iEN%~MG}W`m8CEBJcd_>vUr(AyvN||BReR%=ypyQ z2UP~tiqj*=%YR$_M{H0%Lx;kdpqFq`JiPWk*wFd(v6v-=*aj9;{fNa8)cCIpmb1Eo zH(Qg2IOwm!HL}WD;xwnOn!rd$Vcx_aOjbErsK_;o*vVZTf1XrdFNfUs`C`u1af$O5 zR^!m(Cz0u>vpW3BqK;O2_)tcW$VSIfZ*Wg;eKDS?AUK|(d#_}Ho{UD{dNJ zQ87MWy0#-~-}U@3>rIxfb<%j5SM4*vJXmgg@vr~|Hutd?;}PzgX42PYm9%0nF3 z{#;%?exZ-|MFwLL9t@sBqq;fsTNFT;A6#oF-X8;OzGCftE9o)XmN;(f`W;b(+Xb+> z$Dx71g^wrG7Rj>60Hxh8&Zo)qdWb1lrA2gJ0gvPdPaWc=EzZ@qHpW92fS2dC zpHr|}+$vBb$$fr5G` zy`ArqD>ZjJY&;f^jK)Wq`VSsz9jo#wvMlAZ9IW_r19Ac3u{qKmN}<;o4EZ*D8p;Z7 zlAd1w0Qd97A*gz}SDHIDHeWGcLdrnI7Nc6`>0XtPY^9wI!9Z{L;Nx)VW@VqD8x$GU z(Zcdss4D%-v+C}ZXJ(3dC7(~s_ob>VOGFQ3bL>6w?^ZPZHn63SJj!GcXEe*YDO35q zY)`H$+?TD?xxE+IH60$p-d34L=-cK;aftqF)KQSuwKh*y^;v5R+qqwmCkY)DM;IKo zc<0E3=T=jgi%YK4@e0JzU3ad_GU-xEU}uPwnihSgC$+9VSFy!)Lz%S(q^^=C+)n4Z zn+vx-pHqmgYnw%x*BZE#qrczhmOkeOQBUEyaCtnRt_{aP)&~$Ro06bw-163we7w~A zAkTiqR^_flrsRXzTes_j{{Y$97C^xe!20xmq{IL)FQibvo52rX373Pk* zDzyaoFTC^Idw*O)XqsGIZGOt|tSxA5^!urT=WiZkN0?K{QgGYDspJrO=MI^^q)gq~ zMpBZwEKd9G7r4cL9an`RRU=}v055}uP-efFwY?9fB6S0E2U}3AisNEBryBavQXUq$ z7d98aI73lZD(Gq0-^PkPrLV~%#`(UI{Wdhug znX0aJJLrg>VIc2>mXX(XsOcmN z7)uLWUmnt^BXbMzPd>OI7sYi!#fLvkDdA1PASlD_Z4@TwR5*E@4tV#(gC@xO?6zJ3=pXsq;fo}2_RgaIXGmdgsj7GA&1_-z7LW7_qpw2Mk~l}RrmpGZn`V` zHu_H5c1qntQJK+I)Q7EtyDfntc_^eq9B~JjT(MwfI|16edF8m#KNhvZ4xLcah8wFh zIK}O56&;WE#0U0#X42+;8>FO@ImB;5LyEAd*SL z@5X&!{{T+Xuqz)eTkccE{{V)0#W>G+U#hV%(D((1HP%`(%=dZ=MLO=d{{Rs0hc2Dw zQROb2k{2~0ERrsz6+@4%^phn)AnL~ zv8ScaKc@rp#)X-r7i!MEqBCbKfk&3q)w{_QF5!9di}A-ebZn*Q>5P*D{w{qSjmeMlv3(Hkq(I5?9{7oI2~J+DW>BMZ3wIw}KSwNaM>LMi@*?fs zeh0~a*9|m>?7$PKt*wGeDrpFKpp*i5N$UFtk`BnqK!!j!(96NV1<%71MUD3+@9kBrl*Y|bc)L( z5^wMGIF970Lq_RsB->*#?z>*@eKF*RR?z zjIFmN$2d#!DMN3lP8IRKk*=I_kKkjlehKb~@mM z@X`u}=aDr`uQ%PeK2wTssH$b9k<^mO!vpFubmvt98hJYq1<3TV#V@X_cEu}OcbdlD zqYyp8p%Q_lm6^4CQKe->n*mE)gWDDMkaHG$EYbLlNhE<}h@lN}*srcE4x_TtEUVbe z+f))Z| zV8frh3X5}#M?TAwJL%1QDr*v|2+M&hc!ENsx8;6EY&t_{#_s^E(8TFz@d{zSciZZU z>9iE}x>k0HW(IT|+-=)pEpf`84T|kU0$39fABYHt2mzLrG4) z7SSf)<)i?zavI*&Ha0!+9M&;KL)95pBJzcC8?&fZKAeHZ8qVwFVzE{H>N*Ooh;vWG zYx&V#x<^fEuAx&@Wm=X!*>L_U5_Z{#Zg1Yl^utYO!(T~rEXk-SGs>Dui~Z%A=sy$2 zKGHJ5nwo@SV3nk1WE@=E(E5&lOf+ZOUZ$fkNGPFgzs)M1FZIDpGOdg}2?Fx3^(KYR zuN9GQ62MtjOWp9Q=z2inGrlb2M{=Bf>gDKY*$-x4aU z%Q4c_f}WbXVIm8b4r~q$)87!9zfL!Z&R z1*2Vb*$R^thYg>DI3dTTyR7llPNdCS_Dq(Fp{Zew0x&*b4M4YSMd-8LEtN;Mq7|s0 zvr0)WPrdQ3br)JXQ`C9r*F4iIwQ?yH6*W|W-B0*;pt%R1%LZh<9_S{dt`pPgcq_pc z@S?7GEJ+?_R$wdz@HPw?kBZPp4}dl$T$>&&n$t!{i5F<~So*i9)O1np%gV}x{{X|8 zdww{L=6bwlWbUA)Qh%5N4mSkf0^K9k$iKRE9%YkD1kW6i(n}3POUSp8oRPNu{YD`= z^WYOn>3Z z%Yc}+`Ws;^(w8)VBi5qL?mh5t+Eg2rErMw>>8m6O1WzNIovJQvYn*%bFswsv1PW*9>oF^Ww67+Xi%Obw@I7M*B9-6aqMxI zy@9u>{{T!a6t_`eN%?Vup`o>z(6aX95^)qy=xMIOO5? zr#fOyZ>@6do*Fvr$?7BkQf07-r<4v@DzO0hZcoT!6Wte98gmdAQh#TblFhWgMV&Jo zzG^k9%;ugcSb(y@W!TDZxrM`WKpdM~bAx^{t9*RVC4e=|EF6L9xf}lf032SuHl~?0 zy%~~Zl9(rlN8rBl&1 zjHKJ;;39wl_cy>Gtwou_C^j}*;C6d+MDkyfbrrTpb7U8|9=|h!X)C4@?*!Y|=X@ZN zr^P4GTnsLzol?Traz88}ea`9GED)bJs;+qyTy6Cq(*nz-@S(JgbLxG-z$C1W7)Hw| zVt0Ippu%*J%$F7ic>M9%_1$o0nYuMQf4%T>LG%ed`WF#xE|lr5{)&e8lNq#rj;61s8EUlxjy$6yu$4*#f|;H4%mItodeR@35rN^)M*lL7)v*ufCP}Bp2M6! zBc20KC3T&wqo$g9n8I_L^4CjxeAXDzGQpSC$r=F^k1;5&FST!Q2jlOF)@#wdMXxn& zR&ST(#x#-9_sBwmLV!s6kWbGVev6{INNQTV%AY8vM>7^s7s|fi4?%mJSebrbO_$T8 z5JZtigJ@M2l`=k>=Q?5+`$YuuOh+!M zzyODJA2)`qG8)P2c6&4+D8pfu!k?G-f|tgJxb z_Qg$<>Wt?Tio9c&(w_Go?Y^Ys!Db&yx>&Rz1lNHWuQ2RKa!GWS_+DtL8nGi z0P^nO;fFMz>`g5(Ml+xQZ0-5t?&)TNuIgTxT+XVzW%9^uv52=VzdSzX{SwY%mJO|z zW=RL#@|c*PpL}YtdGQK39LI~X!_2IPGed@A6EZ+;BTc!0v(}r_wDZI&C6Z;BwMpizuOLW{OsMI8s0t`r^*a^bVwf3qDN51JBvnUjG1>IEdEMy$)o5c;(d)s`qB6 zHXlAl0xG z#+A|EXwy0E6k@ulQ$=m@)747I6dvR=5Pffkj+$!RpH0wb6VtQ}EQl2vFjdjZ0HmHR z-x7SJM_8poc!7n97GOc|>~YoArHp~`yM0f`WpbL6iuqY100O{i;kvJD{x3D%F0`qO zE}oWx8hV$8n`9eU#!0t`%6!7d)OwsQ*WVL*nwD&_axBU?b48>dYTZE$p*LN;Kf7iD zNG9U^+tUd3H^Y?%VVX%_lvV!iW;=~LD?08Tp!Wmih@NZGy8Sb#sOHQJRrIEC&aiG< z{m?-mUd2hhhA-jxtaDG1=GWTj1x^o96HCCj9TeL}^`}9QE8YZ&J5y8>a41X$IjpkWgh2QMCn3@8bpz9u2-6VM+55Wj*=h=ZM~*%Bi0vu2W7?%`~Jm2g76K zJY0PSC9JQ4I=^OoV2h1_v^xERhQ} z{{WiyBI6D5>)O`JqNI*ijSK)g##vmiCd_Z<`^WOYsVdCW@FZ8*Kyn!ECB1v`#ywV( z2B8fs-}Lfc9fMyQQ+yW^w7hq{_9mbm3x~GN=1**!diR0;6ss z;F1U)#}LZD+2>pQZ{58@$?M!5$lqY8MYXTZw-NY(-w&B~X&oJOXw@x1;#5x-nQtR= zazF%J+W!Ds3?}=jQ;>lxlGd}%rg4|H&jx(A-AAwSpEkL%M4C0wMRVJxd$D$ zkF6PF%_SK`rBzjF=@>0UMNNSv8u#@4{#dOwv>ISQr!>xam&YtyXih^<6HHfe zc6mSyLwN??z^`+AVo2j`vT&I24~YZnfynp89~JSNcnkd(B;F;A-5HdxBKNrG<$_U& zHzMA*?SIc3W30V4&^n7<6r|7+Xjn@xiZZ&{o)>2RWelYhSlY?O?}>dUz+X%A{XY(6 z2EWgA=Hl#Po`x#bwSZIP2uG>r{{V(BPemmpB57RQr~aU*Q`bXTIf53uFc;iS3_20vsP5)xxHR#1eKYi7K!%6 zZwzt9Qse`7C63ZrNAlx6Q&%4i!G``@d{&~0hDS`?`g!m0T`Blvp{Y)dX}K#ZDkqj| zaAW&aMIJc!HpC$NErsj>w;W=G_?^rJT$F4FGS|;9&+di)08DAkE7UBCze`hAQfAQB zD2;C@kTW}29)4&0<0$+?u>IeXNqd*5pP#@J{jmUZc=YkK-+!Ww;oKUD94&i&RYM%M z7(t&>u49+HOfTv%V$Ei@3^D`XoM`1}drMuhS(uz-czbsWz{@hFMh9*rbd<>jjfNNo zaTGqFTL|lQY;jx%{cr{Ni;2-`g&bg6PX%ldcOYRMc5hE(<`}H&b;2heApG$g%({aT zTp4-#;h)4LwUd38F{-e$Ox7ll?O<>Wy0K)G5sIZXyj3!V5?r62CVFEsS%^Ek;B=EY z=I&RR)`4KGdU-(u3gMgv!$mDh>>S}ps$JdjprCcdkUI9;RQ&{@+rBf`#YT@gq!f9C z5f(5KWFULk3*z*roRTmM?l%if-%5h{`mm~nC22AnP|g0n)orJ2&TJxs;Lm>r`2 zoO6bH=z_ASA9le<^*Fb>+0*KcA)ZW|8|>xA$0EVKPxZx9ELSSbeAnmuU~9B0=+z-; z{1{50JISy<=LM{4P1}`@_6O8p=)o?)uRHj;$I>9VPjWB)@Y|)bc%;r53oI2iBg*6_;H`Q2|SbTam##*!5WJ$ zl4lV@DkEtf`znG7< z@?0%|?RXGW4x1rMJ3DQ?lndJj)6UAPyST9f z=Y*az?FZkS5iMgYuG1>#v~G`_+3-W=0Y^F@8 z5UaP7j8-i#5`3eQ*kQ3`g6EovQsu&$DI{THco-s{gyt2nQ>eR4;YK8R{3}e6!oANY z3wlqH{`%LH2v>4M+sMFJm}QhVsYRr4jxz3xTJ+B;O+BP&>Cgq*gZg4Z)kf#k;D}=s z)X~JE!AEQX`|@$=tpSY<9G9Iu=5cZ6jcSu~&Ip#IFd=|p?85jh*bF9-@Tn0Md0tss zuCvfnNU!&Sh)0IccAXZD1%OmaYmJ-oW_-p+Bx2pW=bD z2@;mGBbt_^Fn6elDYK%0K_(tsLURxG7?d_jx<>3LM#Mf zS+DbJn|$!;qdK3GW}25Zm;I=MrjlsYX=xgDA|M6H`jf}g8ACF&MKsI+@-erzBRxOM z=Y6P#TNVt{V`R}bwgb&hi?UVO~NgSqkT79o|{Hxx#cBijIbz`&cub$l>s*Z zu&}>lVcQPW-73i9rh+L{GsU#sB#;AP$hF9~t}{H4wJeJiPSFrI5R6BErY+qiLb2)E z7jpjqXeqeJBw*j2@hum&RlUupkha?He??BL(9*H5sfat4!2MODkaUMCTKcT#z?vxN zA$gIhZzRG?SxTrNn{sg$%KA5v!~mAIqPBT9J=s9>4)-714fHwgZIMo2FV1VJ&puX= zO1z6693JBe6R6qsCf)5rRs(MH(|Bb5C`a_cIq9)37;W<&XEvwet3h3dw49yR^tFe; zU07K*hoQ)tcA|h&JjA`ia!D2^lkMq>XI$ywl;-ud06 zn_k{JT~o%Xpu}m3rEo7AjctDoNKu}U=e0DNk{T3wMKxF`@RSTocicGy5CP`@0ERRG zghTgalE;rYHpM;DXVUq6>0eV)8ohZD%510)w;y}c7e0*6bk=R0EEQEIDBKdIYJ%VM z#2Ec$HY13SWjufbw?$|s30L$9~_@B6wPJ-7vsvHlfK!3If;e?vDJD==@ z;+j%Cd3{2q)cX5l-xOb*60&h`OcNyDdt=ZEy7S-^aP>Z-y2(#XJj{D|Xif=|yH#dw z{_T=hFg~R%{c*E0imeGGiv&3=Q4not3`{}#T}k`~B~(;eMxZD~G{BBLdUj9N*8Opx zWOUEft_5kNim{&i2weXFlSg#}G?Q#OL5lve$!rdr;r{@rS=6?cN@{ET*|E`T4Ih%# z5NPUYY6P#(K6A4t&u0DN6q zTcHwVp?qm%Vmp#?diYg{;Z~h?{{V<#Okt4!01*iKVj~P>+=XGK&Df|0U(&jC+q&l8 zJUm6y8f9Qr1|)f=X&zYtmt#2s`&3-w13z2p;;S%2kXAj7w-h!wu*Y!pXi+{fCazLw zv;+}1+!q)=JsAf6RA9V^SXSpurdmTv52NsLCU|7n9i2e=981QKsJJl&Q1yGDSzl0c zIpTOn+K~x~$8d4YZl-kWGU?89B?eqzxfPvS_g51VQRum|w5{Bc;vrE^M|4~It~HuV z>~U=TK6MtSDArIxTbRg@O(1^^pDRglOB3(4NWaq&jK8CLqdS(+Q5D+TK|cKcn0rr# zZB?W1+SC@LK;ev;O0hGO|+(eOD10rhdRw6P{zjh;`hJf zi2%%%+V>V7_`;eSUh7>YM;2c!NYce0fVT&*{$uWY@$|*1mvv8ARnDrpNZ3@h!xQcQ z08xxxO=L`Q?~5&@5Iybp3eu9-tc(b2`+afbnTo4y+%7x(u|$937Owj=0OUm`3+MhP z7rEem7QRiBE!=JNnWB$ z6Y2&iyt}Qm)v7#`M(i(UQ}sA>JzC3^14%fD`Uf_-J%`r>Vw*Y24b@l18ZK40HfX5E z#1ajL5`Odn!7aczte2=%&nhUDZd%>`SVddZnpl?pAW}Q?f~*fHd)&dzS@P#ezToh< zO)hj5$D5o|*@sy&>KUyiOknO78@V^cdob($1Z)HWsvPhF{d?j^I529M(VJzVj%cOV zp2qkpeM3t~rRAApQQWb{b)@RXd!Mzb;95Y}3Qfr##}bUcOXeD>i&j<0%*TcPQH=Fw zF%34GlvWBC$-aS3vktCOMN%o~k*cNc#eV4gaBVK5%`@jcspD<}j{g9jAhPKiy)ja$ zJOnEXi2&gHTN1p2sZvGr0b_1GK3K=p=194 z{Bb0sps%Yorm2cXJ(c*r2c{<9Fjq~=cqrWBWV&7{N7}OS;Y_@k$7cF_V(cBG#N%a{ z{MO`9>F}yD>$#S{FsnS*JgCTPKFyiZH9McWPiFcY1$8|UQsu(&>x(-+({!5SP0vGF z7+Qd*!ZjQ(F43^Rs5Zx=VHml@;m$O0-DK-1+e-Yd)D+Xy zT+%H6094H)urWk7FF&3mNkWoOe?iU+%=FIrnn}OoRt>}yiQm5GBMM>8vWFyOQ z^~Rz)_Mdz#;1?-+*0aOSf+}5w}2AzN&;BY^t0Ao^G0M4Zx!K2MNe?XubqOB;hYK8}q zWx?GA$^Ow_RWpuIclrMS*~5On*%nqJ32zaVMg4i_76(D-BBRsOR?I?pg__>@%s=^b zgmo)O-u+PU3QE);XsMBaX$3HO7_XZ9fjnRE z#Oi8`aetN#U=iiwJop3~9e!aO2Z=^YFlIKwX&U!9EVaovEvEFwp~Yre5mPW1!cG2e zKTIicxc0UQXu!pLsq&x~B;e@O5D4J>uwA|J_ldXVge_~m;J7{P_f3+zOva}!pT(!D zmKVM5t&er5R`oVtO9o(>gtN_0bwu7!8~44wSZsOjP8juC{iiC~es}Oc1A#U4l;#)7 zkX!^}g0iGc$ivNv^ZKXCFN+ORNe;>hO|a>-maXoQ zGLaY!=t*Bee{58-WS%U6c385Y=kmnQLTLqR*ySS3p@8Go++zo3t;ln^tsn5um;I8G zsU=|2s*e!=0EwB&WBHskd{jQl-7KSn;Z!%^T`h@+Lt|S`ri;=in&+! zu9@S`)b$KLLwf%J*9Ne^{L4Llg$cz6`&asXLZ;B)1U~<^?rVFy1K!D zqq$#K%!GjEKpNL#c^>Bz9FwgRQp_1thDG2_AV9inRWtG6MQ;_v8so6^29PcAm zxo$a<2`(+%`Avo(dW+$+sQOuIC88M~rJ;m^vgMh9iJfh5c1#w><$r8p--JmSyk`DI zdIWgWU!%pn72A~c-O^v;p{NQ){8l^1;%|!^M)l(@t<+ETEMDbKKZ>Nu22YZ>OqU)#-`z3P8jPjH*SbxcAw^kNvp9Rl4&@Rq9N|s&YB9 za%vf)lP{d4ik47{1^5a80CwXO?HAUZ$0U(gO?7WN%bWRV^I`Ug{)Xg_(;EiM0o+^j z^OD1sRX1&aKRK)OFxJ_16<~s>H5EwU(`FGhJb?RckOPESk5Y1czTPD|mj3`K9N`vA z@ki9;iDJ$&%`empztl#eDMhcfC8Xhooms6B@4P~A-H zmXod2)fHMRBYdk)M|kOyTG?KrqyxnA7A&c8$Urz9&HF^<_=(FYT~?-!vu*5NDL0>} zAIvikbPS3P+)AQ#nSmpw?6$Z^~+E>*EZmv^jG3GM3Ki(@zd02a)QhC=zGB(YHK%_)sZ_lnJnFmcWnsBzHKt7+Q z73z&e4J`EgokP2AP~2Y+nLcA2u_*?|!ovKXKU@iot$WBifQv}^L_nh>&{M7>j z^3k-0+sl74Zm_?l$G$R*9Y@bK7$0k|d-ov@-fxc7YCNwl)ma8%lx7t1)X`PK&`k`B zeag#X2*(Vy&QAIZUFVr3OyB)FvRZCfH{D`8j{ULheVnW~l{=xASGS*0;=K12gi*}d zTkf7+3b1m^)kqpwXM1;Jd{1=VT^y4FR_EvGiZ>+JDFY~|1ql9b;}))x)>PFSN=mG3 z4}3ckrJapBE7UbmNoy5;=^7Ygm28{~ei*v+c#p=61=`%P1gi6UbM0}9Pfhh&l1aC;=mQV~F9WwA^Y4Cf%!*bx3u=-= z$s4+}^=6}|()x-W?h+cPjGJ%j4T;80);WCH?xxK%GgBOJ)K1Qd$DOz15?-fkIW^9; z64TDchK3cUO|7?keda$tO}`8@Q)M)gN*KLBm3u24!yc!CP`ZhRR~=ttZi^LPGinHo z4|POj(vi&SshFxW9(>rGLDDS-xjZvwnu@h5+ydSVpzS|EFnVMW)IEf>jC~c?Y5ef9 zbctpFLJ_?gY|Hv%Sjjqzps$AdjS&>RHR&qsSo67RW*>M|%)|5J2{pb)(oCL%!iE}p z%Az>?J2N-uhegwsRPsAKNjyMYcoE#6uIvh$mLxmQP!X52JPRey(&G|2+=Z2P$9+xK zea`g0Nn1I5y=0<~(OBH!o;?d+Ats7hDgfYZLV3os%jcdcmDZOfaJB|1a>5G_QG1+D zWY%YZqflJv4WDFbmTZ;Jiks#7C0W>;cZ zn9csUz9#4c|^Ay@%=B0Q>OH5N^+VVmW~)1tfPpr`rO?P#9)17q3p1*vTj-KZI5mk;Y^tw zLY`ugK9+EQBY)EboU(9itc-qSq5lBx0|h;@7k^c}(63^hpVNON4Z`Qs1v`aodhpK> zCE{=gt*$>YgmTn|;2v>1T-R#TbzR`IM++lfPWUCB{{UPRW*4>jwhA+gk$=k%Q4MxO zXBQ&{3PG4Si1WxeRYj9m=F)_urIJ#8Re1dIFw-40&Ba^ERZZb3Ko`y2?jNQH)`I$X zwY%9F!{L+K81mC=@5x4T-8Lj-J8Vefk6ZS{>m={gM(gR|{u*9Pw(wf^dWn)yyxbth{NevV< z$1vSyrmvQ%rIygEv;BnAuAIRQ{rJRpHtC+9nf6n}h0mg#7n5|8P}I73`Gmk8{$q<* zM|8S8t+!5ESNC&#Sag>*3cDg3xmh$H3;JrYNzC%-WhCE|+XqGPwVa^h<9~YVxgWx-qB9Fnbq!@Ux|TX-X1&U@D|&~d zwL`PyG1E|HebE}7lsWc04CauJ}IbKDP{&8ZL^B`>eTCk51tG`A8q8D!T94kJI^UJZenOJ*F4G zha|DeKUL=wvT)I2p^^z6ZY;8g!nJGWy+M~Qr>YB6Jv$Rj&bwv+sBTr_w;PT7j9j_4jmqVnd|a-&RZ+Laju6(rwZGF5tw-?nr}a!tAAwy1INDu* zhQsj|I2T(?%E*jQSE<}--X7HBRn-_NrW>v-2?qZFr_TJJmI|orJrrBYOcD7z6}+r? z@Aw}~SJfW|S+cVxPp|VjDq(Ob=P54GeF0&6VWPj_e^BNdBdh9la>cgWX=$TYx3%$t zld{zgc9H-+R-u^0A-b^N(J^&T;!`byKg(#o)Uivvuu%S%=huth7mkhUjUIPF4D{2i zpn=%>TaUwxW!+EvIcVd}sZle%N1Mq#{7RVMjzJp({MTS{G16ZKn%k$=iy_w1$pZ2r z%&854^-x24;>_KajyOlN$#?U((5Pd^p7)V6EZ$ZtOT*O|BdA3(kju-9?A*us0rtba z4!@?&-z_~J+ zq@0VJpDl+UE8r8mKV5qZB0~_PBI?oW*IY7wn)K$oHLt3U7HHWZQh9j@HbL%hjNj9* ziOjDyq>Y-gG^r4{{SJ2{{V4~41Jn{NCRgliPUU`e-)M~4+spNJE7*E64_o` zl1TJ&it6=?Y*E11yLTM&0LCJ%=!IUU&1&;X;_}v4O!YIq+uhifJ%`U756ONRw1z;) zDKe;FDy2Y<6{&;z(==MWJKZvkNP0fj##2=lodkw<|8q(N~r*el?)C$)FAls7W zynhTWU2u`jzSjUJKbL%cP4J(beWAX__0*1^%(0XBTa0v{G1D1tO%XBqx=lujb1=~ii93Z7?2j97etB;fOSr%dQmqlLQUSg$GQ2U2oLK!Y@duV<4GLA1CR+H;-$^7xu^s!Qc$UC>_x>ve#9WJ)&vTj@OrIBT;wp`CV;cO69 zoBoUP#f_oMKGyPSi^c7`ACUY%rUt0qemXc~%(o`Vw2xkZ9dv?J& zH(2y$dnrl@WR;YS!di-IVmb6LFF!yJd|r_B&qvU*$xo*;UfK5vDv>2yYGMGUEXfpAT}cLxfy4QZ9-rJY31 z$}U63SC3J+@rGQVtNM38%wCd_cTA_9z^d`y#2#_MtveOOk?#bHSZ1H>eK4#PRnjVb z>Us!NwY|Y0p4Z?mA|L)HGO7f;nFg?!fpQL4B!l!!U6EB$%Ie-4rsK}p9@qEpk29R^ z9FhX@N#eOZi=WHBDa}d5HxoI&L=VwfWcfw7Z9ZWA)e1f_w30}}{gu=*I5yfciBzA< z4^$r!m0E%^CQZ>@Uzx|Su$l7en4`D+%s|EKRq+ASy(^N5#-Dns^iWx+iCK&NP5%H) zRvEv?W__1WJh>*Gq^qI;m4VAE0zENN)PgVl#D~-$(KJ*#OaA~RgW^9`=9<=7#-y6{ zy*R4Vz;UuysghRz0Mi<^zY~d4={nrvMt`zq8B_+|N1}Ma`EHOF`TAnJ%0Fn&QtBO} zkELl`pz+}uQs0kkGIbx~!{P&~StI3HK7gmwkUIu>l14I+JvTFOK7$ZR6-NxZo>v!g z1-f6v^!&1OWd*=V8$j!S(#q(g>0FZ;8FL{RZfzur-=7#;7fReF*|iNKf5{NNzGuEM zZbg!OOIFV(k6l5R!*XvdrH|8riB_HI&s8e3+C!@~`cdUu$J$O=328$5?cK-efG>-+ z4mv%6di|B4XimEPKXs|sr5SmD<7!%aToMsEKI4*cSL=OU)6Si0dc2=eYF0|9l_f}E zr3@JuapoZM4gGN))g3H?zdf1_Bd+r~D58Y~)j6jx;b!-W0^{M;UPc| z;6@oLy7SUnb_NrhOvC(JMk_4e;4Z36&R^YHysaJ1)t(EuA5eM6nODFKRP(pnb+hdB zNGZT?)SPNvamaiT=&CRv0TDR*{>pzR#E(niB(7gx{B~wu{`hOG_?_vnKf}oD9Fbxg zpaJ?}cAWj6I$EA}lQ7Qn9K}Z^8bE;lLlcT0gARJ0=6KkTuQt41 zK}^T_L|`A+5=^sAMO-{@+|fW!`A7O;-aP7>x~J_85Chu>R%^OyHQ1X#9@u*tFYgtb zsmGrG0Qli!M}SIlyuGL_9yLWCmbM(5Kcu2>;uXKPDt$@SfRZvs_CG8`n_J6WRdXRf zjta4j0`6G~yk4SWS~ORlajhVD%B8z{Vv_1UsD;C(;d90rv)yuORe*lO6wa#E(`J?1 zLy|A(aRjvujCT;`M(Iu7Rp-&1wvK$krYfw(u1+IOt(}A)Z-d-PQ9RIR%5v1 zL(o>r@n3Nm5A8=bsMBf2T@|TYtFrnhvXOD5KV(x# SjH*dEsQRa8SDQ@Si~rew_q0L) literal 0 HcmV?d00001 From ae57dcc1c7213b7a3295a3fe74fe4b40b57cdf66 Mon Sep 17 00:00:00 2001 From: Oleksandr Liutyi Date: Mon, 27 Oct 2025 17:58:16 +0200 Subject: [PATCH 088/137] new covers for CenKreChro --- models/Reference/Tiwaz--CenKreChro.jpg | Bin 34650 -> 78914 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/models/Reference/Tiwaz--CenKreChro.jpg b/models/Reference/Tiwaz--CenKreChro.jpg index f657dc131a825d752f5573a4aa7cf6d5346389b3..fd489e694768855b2f6f1bd4fecb3c519c44cfed 100644 GIT binary patch literal 78914 zcmb5VWmFtZ)HT{T!QEYgyL*73ArRc%-QC?ixFxu|2KV6Z?(Tu$d_$gfzxQ2t-9NWy zdb+C4KKn@3)J)a%ye+*RKFA006K6Sg1Jw2`YhsPCU>FDkX#fFaQ9t z2r5%6%SwsLeHH@%6~G*@1f4d3DL?|af=W(+8K|TLD!BssfCs4T062r>#-NfJU<+6Q zM*kPD4{Edf*Y+;81x)^-Z9#fQppqj9XA07MXE6TP<_M6G5CEc}nho&fU#lpH(*dw0 zAp{sfIB}3A2hi0HgmwUV0>b~Z^={exU(FC?-}ax6#{cSOAmlsh-GU)V@@~%@X%&LaV; zzxU&NKfKrU|K)@P#PQB+1j^!n{rSJy-lKZ=#T10G1^M-!4MqSCkOg5)|1p>YF8}oG z{voVE@j3y#AbvPN@gKh(DC6(-cW>XbqX@F)0n+%djTzL+4!D7&|CRnj=mYOO@9{hQ z!-;_`|5tk-E$?H&75Mtkx*;g)|8$H&Xrq5ozzOgGYydat!SfFx3euDS*>?oR zqyLZX-2*mIG#vlr!XS%w|MV4s&!E=#2;D#tytAwP^W;6V?|t^4o-t_L8-v&lK(^j7 z-#}73P>U7l`kwQ5)Vr_FAeR5P>>V%n5B)xl-pA@Y?|*r6`e&6D)MgFJ@H_G=Nc!Gu zR{uEvKi)@gE1-851UUHn6Ldg=o=~t*P>_&Na4;~?un2Gn2=H+5@Q6rgD2Pa?Nbv9| zSSYCI7?_xt2*}ttSQt2H7?>FEBw!FA9Z0ATP*5K*5aAIq{(m2DT>vU9H~< zs9+GNU~hc@A!zb}0RsbjpOF4Lz(F2D!@z<8A3$Oa6aX9y91;Q=0umYq5*7js6$~Ut z1)$JKp;?4s(8=WW?O`$eS>u1!V3La{bWdSXuo*aPT~dnXUSV@68af6f)P7)BO8o2; zghS0Gmj97c*(mUPUe7g%n*a;|CFOschJXZz0>D7VK~h0f01Ogte5wAG!C(#(E-|ae z=%_)T+fYgMc@eC;#7F$zO{N`;q@vw^|7YDPBmX4?ogz5Z#~-a1ogK)UNU2(Xu#Y<6 zEj}tX-lN)4`{z^SLv-9}-`&rrk#-#eZZ}CWE1Z9xe%+;m25Z4cr>7{TPP0Jh` zW?bf@J4-|0f8wa;v5lPOrEPSAxjj^;adgXhqeQ{7{6rXu|FDBZpQFI)YZQ5<#@&gI zvZ3D@FgLB-jc)Fqr}8r0b8r;I!81lc`$Zc0UhE>uFzs36K=BxZ2T51Xv8Fg#D!OwE zC)`9A)yr8!Hfo+0Q8Wt!9v|$`mHcL))k^+W113%RVuzn2CvE(ic#L6vX;c(qiu*!S!24Pt>CpDFGPK5>n8lF?(O8 zSd}sqVS;Yx%_qZ;UNl!(R=0D{l)7|E(-N{4=2$B9q@;ds-G}-3D{&+bJ2IDG=G?OW z1Se()_1!INhDlStTk;{yj#62Z!!`|2I<;ywc5IliKdewEgI+&S=sfAoiP%xk_~?cp zM>D$go;ze{L`aTZI`o%ibu{yQQ?vH>KNM^RqwXT1_gn#I(XLv6rX^HkW`r^OLB@{! zu!)Gieq!joP|e!8~QBizL|_|cyJI%@$mqX zX9Efh;k#l6J_2_6`brdzSpQwOm}@sUDqY`_e+T%e4ev@yA-~J@<0fUL>__l$hx2xc zimM*U#Z3W^ov4)+v=Iy3xQ4~sr>pLd_tc4g$t``o45GZ;?PCusgbOyNA8zsA00K|l zLauldC!hAqY)uyat2I+7?3P!xL{0HottX5yrwvGqnoeDQI>Bbjhd+(#t(t*|W`9av(uE?_mX!DiA`@4)B zdUGq90OOD+#F`=2`MD;xaM&>FLxD@~qwkG7zE%p4!gyulU6@2N*$Rv4&W#1|2fcE7 zX5O~>kf7zl#^lTxONwLs^Y%9YflJ9gS;0SzmTylx@^e&|w-wAzkZweDM_qt*HTN-I z3I|sq|M$O~jil}q)?RE0WpEM4YT9DIi_60qnv@|k3_fH&Yg`6{H)hUf#gbl64RN%) z06uQ01I#gJIR^Ma_OEoy8(dHx9NbN$LDT&NMkmJKc+R0}zTa#_wPhL&$Odn7`lm`q|4=|wO39MR-G z%!!ndFN*0DGUg=(4p>q!Bz+F}+i{~C4XY1nKew%#NTPH`L}hE41sJ7sG%tKq`Vn=n za0k?bF4mM3MByUWlT+cdJE&UrLbNs_?$KnUYYiy(3PvlSf=UpJ~psK`vga9qo;dm$=CTRY^5DEQI%J~ z`TP`qzRG}S2xaxqOHSClhU3lrGNs-cE@-UWdG=9YnYp3klh>JcT2bE{fHAS&j!2{_ zLSeb2Z(e`)vfs2dfl4sgB*;6860$AbjIq%ziH7{L}Ut<8`x=m7yiA~Gii?x6BUA!hAG00sV|UIq1MiqS?ZsFX#0 z(a0Pvpum6S$O?t@d)nkmL3LJibc?=W^<+eaTYe1_QTF6m5GIHf~*7b@RY zqMB>Ld$x0;#ShpU*W3wVu$(h75ZfIHjT;kS#s`LmCsAq@Vwx*N$!bS=?#9kB6xgPY zdU>OnIAxAU5gQHbj73|kwT-2v2CS#G#Hl6GauMPUa}t%C$SNJ&4+W=bY0gn*_O)h+ zQkNg@^6JyM_sx#X=q#ObX`#;y*ya7>sI@>V} zl?m!Myb*Xh_TQ$44Pz(|`8nymhE}%;Ib<5BlqzppUP?YV9<}u78EBVf!o+FqcA8a} zQ;4CuhI2eI{ZxJf&DV>!$N$p2brUeKHqx-8{Zk*Gj_2CUTo3Ywkd?!#&b>!T4Ux!5RVkC6L**z!v&G|QW z$kmL04ABm1D`V2&K26!!;}K)Rg9JE*42g?Ps4TffDB(tC%So>i^ zoE(HXtD^2N<@fNej+fSiHxv}R%-wI5TKu(8%fnI@E`Hs2hn&LVZa=a=E#JShuN}?KBkGMx#6c$RA~EW$u<9V6`qn+t$I=fS7HwPH zLsBsp`)m9(z`8Ky`Zzjp+_>jxqZa-heBR%vkZh|~kjKO`P?IR=Rsej0$6LlcWwr!) zBcajqtjJERIxzBJ!YwwG`kMNNT5p&%K67wQLl^TL0&)1<>toNoyfDV~-%cis+G1^4 za&f&MwvINRG}HP*Is~^M0u)7B0W;O@rzR- z$TV9cS{6}aL}O)VbH^>AioidBSzk>%t06vGM-ta&_uh2OEnB3Ula1865w|8XXMF*` z>j)BV#dq9=`pX@E_w%wd$3-dhM?KK*Rw=b+>K zaop%+h)C3gwTlDIQi-qK6jm%{p3J9;p?sWMVEt`QG-8J0wP81qbBH)x)4#YDNLMV; zc)&)tBTfxNx3^Mfp}3d*ShA#QoB1Uc5iKj9QK&qU=|8m(@d1pkM;$bRvmJzWuVbu|H?E~c zW2}4j1lNis;{M^)^hI}4)y>DQjqIj!*7TL_(I6IBGKTg$- z0i8|wNBydR`{Akv+fYV|;_(2beH6vH=@Hr=^3;;Ic}d{i!Ce&Y5J3hBDlC=HWu=3g zmpE-oQ}}1K`yC>FKc7n_s%`oX`BZYp4=Srl3ljWyB!3i5^GzQQItU-Pvlv`$7_1^L z#TxOXmRiURMnF-!oqSBqpP=Ig28k--Y@i2|?}@uPL@0%@U}k^grLD%U)u#;D?dXt~ zZ?992IYvCl%sI2Q9t+j}h%4>*1OPY|ITZa(KMJJWw1^QR6j7WKVBn8-4r(Vikh4;E zTaZ7@x`g(BKz2o|uMa73miP*Hwqee{7FK)nXRXH2uFC8gdF9x|OVHdnn|tR%BZal_ zLkW}373{}(3U}uAE7Y^5_S}2@tv^30sh8=0@hH3F3?IX+Xjh#?1a8^MtkoH{Ptv!q zNqBkCx_))=W-0<4`BZ)xIOBU_*0Bg3-E7@ESwU4Iju|RuI3u131?Hc=0Wpp~#PR9E zVw|bF_6Aqg2+_9+Ea--osFA+g9fdSc#-l1i4TzNV3TQUYVduW!EZ@KpTRa{5Gi4bK zwcIP|@X_t=OUO;S;wm;mK41yX9S%{jq^k>DWyBHj!GpI{Bm1qDP*q58!09u167A*~c@;lE z_` zB*ETU)!70V!(^0Qdu%qKMS#s%tez6f7OO>A5d%F4Z=iAdLmquGF{sbRtGeL4FA7X$ z(LN-YQiuL9QOay8t&KK!_W?olo~mA&k$ue3gPXoe>|++!TJq}U$zbMJiC%Sz3WdS8 zG-)#G)g5*h^S&ihX!|p5%kco|DI->n02TpX(ukp}9(qNxb~@dJ&K|owL1?KF=bDs* zX9gpc9ZLjdbmxkcTMTOjA zZD-LHB!;2B2mUNAgADdF_yB_mjeuwczb!=+CWclGXCr)sQAxOQc+!r(-LMT3$xHne zKMxn&oB~BRT~W+oTVs3Eb+4~uSRme29h>PLCM zKj*4X&VS2TSHqvKHk)y;pRY!A9V3lJ{5BsP5A6NotB+0soi?&+#<=#Pbt082I4lj> zymY=&5Flou^ii|~^PB#D$=PKon$GlhoWOP6L1gGw|K0fp6wr9Q0j{rZ+gB2^M5In` z(aedjq4a9%^(T!B4Uf7b1m?E@y~{N>H#LgIFYhu8#Fj^Q>j|JZOrksi7JT>23Wtdd zxK^+kZ{;25`#LVG{e2*?Rp;6xZ9MgdE~kLhVVM)fH026#$BQvAW^ zEPHtadXfGlRX_7R3x1oQ?#r1*7?mJnW4Kis{#ChdiKl7HVpD{HC9xuhv-|uxtRnLUfNE#_p6GVo^%@PV3~7xI9T|1bI4d$pHrxr zL?V-Dn-U>pnCRv~G4|xHp3ALKZwKXZ_sgRGG+zX{G%;OaT~$aE_1a@=<3D~<)4S@6 zU?WvBn3wKc&db62bu2H~j3eXAJN=QDgDVoK_6s;BOE$jBga-NGwb+tajEAAhbX(xZ zq7GbK1b_SZwzjiq1j)Ix(@7M#Q<#;Mmxrk|HAk#IwLDP7d_A5EQu89W=ax}{>(x5u zY7e%!`?}a zXi5^lU*ZmlM=^d_TN~w^BK*|&(rKyU$!fhszFUc zchBYIfEhpjHH>ldeOW+r2F+;`>6QQdBJH^^p}J$6ePqM9osmA@2RF5=+TnbM8Dfc}Hj&K2Ir> z@+b71*uv_4o$_!01+f=F)>PNAaGw%%Lx00PR`)q3S@723@%RDFBM84nvb!3v-EMf) z|5)8#P|#(0)-Yr6F%~i0ay$5f^p||0aei!#+SZnCSSoe;2qA~FF~z5|AtPmCyGEER z)9+&v%WVxY`Q5r=knvKM(9>|tk0^rAN@<+7iisxQ)3WH(ElLX2x8pMIzXyD{x&1q^ z5WA+WK(x4&E~SelQv!++Dv0Bu zj-AM>#K5YEu6+EYVGt)h`y0iFhqq3lDHGe`s}#ROo~1V=4Vk!9MfADIl|-i zTSF|`ml|&Lo*ea;y-Pbi_%znsuIH!;?Hlmwk{3^Sb8)cEo$6w{yzafkyAMNZp`6fQ zpiWen)7}`ZGX0_YNh0eCAz4wL?)NC)-KZ5q{5T(`Xjs1lBN8nB2^+_g z^nyU3eTVR}t4aJN6-vE>%1rNdNV3ZG9Q$S<{(uetm+IGHzc*=U1?PKX?fLA>H{Nc^D-5xV_aVygXZqNxWQr+Bp;uEpPDJ|$KY`Kcibht%k`RmD1J zKkSV6O5!*H?C`0MkwcEr2^G2_p}LQ{L!$87RQOq)wN|!76hz^6Z9Q7JIG-3n`-yhq|}_(aeDeGx4cIm%gJWaN`jr&n@c!7T`#v0 zTShgR>2v!rql{O#>fem zi}I{ne3ANv3hFPY#+AKb6f4kXU6K?auZg-paW*4%P7p9PE^hJ4g1Zh}SD0w=n6PC6F#0o#q^dskju`uPHd+{V{;6Lyn)6?&-1v_dF4? zJ4|y!5r9D{=kl0O_FOT8ac4*n$2Mx3pofu#R?tn36?b}G7#OAbr=2FDt)#fP*rj8< z2~MC!_uw0HLJ6&tIrKcv=KA%~Dq$zbN&M&et+d3s3c)s|-kOUr?B50tGUvZ?B}rgf zlw;LM{!nEvwp_mf;Wl{bS$`I02AT0GijU>CtPCtXoRyiH_1vR)r>7_`L#2$GAse47 zB15+G!|RbEGhLBGQ5?A~8vD6yTOc3I)5?lvj`M3P#9~*)5w>(zuCqx;`l87OnJF;U zRaQLEqomEos~|_Vv7v%5{43Sz?i19y$u=t&`UX+I%Zs`~`FHtoXx7o5VZj}mm@;e` z8vY>c2>o#Uq&8fPV5uli)l)`mrLI{r�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 NFZ4IYj>{>3|Jhe%Q>6d^ literal 34650 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 X_cWUtM#5fg>Y&z0nC>Gqg2(^a{BKNK From 5ab9a5a15d6ab7de380d0d48c56e195a3ad84fc0 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Oct 2025 14:20:08 -0400 Subject: [PATCH 089/137] add sota model loader: runai streamer Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 3 ++ TODO.md | 1 + installer.py | 2 + modules/sd_hijack_safetensors.py | 50 +++++++++++++++++++ modules/sd_models.py | 82 ++++++++++++++++++++++++-------- modules/sdnq/file_loader.py | 54 +++++++++++++++++++++ modules/sdnq/loader.py | 17 ++----- modules/shared.py | 1 + 8 files changed, 177 insertions(+), 33 deletions(-) create mode 100644 modules/sd_hijack_safetensors.py create mode 100644 modules/sdnq/file_loader.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 73a2986f8..9611ca28a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,9 @@ - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is *note*: must be enabled only after all packages have been installed and model has been run online at least once + - **model load**: SOTA method using nVidia's [Run:ai streamer](https://github.com/run-ai/runai-model-streamer) + enable in *settings -> model options -> runai streamer* + applies to *diffusers, transformers and sdnq* loaders - **Backend** - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies diff --git a/TODO.md b/TODO.md index 226f295a3..1163be757 100644 --- a/TODO.md +++ b/TODO.md @@ -33,6 +33,7 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma ### New models +- [Chroma1 Radiance](https://huggingface.co/lodestones/Chroma1-Radiance) - [Ovi](https://github.com/character-ai/Ovi) - [Bytedance Lynx](https://github.com/bytedance/lynx) - [Phantom HuMo](https://github.com/Phantom-video/Phantom) diff --git a/installer.py b/installer.py index 91649c596..795cc9f24 100644 --- a/installer.py +++ b/installer.py @@ -1371,6 +1371,8 @@ def set_environment(): os.environ.setdefault('UV_INDEX_STRATEGY', 'unsafe-any-match') os.environ.setdefault('UV_NO_BUILD_ISOLATION', '1') os.environ.setdefault('UVICORN_TIMEOUT_KEEP_ALIVE', '60') + os.environ.setdefault('RUNAI_STREAMER_CHUNK_BYTESIZE', '2097152') + os.environ.setdefault('RUNAI_STREAMER_MEMORY_LIMIT', '-1') allocator = f'garbage_collection_threshold:{opts.get("torch_gc_threshold", 80)/100:0.2f},max_split_size_mb:512' if opts.get("torch_malloc", "native") == 'cudaMallocAsync': allocator += ',backend:cudaMallocAsync' diff --git a/modules/sd_hijack_safetensors.py b/modules/sd_hijack_safetensors.py new file mode 100644 index 000000000..4dd435d15 --- /dev/null +++ b/modules/sd_hijack_safetensors.py @@ -0,0 +1,50 @@ +import os +import safetensors.torch +import transformers +from installer import install, log + + +orig_load_file = safetensors.torch.load_file +orig_load_state_dict = transformers.modeling_utils.load_state_dict + + +def hijacked_load_file(checkpoint_file, device="cpu"): + if not checkpoint_file.endswith('.safetensors'): + return orig_load_file(checkpoint_file, device=device) + + install('runai_model_streamer') + log.trace(f'Loader: method=runai chunk={os.environ["RUNAI_STREAMER_CHUNK_BYTESIZE"]} limit={os.environ["RUNAI_STREAMER_MEMORY_LIMIT"]} device={device}') + state_dict = {} + from runai_model_streamer import SafetensorsStreamer + with SafetensorsStreamer() as streamer: + streamer.stream_file(checkpoint_file) + for key, tensor in streamer.get_tensors(): + state_dict[key] = tensor.to(device) + + return state_dict + + +def hijacked_load_state_dict(checkpoint_file, is_quantized: bool = False, map_location: str = "cpu", weights_only: bool = True): + if not checkpoint_file.endswith(".safetensors"): + return orig_load_state_dict(checkpoint_file=checkpoint_file, is_quantized=is_quantized, map_location=map_location, weights_only=weights_only) + + install('runai_model_streamer') + log.trace(f'Loader: method=runai chunk={os.environ["RUNAI_STREAMER_CHUNK_BYTESIZE"]} limit={os.environ["RUNAI_STREAMER_MEMORY_LIMIT"]} device={map_location} quantized={is_quantized}') + state_dict = {} + from runai_model_streamer import SafetensorsStreamer + with SafetensorsStreamer() as streamer: + streamer.stream_file(checkpoint_file) + for key, tensor in streamer.get_tensors(): + state_dict[key] = tensor.to(map_location) if map_location != "meta" else tensor + + return state_dict + + +def hijack_safetensors(): + safetensors.torch.load_file = hijacked_load_file + transformers.modeling_utils.load_state_dict = hijacked_load_state_dict + + +def restore_safetensors(): + safetensors.torch.load_file = orig_load_file + transformers.modeling_utils.load_state_dict = orig_load_state_dict diff --git a/modules/sd_models.py b/modules/sd_models.py index f5f1059cd..1a5a62e09 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -10,7 +10,7 @@ import diffusers.loaders.single_file_utils import torch import huggingface_hub as hf from installer import log -from modules import timer, paths, shared, shared_items, modelloader, devices, script_callbacks, sd_vae, sd_unet, errors, sd_models_compile, sd_hijack_accelerate, sd_detect, model_quant, sd_hijack_te +from modules import timer, paths, shared, shared_items, modelloader, devices, script_callbacks, sd_vae, sd_unet, errors, sd_models_compile, sd_detect, model_quant, sd_hijack_te, sd_hijack_accelerate, sd_hijack_safetensors from modules.memstats import memory_stats from modules.modeldata import model_data from modules.sd_checkpoint import CheckpointInfo, select_checkpoint, list_models, checkpoints_list, checkpoint_titles, get_closest_checkpoint_match, model_hash, update_model_hashes, setup_model, write_metadata, read_metadata_from_safetensors # pylint: disable=unused-import @@ -62,6 +62,10 @@ def set_huggingface_options(): sd_hijack_accelerate.hijack_accelerate() else: sd_hijack_accelerate.restore_accelerate() + if shared.opts.runai_streamer: + sd_hijack_safetensors.hijack_safetensors() + else: + sd_hijack_safetensors.restore_safetensors() def set_vae_options(sd_model, vae=None, op:str='model', quiet:bool=False): @@ -543,26 +547,67 @@ def load_diffuser_file(model_type, pipeline, checkpoint_info, diffusers_load_con return sd_model -def load_sdnq_model(checkpoint_info, pipeline, diffusers_load_config, op): +def load_sdnq_module(fn: str, module_name: str, load_method: str): from modules import sdnq + t0 = time.time() + quantization_config_path = os.path.join(fn, module_name, 'quantization_config.json') + if not os.path.exists(quantization_config_path): + return None, module_name, 0 + model_name = os.path.join(fn, module_name) + quantization_config = shared.readfile(quantization_config_path, silent=True) + try: + module = sdnq.load_sdnq_model( + model_path=model_name, + quantization_config=quantization_config, + device=devices.device if shared.opts.diffusers_to_gpu else devices.cpu, + dtype=devices.dtype, + load_method=load_method, + ) + t1 = time.time() + return module, module_name, t1 - t0 + except Exception as e: + shared.log.error(f'Load sdnq: model="{fn}" module="{module_name}" {e}') + errors.display(e, 'Load') + return None, module_name, 0 + + +def load_sdnq_model(checkpoint_info, pipeline, diffusers_load_config, op): modules = {} + global allow_post_quant # pylint: disable=global-statement + allow_post_quant = False + t0 = time.time() + + if shared.opts.runai_streamer: + load_method = 'streamer' + from installer import install + install('runai_model_streamer') + shared.log.trace(f'Loader: method={load_method} chunk={os.environ["RUNAI_STREAMER_CHUNK_BYTESIZE"]} limit={os.environ["RUNAI_STREAMER_MEMORY_LIMIT"]}') + elif shared.opts.sd_parallel_load: + load_method = 'threaded' + else: + load_method = 'safetensors' + for module_name in os.listdir(checkpoint_info.path): - quantization_config_path = os.path.join(checkpoint_info.path, module_name, 'quantization_config.json') - if not os.path.exists(quantization_config_path): - continue - model_name = os.path.join(checkpoint_info.path, module_name) - quantization_config = shared.readfile(quantization_config_path, silent=True) - shared.log.debug(f'Load {op}: model="{checkpoint_info.name}" module="{module_name}" direct={shared.opts.diffusers_to_gpu} prequant=sdnq') - try: - modules[module_name] = sdnq.load_sdnq_model( - model_path=model_name, - quantization_config=quantization_config, - device=devices.device if shared.opts.diffusers_to_gpu else devices.cpu, - dtype=devices.dtype, - ) - except Exception as e: - shared.log.error(f'Load {op}: model="{checkpoint_info.name}" module="{module_name}" {e}') - errors.display(e, 'Load') + module, name, t = load_sdnq_module(checkpoint_info.path, module_name, load_method=load_method) + if module is not None: + modules[name] = module + shared.log.debug(f'Load {op}: module="{checkpoint_info.name}" module="{name}" direct={shared.opts.diffusers_to_gpu} prequant=sdnq method={load_method} time={t:.2f}') + + """ + futures = [] + import concurrent.futures + with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor: + for module_name in os.listdir(checkpoint_info.path): + future = executor.submit(load_sdnq_module, checkpoint_info.path, module_name) + futures.append(future) + for future in futures: + loaded_module, name, t = future.result() + if loaded_module is not None: + shared.log.debug(f'Load module: model="{checkpoint_info.name}" module="{name}" direct={shared.opts.diffusers_to_gpu} prequant=sdnq time={t:.2f}') + modules[name] = loaded_module + """ + t1 = time.time() + shared.log.debug(f'Load {op}: model="{checkpoint_info.name}" modules={list(modules.keys())} prequant=sdnq time={t1-t0:.2f}') sd_model = pipeline.from_pretrained( checkpoint_info.path, cache_dir=shared.opts.diffusers_dir, @@ -714,7 +759,6 @@ def load_diffuser(checkpoint_info=None, op='model', revision=None): # pylint: di if sd_model is None: if model_type.endswith('SDNQ'): sd_model = load_sdnq_model(checkpoint_info, pipeline, diffusers_load_config, op) - allow_post_quant = False model_type = model_type.replace(' SDNQ', '') # load from single-file diff --git a/modules/sdnq/file_loader.py b/modules/sdnq/file_loader.py new file mode 100644 index 000000000..c026d015b --- /dev/null +++ b/modules/sdnq/file_loader.py @@ -0,0 +1,54 @@ +import re +import concurrent.futures +import torch + + +def map_keys(key: str, key_mapping: dict) -> str: + new_key = key + if key_mapping: + for pattern, replacement in key_mapping.items(): + new_key, n_replace = re.subn(pattern, replacement, new_key) + if n_replace > 0: + break + return new_key + + +def load_safetensors(files: list[str], state_dict: dict, key_mapping: dict = None, device: torch.device = "cpu") -> dict: + from safetensors.torch import safe_open + for fn in files: + with safe_open(fn, framework="pt", device=str(device)) as f: + for key in f.keys(): + state_dict[map_keys(key, key_mapping)] = f.get_tensor(key) + + +def load_threaded(files: list[str], key_mapping: dict = None, device: torch.device = "cpu", state_dict: dict = {}) -> dict: + future_items = {} + with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor: + for fn in files: + future_items[executor.submit(load_safetensors, [fn], key_mapping=key_mapping, device=device, state_dict=state_dict)] = fn + for future in concurrent.futures.as_completed(future_items): + future.result() + + +def load_streamer(files: list[str], state_dict: dict, key_mapping: dict = None, device: torch.device = "cpu") -> dict: + # requires pip install runai_model_streamer + from runai_model_streamer import SafetensorsStreamer + with SafetensorsStreamer() as streamer: + streamer.stream_files(files) + for key, tensor in streamer.get_tensors(): + state_dict[map_keys(key, key_mapping)] = tensor.to(device) + + +def load_files(files: list[str], method: str = None, key_mapping: dict = None, device: torch.device = "cpu") -> dict: + # note: files is list-of-files within a module for chunked loading, not accross model + method = method or 'safetensors' + state_dict = {} + if method == 'safetensors': + load_safetensors(files, key_mapping=key_mapping, device=device, state_dict=state_dict) + elif method == 'threaded': + load_threaded(files, key_mapping=key_mapping, device=device, state_dict=state_dict) + elif method == 'streamer': + load_streamer(files, key_mapping=key_mapping, device=device, state_dict=state_dict) + else: + raise ValueError(f"Unsupported loading method: {method}") + return state_dict diff --git a/modules/sdnq/loader.py b/modules/sdnq/loader.py index bdf7e986d..749af9fb4 100644 --- a/modules/sdnq/loader.py +++ b/modules/sdnq/loader.py @@ -1,5 +1,4 @@ import os -import re import json import torch from diffusers.models.modeling_utils import ModelMixin @@ -7,6 +6,7 @@ from .common import dtype_dict, use_tensorwise_fp8_matmul, use_contiguous_mm from .quantizer import SDNQConfig, sdnq_post_load_quant from .dequantizer import dequantize_symmetric, re_quantize_int8, re_quantize_fp8 from .forward import get_forward_func +from .file_loader import load_files def get_module_names(model: ModelMixin) -> list: @@ -63,9 +63,8 @@ def save_sdnq_model(model: ModelMixin, model_path: str, max_shard_size: str = "1 model.config.quantization_config.to_json_file(quantization_config_path) -def load_sdnq_model(model_path: str, model_cls: ModelMixin = None, file_name: str = None, dtype: torch.dtype = None, device: torch.device = "cpu", dequantize_fp32: bool = None, use_quantized_matmul: bool = None, model_config: dict = None, quantization_config: dict = None) -> ModelMixin: +def load_sdnq_model(model_path: str, model_cls: ModelMixin = None, file_name: str = None, dtype: torch.dtype = None, device: torch.device = "cpu", dequantize_fp32: bool = None, use_quantized_matmul: bool = None, model_config: dict = None, quantization_config: dict = None, load_method: str = 'safetensors') -> ModelMixin: from accelerate import init_empty_weights - from safetensors.torch import safe_open with init_empty_weights(): if quantization_config is None: @@ -112,7 +111,6 @@ def load_sdnq_model(model_path: str, model_cls: ModelMixin = None, file_name: st model = sdnq_post_load_quant(model, add_skip_keys=False, **quantization_config) key_mapping = getattr(model, "_checkpoint_conversion_mapping", None) - state_dict = {} files = [] if file_name: @@ -121,16 +119,7 @@ def load_sdnq_model(model_path: str, model_cls: ModelMixin = None, file_name: st all_files = os.listdir(model_path) files = sorted([os.path.join(model_path, f) for f in all_files if f.endswith(".safetensors")]) - for fn in files: - with safe_open(fn, framework="pt", device=str(device)) as f: - for key in f.keys(): - new_key = key - if key_mapping: - for pattern, replacement in key_mapping.items(): - new_key, n_replace = re.subn(pattern, replacement, new_key) - if n_replace > 0: - break - state_dict[new_key] = f.get_tensor(key) + state_dict = load_files(files, key_mapping=key_mapping, device=device, method=load_method) if model.__class__.__name__ in {"T5EncoderModel", "UMT5EncoderModel"} and "encoder.embed_tokens.weight" not in state_dict.keys(): state_dict["encoder.embed_tokens.weight"] = state_dict["shared.weight"] diff --git a/modules/shared.py b/modules/shared.py index 0ebbd7e0c..4c79f0749 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -151,6 +151,7 @@ options_templates.update(options_section(('sd', "Model Loading"), { "sd_parallel_load": OptionInfo(True, "Model load using multiple threads"), "sd_checkpoint_autodownload": OptionInfo(True, "Model auto-download on demand"), "stream_load": OptionInfo(False, "Model load using streams", gr.Checkbox), + "runai_streamer": OptionInfo(False, "Model load using Run:ai streamer", gr.Checkbox), "diffusers_to_gpu": OptionInfo(False, "Model load model direct to GPU"), "diffusers_eval": OptionInfo(False, "Force model eval", gr.Checkbox, {"visible": True }), "device_map": OptionInfo('default', "Model load device map", gr.Radio, {"choices": ['default', 'gpu', 'cpu'] }), From a830c0a7e0fc26e3812844add27c013202f552c7 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Mon, 27 Oct 2025 21:32:52 +0300 Subject: [PATCH 090/137] cleanup --- modules/sdnq/file_loader.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/modules/sdnq/file_loader.py b/modules/sdnq/file_loader.py index c026d015b..5a5796e6b 100644 --- a/modules/sdnq/file_loader.py +++ b/modules/sdnq/file_loader.py @@ -13,16 +13,20 @@ def map_keys(key: str, key_mapping: dict) -> str: return new_key -def load_safetensors(files: list[str], state_dict: dict, key_mapping: dict = None, device: torch.device = "cpu") -> dict: +def load_safetensors(files: list[str], state_dict: dict = None, key_mapping: dict = None, device: torch.device = "cpu") -> dict: from safetensors.torch import safe_open + if state_dict is None: + state_dict = {} for fn in files: with safe_open(fn, framework="pt", device=str(device)) as f: for key in f.keys(): state_dict[map_keys(key, key_mapping)] = f.get_tensor(key) -def load_threaded(files: list[str], key_mapping: dict = None, device: torch.device = "cpu", state_dict: dict = {}) -> dict: +def load_threaded(files: list[str], state_dict: dict = None, key_mapping: dict = None, device: torch.device = "cpu") -> dict: future_items = {} + if state_dict is None: + state_dict = {} with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor: for fn in files: future_items[executor.submit(load_safetensors, [fn], key_mapping=key_mapping, device=device, state_dict=state_dict)] = fn @@ -30,25 +34,29 @@ def load_threaded(files: list[str], key_mapping: dict = None, device: torch.devi future.result() -def load_streamer(files: list[str], state_dict: dict, key_mapping: dict = None, device: torch.device = "cpu") -> dict: +def load_streamer(files: list[str], state_dict: dict = None, key_mapping: dict = None, device: torch.device = "cpu") -> dict: # requires pip install runai_model_streamer from runai_model_streamer import SafetensorsStreamer + if state_dict is None: + state_dict = {} with SafetensorsStreamer() as streamer: streamer.stream_files(files) for key, tensor in streamer.get_tensors(): state_dict[map_keys(key, key_mapping)] = tensor.to(device) -def load_files(files: list[str], method: str = None, key_mapping: dict = None, device: torch.device = "cpu") -> dict: +def load_files(files: list[str], state_dict: dict = None, key_mapping: dict = None, device: torch.device = "cpu", method: str = None) -> dict: # note: files is list-of-files within a module for chunked loading, not accross model - method = method or 'safetensors' - state_dict = {} + if method is None: + method = 'safetensors' + if state_dict is None: + state_dict = {} if method == 'safetensors': - load_safetensors(files, key_mapping=key_mapping, device=device, state_dict=state_dict) + load_safetensors(files, state_dict=state_dict, key_mapping=key_mapping, device=device) elif method == 'threaded': - load_threaded(files, key_mapping=key_mapping, device=device, state_dict=state_dict) + load_threaded(files, state_dict=state_dict, key_mapping=key_mapping, device=device) elif method == 'streamer': - load_streamer(files, key_mapping=key_mapping, device=device, state_dict=state_dict) + load_streamer(files, state_dict=state_dict, key_mapping=key_mapping, device=device) else: raise ValueError(f"Unsupported loading method: {method}") return state_dict From 9308a28c9d285743f539c86ba9baf2ad55a66193 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Oct 2025 14:39:22 -0400 Subject: [PATCH 091/137] split diffusers/transformers safetensors patch Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 16 +++++++++------- modules/sd_hijack_safetensors.py | 8 +++++--- modules/sd_models.py | 4 ++-- modules/shared.py | 3 ++- pipelines/generic.py | 10 +++++----- 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9611ca28a..54f657e57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,12 +12,13 @@ ### Details for 2025-10-26 - **Reference** networks section is now split into actual *Base* models plus: - - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage - examples: *FLUX.1-Dev/Krea/Kontext/Schnell, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* - - **Distilled**: distilled variants of base models - examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* - - **Community**: community highlights - examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* + **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage + examples: *FLUX.1-Dev/Krea/Kontext/Schnell, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* + **Distilled**: distilled variants of base models + examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* + **Community**: community highlights + examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* + and all reference models have new preview images, thanks @liutyi - **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE @@ -28,8 +29,9 @@ enables fully offline mode where previously downloaded models can be used as-is *note*: must be enabled only after all packages have been installed and model has been run online at least once - **model load**: SOTA method using nVidia's [Run:ai streamer](https://github.com/run-ai/runai-model-streamer) - enable in *settings -> model options -> runai streamer* + enable in *settings -> model options -> runai streamer* applies to *diffusers, transformers and sdnq* loaders + *experimental* but shows significant model load speedups - **Backend** - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies diff --git a/modules/sd_hijack_safetensors.py b/modules/sd_hijack_safetensors.py index 4dd435d15..e8f775c5b 100644 --- a/modules/sd_hijack_safetensors.py +++ b/modules/sd_hijack_safetensors.py @@ -40,9 +40,11 @@ def hijacked_load_state_dict(checkpoint_file, is_quantized: bool = False, map_lo return state_dict -def hijack_safetensors(): - safetensors.torch.load_file = hijacked_load_file - transformers.modeling_utils.load_state_dict = hijacked_load_state_dict +def hijack_safetensors(_diffusers: bool = True, _transformers: bool = True): + if _diffusers: + safetensors.torch.load_file = hijacked_load_file + if _transformers: + transformers.modeling_utils.load_state_dict = hijacked_load_state_dict def restore_safetensors(): diff --git a/modules/sd_models.py b/modules/sd_models.py index 1a5a62e09..9f31f61f2 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -62,8 +62,8 @@ def set_huggingface_options(): sd_hijack_accelerate.hijack_accelerate() else: sd_hijack_accelerate.restore_accelerate() - if shared.opts.runai_streamer: - sd_hijack_safetensors.hijack_safetensors() + if shared.opts.runai_streamer_diffusers or shared.opts.runai_streamer_transformers: + sd_hijack_safetensors.hijack_safetensors(shared.opts.runai_streamer_diffusers, shared.opts.runai_streamer_transformers) else: sd_hijack_safetensors.restore_safetensors() diff --git a/modules/shared.py b/modules/shared.py index 4c79f0749..2f5b3c288 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -151,8 +151,9 @@ options_templates.update(options_section(('sd', "Model Loading"), { "sd_parallel_load": OptionInfo(True, "Model load using multiple threads"), "sd_checkpoint_autodownload": OptionInfo(True, "Model auto-download on demand"), "stream_load": OptionInfo(False, "Model load using streams", gr.Checkbox), - "runai_streamer": OptionInfo(False, "Model load using Run:ai streamer", gr.Checkbox), "diffusers_to_gpu": OptionInfo(False, "Model load model direct to GPU"), + "runai_streamer_diffusers": OptionInfo(False, "Diffusers load using Run:ai streamer", gr.Checkbox), + "runai_streamer_transformers": OptionInfo(False, "Transformers load using Run:ai streamer", gr.Checkbox), "diffusers_eval": OptionInfo(False, "Force model eval", gr.Checkbox, {"visible": True }), "device_map": OptionInfo('default', "Model load device map", gr.Radio, {"choices": ['default', 'gpu', 'cpu'] }), "disable_accelerate": OptionInfo(False, "Disable accelerate", gr.Checkbox, {"visible": False }), diff --git a/pipelines/generic.py b/pipelines/generic.py index 430ee34bc..10fb5bc65 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -118,7 +118,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder text_encoder = model_quant.do_post_load_quant(text_encoder, allow=quant_type is not None) # load from local file safetensors elif local_file is not None and local_file.lower().endswith('.safetensors'): - shared.log.debug(f'Load model: text_encoder="{local_file}" cls={cls_name.__name__} quant="{quant_type}" args={load_args}') + shared.log.debug(f'Load model: text_encoder="{local_file}" cls={cls_name.__name__} quant="{quant_type}"') from modules import model_te text_encoder = model_te.load_t5(local_file) text_encoder = model_quant.do_post_load_quant(text_encoder, allow=quant_type is not None) @@ -128,7 +128,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder import nunchaku repo_id = 'nunchaku-tech/nunchaku-t5/awq-int4-flux.1-t5xxl.safetensors' cls_name = nunchaku.NunchakuT5EncoderModel - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="SVDQuant" args={load_args}') + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="SVDQuant"') text_encoder = nunchaku.NunchakuT5EncoderModel.from_pretrained( repo_id, torch_dtype=dtype, @@ -142,7 +142,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder repo_id = 'Disty0/t5-xxl' with open(os.path.join('configs', 'flux', 'text_encoder_2', 'config.json'), encoding='utf8') as f: load_args['config'] = transformers.T5Config(**json.load(f)) - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5} args={load_args}') + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') if dtype is not None: load_args['torch_dtype'] = dtype text_encoder = cls_name.from_pretrained( @@ -155,7 +155,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder if shared.opts.te_shared_t5: repo_id = 'hunyuanvideo-community/HunyuanImage-2.1-Diffusers' subfolder = 'text_encoder' - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5} args={load_args}') + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') if dtype is not None: load_args['torch_dtype'] = dtype text_encoder = cls_name.from_pretrained( @@ -168,7 +168,7 @@ def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder # load from repo if text_encoder is None: - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5} args={load_args}') + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') if dtype is not None: load_args['torch_dtype'] = dtype if subfolder is not None: From e6af602c0d59acbb8b7dbbf018f0d7eb2adf64c0 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Mon, 27 Oct 2025 21:40:18 +0300 Subject: [PATCH 092/137] handle files = str case --- modules/sdnq/file_loader.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/sdnq/file_loader.py b/modules/sdnq/file_loader.py index 5a5796e6b..42edba0f9 100644 --- a/modules/sdnq/file_loader.py +++ b/modules/sdnq/file_loader.py @@ -47,6 +47,8 @@ def load_streamer(files: list[str], state_dict: dict = None, key_mapping: dict = def load_files(files: list[str], state_dict: dict = None, key_mapping: dict = None, device: torch.device = "cpu", method: str = None) -> dict: # note: files is list-of-files within a module for chunked loading, not accross model + if isinstance(files, str): + files = [files] if method is None: method = 'safetensors' if state_dict is None: From fbd24c290a7e167a6a09f701f15679e043c4d5be Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Oct 2025 15:28:18 -0400 Subject: [PATCH 093/137] experiments with repa-e Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 3 ++- installer.py | 2 +- modules/processing.py | 3 +++ modules/processing_info.py | 2 ++ modules/processing_vae.py | 24 +++++++++++++++--------- modules/sd_vae_repa.py | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 55 insertions(+), 11 deletions(-) create mode 100644 modules/sd_vae_repa.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 54f657e57..9415184ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation - New **Tencent HunyuanImage 2.1** model capable of generating 2K images natively - New **offline mode** to use previously downloaded models without internet connection +- New SOTA model loader using **Run:ai** - Fixes, fixes, fixes... too many to list here! ### Details for 2025-10-26 @@ -31,7 +32,7 @@ - **model load**: SOTA method using nVidia's [Run:ai streamer](https://github.com/run-ai/runai-model-streamer) enable in *settings -> model options -> runai streamer* applies to *diffusers, transformers and sdnq* loaders - *experimental* but shows significant model load speedups + *experimental* but shows significant model load speedups, 20-40% depending on model and hardware - **Backend** - switch to `torch==2.9` for *ipex, rocm and openvino* - switch to `rocm==7.0` for nightlies diff --git a/installer.py b/installer.py index 795cc9f24..dd5a89360 100644 --- a/installer.py +++ b/installer.py @@ -613,7 +613,7 @@ def check_diffusers(): t_start = time.time() if args.skip_all: return - sha = '7536f647e4144c7acaf9e140893ff7edb85bf9a3' # diffusers commit hash + sha = '6d1a6486024192951ce696e8f4cf79a39509182f' # diffusers commit hash # if args.use_rocm or args.use_zluda or args.use_directml: # sha = '043ab2520f6a19fce78e6e060a68dbc947edb9f9' # lock diffusers versions for now pkg = pkg_resources.working_set.by_key.get('diffusers', None) diff --git a/modules/processing.py b/modules/processing.py index e1e3944bd..2e732ca77 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -163,6 +163,9 @@ def process_images(p: StableDiffusionProcessing) -> Processed: if p.override_settings.get('sd_vae', None) == 'TAESD': p.vae_type = 'Tiny' p.override_settings.pop('sd_vae', None) + if p.override_settings.get('sd_vae', None) == 'REPA-E': + p.vae_type = 'Repa' + p.override_settings.pop('sd_vae', None) if p.override_settings.get('Hires upscaler', None) is not None: p.enable_hr = True if len(p.override_settings.keys()) > 0: diff --git a/modules/processing_info.py b/modules/processing_info.py index 54b4d7b7d..129595408 100644 --- a/modules/processing_info.py +++ b/modules/processing_info.py @@ -78,6 +78,8 @@ def create_infotext(p: StableDiffusionProcessing, all_prompts=None, all_seeds=No args["VAE"] = (None if not shared.opts.add_model_name_to_info or sd_vae.loaded_vae_file is None else os.path.splitext(os.path.basename(sd_vae.loaded_vae_file))[0]) elif p.vae_type == 'Tiny': args["VAE"] = 'TAESD' + elif p.vae_type == 'REPA-E': + args["VAE"] = 'REPA-E' elif p.vae_type == 'Remote': args["VAE"] = 'Remote' if grid is None and (p.n_iter > 1 or p.batch_size > 1) and index >= 0: diff --git a/modules/processing_vae.py b/modules/processing_vae.py index 270c194d7..ab2ea085e 100644 --- a/modules/processing_vae.py +++ b/modules/processing_vae.py @@ -275,15 +275,6 @@ def vae_decode(latents, model, output_type='np', vae_type='Full', width=None, he if latents is None or not torch.is_tensor(latents): # already decoded return latents - if vae_type == 'Remote': - jobid = shared.state.begin('Remote VAE') - from modules.sd_vae_remote import remote_decode - tensors = remote_decode(latents=latents, width=width, height=height) - shared.state.end(jobid) - if tensors is not None and len(tensors) > 0: - return vae_postprocess(tensors, model, output_type) - - jobid = shared.state.begin('VAE Decode') if latents.shape[0] == 0: shared.log.error(f'VAE nothing to decode: {latents.shape}') return [] @@ -293,6 +284,21 @@ def vae_decode(latents, model, output_type='np', vae_type='Full', width=None, he shared.log.error('VAE not found in model') return [] + if vae_type == 'Remote': + jobid = shared.state.begin('Remote VAE') + from modules.sd_vae_remote import remote_decode + tensors = remote_decode(latents=latents, width=width, height=height) + shared.state.end(jobid) + if tensors is not None and len(tensors) > 0: + return vae_postprocess(tensors, model, output_type) + if vae_type == 'Repa': + from modules.sd_vae_repa import repa_load + vae = repa_load(latents) + vae_type = 'Full' + if vae is not None: + model.vae = vae + + jobid = shared.state.begin('VAE Decode') if hasattr(model, '_unpack_latents') and hasattr(model, 'transformer_spatial_patch_size') and frames is not None: # LTX latent_num_frames = (frames - 1) // model.vae_temporal_compression_ratio + 1 latents = model._unpack_latents(latents.unsqueeze(0), latent_num_frames, height // 32, width // 32, model.transformer_spatial_patch_size, model.transformer_temporal_patch_size) # pylint: disable=protected-access diff --git a/modules/sd_vae_repa.py b/modules/sd_vae_repa.py new file mode 100644 index 000000000..7dce4c1ce --- /dev/null +++ b/modules/sd_vae_repa.py @@ -0,0 +1,32 @@ +import diffusers +from modules import shared + + +models = { + 'sd': { 'repo_id': 'REPA-E/e2e-sdvae-hf', 'cls': 'AutoencoderKL' }, + 'sdxl': { 'repo_id': 'REPA-E/e2e-sdvae-hf', 'cls': 'AutoencoderKL' }, + 'sd3': { 'repo_id': 'REPA-E/e2e-sd3.5-vae', 'cls': 'AutoencoderKL' }, + 'f1': { 'repo_id': 'REPA-E/e2e-flux-vae', 'cls': 'AutoencoderKL' }, + 'qwen': { 'repo_id': 'REPA-E/e2e-qwenimage-vae', 'cls': 'AutoencoderKLQwenImage' }, +} +loaded_cls = None +loaded_vae = None + + +def repa_load(latents): + global loaded_cls, loaded_vae # pylint: disable=global-statement + config = models.get(shared.sd_model_type, None) + if config is None: + shared.log.error(f'Decode: type="repa" model={shared.sd_model_type} not supported') + return latents + + cls = getattr(diffusers, config['cls']) + if (cls != loaded_cls) or (loaded_vae is None): + shared.log.info(f'RePA VAE load: {config["repo_id"]} cls={config["cls"]}') + loaded_vae = cls.from_pretrained( + config['repo_id'], + torch_dtype=latents.dtype, + cache_dir=shared.opts.hfcache_dir, + ) + loaded_cls = cls + return loaded_vae From b54839004a4580afe8f11698226fb4363c957777 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Mon, 27 Oct 2025 22:29:06 +0300 Subject: [PATCH 094/137] Fix modules_to_not_convert not getting reset --- pipelines/generic.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pipelines/generic.py b/pipelines/generic.py index 10fb5bc65..f86745aba 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -8,8 +8,14 @@ from modules import shared, devices, errors, sd_models, model_quant debug = os.environ.get('SD_LOAD_DEBUG', None) is not None -def load_transformer(repo_id, cls_name, load_config={}, subfolder="transformer", allow_quant=True, variant=None, dtype=None, modules_to_not_convert=[], modules_dtype_dict={}): +def load_transformer(repo_id, cls_name, load_config=None, subfolder="transformer", allow_quant=True, variant=None, dtype=None, modules_to_not_convert=None, modules_dtype_dict=None): transformer = None + if load_config is None: + load_config = {} + if modules_to_not_convert is None: + modules_to_not_convert = [] + if modules_dtype_dict is None: + modules_dtype_dict = {} jobid = shared.state.begin('Load DiT') try: if 'sdnq-' in repo_id.lower(): @@ -81,8 +87,14 @@ def load_transformer(repo_id, cls_name, load_config={}, subfolder="transformer", return transformer -def load_text_encoder(repo_id, cls_name, load_config={}, subfolder="text_encoder", allow_quant=True, allow_shared=True, variant=None, dtype=None, modules_to_not_convert=[], modules_dtype_dict={}): +def load_text_encoder(repo_id, cls_name, load_config=None, subfolder="text_encoder", allow_quant=True, allow_shared=True, variant=None, dtype=None, modules_to_not_convert=None, modules_dtype_dict=None): text_encoder = None + if load_config is None: + load_config = {} + if modules_to_not_convert is None: + modules_to_not_convert = [] + if modules_dtype_dict is None: + modules_dtype_dict = {} jobid = shared.state.begin('Load TE') try: if 'sdnq-' in repo_id.lower(): From b3e7fdd7287deeb4c5c5b03af1dd51b501decac0 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Oct 2025 15:34:58 -0400 Subject: [PATCH 095/137] update changelog Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9415184ff..cd20d665b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,15 +2,16 @@ ## Update for 2025-10-26 -### Highlights for 2025-10-26 +### Highlights for 2025-10-27 - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation - New **Tencent HunyuanImage 2.1** model capable of generating 2K images natively - New **offline mode** to use previously downloaded models without internet connection -- New SOTA model loader using **Run:ai** +- New SOTA model loader using **Run:ai streamer** +- Updates to `rocm` and `xpu` backends - Fixes, fixes, fixes... too many to list here! -### Details for 2025-10-26 +### Details for 2025-10-27 - **Reference** networks section is now split into actual *Base* models plus: **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage From 0861ce5d5d612a14f5f5d3fe5a752afa04cd6a4d Mon Sep 17 00:00:00 2001 From: Disty0 Date: Mon, 27 Oct 2025 22:35:11 +0300 Subject: [PATCH 096/137] cleanup --- modules/sd_models.py | 4 +++- modules/sd_offload.py | 12 +++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/sd_models.py b/modules/sd_models.py index 9f31f61f2..1a68fcf07 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -871,7 +871,7 @@ def get_diffusers_task(pipe: diffusers.DiffusionPipeline) -> DiffusersTaskType: return DiffusersTaskType.TEXT_2_IMAGE -def switch_pipe(cls: diffusers.DiffusionPipeline, pipeline: diffusers.DiffusionPipeline = None, force = False, args = {}): +def switch_pipe(cls: diffusers.DiffusionPipeline, pipeline: diffusers.DiffusionPipeline = None, force = False, args: dict = None): """ args: - cls: can be pipeline class or a string from custom pipelines @@ -881,6 +881,8 @@ def switch_pipe(cls: diffusers.DiffusionPipeline, pipeline: diffusers.DiffusionP for example: { 'vae': None } """ try: + if args is None: + args = {} if isinstance(cls, str): shared.log.debug(f'Pipeline switch: custom={cls}') cls = diffusers.utils.get_class_from_dynamic_module(cls, module_file='pipeline.py') diff --git a/modules/sd_offload.py b/modules/sd_offload.py index b40fe8815..8d891be36 100644 --- a/modules/sd_offload.py +++ b/modules/sd_offload.py @@ -288,7 +288,9 @@ def get_pipe_variants(pipe=None): return variants -def get_module_names(pipe=None, exclude=[]): +def get_module_names(pipe=None, exclude=None): + if exclude is None: + exclude = [] if pipe is None: if shared.sd_loaded: pipe = shared.sd_model @@ -304,7 +306,9 @@ def get_module_names(pipe=None, exclude=[]): return modules_names -def get_module_sizes(pipe=None, exclude=[]): +def get_module_sizes(pipe=None, exclude=None): + if exclude is None: + exclude = [] modules = {} for module_name in get_module_names(pipe, exclude): module_size = offload_hook_instance.offload_map.get(module_name, None) @@ -409,7 +413,7 @@ def report_model_stats(module_name, module): shared.log.error(f'Module stats: name={module_name} {e}') -def apply_balanced_offload(sd_model=None, exclude=[], force=False): +def apply_balanced_offload(sd_model=None, exclude=None, force=False): global offload_hook_instance # pylint: disable=global-statement if shared.opts.diffusers_offload_mode != "balanced": return sd_model @@ -419,6 +423,8 @@ def apply_balanced_offload(sd_model=None, exclude=[], force=False): sd_model = shared.sd_model if sd_model is None: return sd_model + if exclude is None: + exclude = [] t0 = time.time() if sd_model.__class__.__name__ in balanced_offload_exclude: return sd_model From 581d71d27a16dd311b2252c7e8b23faaeba76871 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Oct 2025 15:40:07 -0400 Subject: [PATCH 097/137] update changelog Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd20d665b..f86387433 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log for SD.Next -## Update for 2025-10-26 +## Update for 2025-10-27 ### Highlights for 2025-10-27 @@ -14,14 +14,14 @@ ### Details for 2025-10-27 - **Reference** networks section is now split into actual *Base* models plus: - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage - examples: *FLUX.1-Dev/Krea/Kontext/Schnell, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* - **Distilled**: distilled variants of base models - examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* - **Community**: community highlights - examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* - and all reference models have new preview images, thanks @liutyi -- **Models** + - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage + examples: *FLUX.1-Dev/Krea/Kontext/Schnell, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* + - **Distilled**: distilled variants of base models + examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* + - **Community**: community highlights + examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* + and all reference models have new preview images, thanks @liutyi +- **Models** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - [Pony 7](https://huggingface.co/purplesmartai/pony-v7-base) @@ -39,9 +39,8 @@ - switch to `rocm==7.0` for nightlies - log `triton` availability on startup - add `xpu` stats in gpu monitor -- **Quantization** - - improved **SDNQ SVD** and low-bit matmul performance - **Other** + - improved **SDNQ SVD** and low-bit matmul performance - change default **schedulers** for sdxl - warn on `python==3.9` end-of-life and `python==3.10` not actively supported - **scheduler** add base and max shift parameters for flow-matching samplers From 195c843a418f8d6e3844d6645c91606de2d51e0b Mon Sep 17 00:00:00 2001 From: vladmandic Date: Mon, 27 Oct 2025 17:43:31 -0400 Subject: [PATCH 098/137] typo Signed-off-by: vladmandic --- CHANGELOG.md | 2 +- modules/sd_models.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f86387433..30c75ec42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ *note*: must be enabled only after all packages have been installed and model has been run online at least once - **model load**: SOTA method using nVidia's [Run:ai streamer](https://github.com/run-ai/runai-model-streamer) enable in *settings -> model options -> runai streamer* - applies to *diffusers, transformers and sdnq* loaders + applies to *diffusers, transformers and sdnq* loaders, note this is linux-only feature *experimental* but shows significant model load speedups, 20-40% depending on model and hardware - **Backend** - switch to `torch==2.9` for *ipex, rocm and openvino* diff --git a/modules/sd_models.py b/modules/sd_models.py index 1a68fcf07..3d1bc0992 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -62,7 +62,7 @@ def set_huggingface_options(): sd_hijack_accelerate.hijack_accelerate() else: sd_hijack_accelerate.restore_accelerate() - if shared.opts.runai_streamer_diffusers or shared.opts.runai_streamer_transformers: + if (shared.opts.runai_streamer_diffusers or shared.opts.runai_streamer_transformers) and (sys.platform == 'linux'): sd_hijack_safetensors.hijack_safetensors(shared.opts.runai_streamer_diffusers, shared.opts.runai_streamer_transformers) else: sd_hijack_safetensors.restore_safetensors() @@ -577,7 +577,7 @@ def load_sdnq_model(checkpoint_info, pipeline, diffusers_load_config, op): allow_post_quant = False t0 = time.time() - if shared.opts.runai_streamer: + if shared.opts.runai_streamer_diffusers and (sys.platform == 'linux'): load_method = 'streamer' from installer import install install('runai_model_streamer') From 3e996eed27db33ccda6782a105d96d3c51cfe7a6 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 09:10:06 -0400 Subject: [PATCH 099/137] fixes Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 3 +++ installer.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30c75ec42..986f97666 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ - add **Qwen 3-VL** llm for interrogate and prompt enhance, thanks @CalamitousFelicitousness this includes *2B, 4B and 8B* variants - when using **shared-t5** *(default)*, it will load standard or pre-quant depending on model + - enhanced LoRA support for **Wan-2.2-14B** - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence @@ -65,6 +66,8 @@ - fix networks display with extended characters, thanks @awsr - installer handle different `opencv` package variants - fix using pre-quantized shared-t5 + - fix `wan-2.2-14b-vace` single-stage exectution + - fix `wan-2.2-5b` tiled vae decode - catch `xet` warnings - validate pipelines on import diff --git a/installer.py b/installer.py index dd5a89360..fc9dbe9b8 100644 --- a/installer.py +++ b/installer.py @@ -613,7 +613,7 @@ def check_diffusers(): t_start = time.time() if args.skip_all: return - sha = '6d1a6486024192951ce696e8f4cf79a39509182f' # diffusers commit hash + sha = '84e16575e4c5e90b6b49301cfa162ced4cf478d2' # diffusers commit hash # if args.use_rocm or args.use_zluda or args.use_directml: # sha = '043ab2520f6a19fce78e6e060a68dbc947edb9f9' # lock diffusers versions for now pkg = pkg_resources.working_set.by_key.get('diffusers', None) From 6f05ae71cd27a1fe9c1aeb2373182df8c296ea92 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 09:18:56 -0400 Subject: [PATCH 100/137] add LibreFlux segmentation controlnet for FLUX.1 Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 10 ++++++---- modules/control/units/controlnet.py | 16 +++++++++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 986f97666..35faeec70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,11 +21,16 @@ - **Community**: community highlights examples: *Tempest, Juggernaut, Illustrious, Pony, NoobAI, etc.* and all reference models have new preview images, thanks @liutyi -- **Models** +- **Models Reference** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - [Pony 7](https://huggingface.co/purplesmartai/pony-v7-base) Pony 7 steps in a different direction from previous Pony models and is based on AuraFlow architecture and UMT5 encoder +- **Models Auxiliary** + - add **Qwen 3-VL** VLM for interrogate and prompt enhance, thanks @CalamitousFelicitousness + this includes *2B, 4B and 8B* variants + - add **Apple DepthPro** controlnet processor, thanks @nolbert82 + - add **LibreFlux** segmentation controlnet for FLUX.1 - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is @@ -46,9 +51,6 @@ - **scheduler** add base and max shift parameters for flow-matching samplers - enhance `--optional` flag to pre-install optional packages - add `[lora]` to recognized filename patterns - - add **Apple DepthPro** controlnet processor, thanks @nolbert82 - - add **Qwen 3-VL** llm for interrogate and prompt enhance, thanks @CalamitousFelicitousness - this includes *2B, 4B and 8B* variants - when using **shared-t5** *(default)*, it will load standard or pre-quant depending on model - enhanced LoRA support for **Wan-2.2-14B** - **Fixes** diff --git a/modules/control/units/controlnet.py b/modules/control/units/controlnet.py index 7fd9cab0f..193df5cf5 100644 --- a/modules/control/units/controlnet.py +++ b/modules/control/units/controlnet.py @@ -89,7 +89,8 @@ predefined_f1 = { "Shakker-Labs Depth F1": 'Shakker-Labs/FLUX.1-dev-ControlNet-Depth', "XLabs-AI Canny F1": 'XLabs-AI/flux-controlnet-canny-diffusers', "XLabs-AI Depth F1": 'XLabs-AI/flux-controlnet-depth-diffusers', - "XLabs-AI HED F1": 'XLabs-AI/flux-controlnet-hed-diffusers' + "XLabs-AI HED F1": 'XLabs-AI/flux-controlnet-hed-diffusers', + "LibreFlux F1": 'neuralvfx/LibreFlux-ControlNet', } predefined_sd3 = { "StabilityAI Canny SD35": 'diffusers-internal-dev/sd35-controlnet-canny-8b', @@ -119,6 +120,15 @@ variants = { 'NoobAI SoftEdge XL': 'fp16', 'TTPlanet Tile Realistic XL': 'fp16', } + +subfolders = { + "LibreFlux F1": 'controlnet', +} + +remote_code = { + "LibreFlux F1": True, +} + models = {} all_models = {} all_models.update(predefined_sd15) @@ -326,6 +336,10 @@ class ControlNet(): self.load_config['use_safetensors'] = True if variants.get(model_id, None) is not None: kwargs['variant'] = variants[model_id] + if subfolders.get(model_id, None) is not None: + self.load_config['subfolder'] = subfolders[model_id] + if remote_code.get(model_id, None) is not None: + self.load_config['trust_remote_code'] = remote_code[model_id] try: self.model = cls.from_pretrained(model_path, **self.load_config, **kwargs) except Exception as e: From d9e8fb8e1e17f3ca2547a99ba301fc1ead100ce6 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 09:55:38 -0400 Subject: [PATCH 101/137] handle sparse controlnet Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/control/units/controlnet.py | 16 +++++++++------- modules/sd_offload.py | 4 ++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35faeec70..8cd40b90a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -70,6 +70,7 @@ - fix using pre-quantized shared-t5 - fix `wan-2.2-14b-vace` single-stage exectution - fix `wan-2.2-5b` tiled vae decode + - fix `controlnet` loading with quantization - catch `xet` warnings - validate pipelines on import diff --git a/modules/control/units/controlnet.py b/modules/control/units/controlnet.py index 193df5cf5..d5a6f51f7 100644 --- a/modules/control/units/controlnet.py +++ b/modules/control/units/controlnet.py @@ -90,7 +90,7 @@ predefined_f1 = { "XLabs-AI Canny F1": 'XLabs-AI/flux-controlnet-canny-diffusers', "XLabs-AI Depth F1": 'XLabs-AI/flux-controlnet-depth-diffusers', "XLabs-AI HED F1": 'XLabs-AI/flux-controlnet-hed-diffusers', - "LibreFlux F1": 'neuralvfx/LibreFlux-ControlNet', + "LibreFlux Segment F1": 'neuralvfx/LibreFlux-ControlNet', } predefined_sd3 = { "StabilityAI Canny SD35": 'diffusers-internal-dev/sd35-controlnet-canny-8b', @@ -122,11 +122,11 @@ variants = { } subfolders = { - "LibreFlux F1": 'controlnet', + "LibreFlux Segment F1": 'controlnet', } remote_code = { - "LibreFlux F1": True, + "LibreFlux Segment F1": True, } models = {} @@ -337,9 +337,9 @@ class ControlNet(): if variants.get(model_id, None) is not None: kwargs['variant'] = variants[model_id] if subfolders.get(model_id, None) is not None: - self.load_config['subfolder'] = subfolders[model_id] + kwargs['subfolder'] = subfolders[model_id] if remote_code.get(model_id, None) is not None: - self.load_config['trust_remote_code'] = remote_code[model_id] + kwargs['trust_remote_code'] = remote_code[model_id] try: self.model = cls.from_pretrained(model_path, **self.load_config, **kwargs) except Exception as e: @@ -352,6 +352,8 @@ class ControlNet(): self.model.offload_never = True if self.dtype is not None: self.model.to(self.dtype) + if self.device is not None: + self.model.to_empty(device=self.device) # model could be sparse if "Control" in opts.sdnq_quantize_weights: try: log.debug(f'Control {what} model SDNQ Compress: id="{model_id}"') @@ -376,7 +378,7 @@ class ControlNet(): except Exception as e: log.error(f'Control {what} model Torch AO: id="{model_id}" {e}') if self.device is not None: - self.model.to(self.device) + sd_models.move_model(self.model, self.device) if "Control" in opts.cuda_compile: try: from modules.sd_models_compile import compile_torch @@ -527,7 +529,7 @@ class ControlNetPipeline(): if opts.diffusers_offload_mode == 'none': sd_models.move_model(self.pipeline, devices.device) sd_models.clear_caches() - sd_models.set_diffuser_offload(self.pipeline, 'model') + sd_models.set_diffuser_offload(self.pipeline, 'model', force=True) t1 = time.time() debug_log(f'Control {what} pipeline: class={self.pipeline.__class__.__name__} time={t1-t0:.2f}') diff --git a/modules/sd_offload.py b/modules/sd_offload.py index 8d891be36..85d245c34 100644 --- a/modules/sd_offload.py +++ b/modules/sd_offload.py @@ -92,7 +92,7 @@ def apply_group_offload(sd_model, op:str='model'): return sd_model -def set_diffuser_offload(sd_model, op:str='model', quiet:bool=False): +def set_diffuser_offload(sd_model, op:str='model', quiet:bool=False, force:bool=False): global accelerate_dtype_byte_size # pylint: disable=global-statement t0 = time.time() if sd_model is None: @@ -154,7 +154,7 @@ def set_diffuser_offload(sd_model, op:str='model', quiet:bool=False): sd_model = apply_group_offload(sd_model, op=op) if shared.opts.diffusers_offload_mode == "balanced": - sd_model = apply_balanced_offload(sd_model) + sd_model = apply_balanced_offload(sd_model, force=force) process_timer.add('offload', time.time() - t0) From a96b376cc008edae24f05f3511de36e7222c132b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 10:08:12 -0400 Subject: [PATCH 102/137] add kandinsky5 10s variants Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 17 ++++++++++------- modules/video_models/models_def.py | 24 +++++++++++++++++++++--- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd40b90a..1b6328bcf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,17 @@ # Change Log for SD.Next -## Update for 2025-10-27 +## Update for 2025-10-28 -### Highlights for 2025-10-27 +### Highlights for 2025-10-28 -- Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation -- New **Tencent HunyuanImage 2.1** model capable of generating 2K images natively +- Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation +- New models: **HunyuanImage 2.1** capable of generating 2K images natively, **Pony 7** based on AuraFlow architecture and **Kandinsky 5** 10s video models - New **offline mode** to use previously downloaded models without internet connection - New SOTA model loader using **Run:ai streamer** - Updates to `rocm` and `xpu` backends -- Fixes, fixes, fixes... too many to list here! +- Fixes, fixes, fixes... too many to list here! -### Details for 2025-10-27 +### Details for 2025-10-28 - **Reference** networks section is now split into actual *Base* models plus: - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage @@ -23,7 +23,9 @@ and all reference models have new preview images, thanks @liutyi - **Models Reference** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants - HunyuanImage-2.1 is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE + *HunyuanImage-2.1* is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE + - [Kandinsky 5 Lite 10s](https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-10s-Diffusers') in *SFT, CFG-distilled and Steps-distilled* variants + second series of models in *Kandinsky5* series is T2V model optimized for 10sec videos and uses Qwen2.5 text encoder - [Pony 7](https://huggingface.co/purplesmartai/pony-v7-base) Pony 7 steps in a different direction from previous Pony models and is based on AuraFlow architecture and UMT5 encoder - **Models Auxiliary** @@ -71,6 +73,7 @@ - fix `wan-2.2-14b-vace` single-stage exectution - fix `wan-2.2-5b` tiled vae decode - fix `controlnet` loading with quantization + - handle sparse `controlnet` models - catch `xet` warnings - validate pipelines on import diff --git a/modules/video_models/models_def.py b/modules/video_models/models_def.py index 54fde1d8b..eb5e9570d 100644 --- a/modules/video_models/models_def.py +++ b/modules/video_models/models_def.py @@ -354,24 +354,42 @@ try: dit_cls=getattr(diffusers, 'CosmosTransformer3DModel', None)), ], 'Kandinsky': [ - Model(name='Kandinsky 5.0 Lite SFT T2V', + Model(name='Kandinsky 5.0 Lite 5s SFT T2V', url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', repo='ai-forever/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers', repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), - Model(name='Kandinsky 5.0 Lite CFG-distilled T2V', + Model(name='Kandinsky 5.0 Lite 5s CFG-distilled T2V', url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', repo='ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers', repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), - Model(name='Kandinsky 5.0 Lite Steps-distilled T2V', + Model(name='Kandinsky 5.0 Lite 5s Steps-distilled T2V', url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', repo='ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers', repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), + Model(name='Kandinsky 5.0 Lite 10s SFT T2V', + url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-10s-Diffusers', + repo='ai-forever/Kandinsky-5.0-T2V-Lite-sft-10s-Diffusers', + repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), + te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), + dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), + Model(name='Kandinsky 5.0 Lite 10s CFG-distilled T2V', + url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-10s-Diffusers', + repo='ai-forever/Kandinsky-5.0-T2V-Lite-nocfg-10s-Diffusers', + repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), + te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), + dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), + Model(name='Kandinsky 5.0 Lite 10s Steps-distilled T2V', + url='https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-10s-Diffusers', + repo='ai-forever/Kandinsky-5.0-T2V-Lite-distilled16steps-10s-Diffusers', + repo_cls=getattr(diffusers, 'Kandinsky5T2VPipeline', None), + te_cls=getattr(transformers, 'Qwen2_5_VLForConditionalGeneration', None), + dit_cls=getattr(diffusers, 'Kandinsky5Transformer3DModel', None)), ], } t1 = time.time() From 46876060abe4924a1e1b063194cb50c3f0c693dc Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 10:53:19 -0400 Subject: [PATCH 103/137] kandinsky 10s force flex attn Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/devices.py | 7 ++++++- modules/video_models/video_overrides.py | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b6328bcf..1880dde05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ - add `[lora]` to recognized filename patterns - when using **shared-t5** *(default)*, it will load standard or pre-quant depending on model - enhanced LoRA support for **Wan-2.2-14B** + - log available attention mechanisms on startup - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence diff --git a/modules/devices.py b/modules/devices.py index 3298e1b36..8fb2e4ad4 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -571,6 +571,7 @@ def set_sdpa_params(): except Exception as err: log.error(f'Torch attention: type="sage attention" {err}') + from importlib.metadata import version try: flash = version('flash-attn') @@ -580,7 +581,11 @@ def set_sdpa_params(): sage = version('sageattention') except Exception: sage = False - log.info(f'Torch attention: flashattn={flash} sageattention={sage}') + log.debug(f'Torch attention installed: flashattn={flash} sageattention={sage}') + + from diffusers.models import attention_dispatch as a + log.debug(f'Torch diffusers available: flash={a._CAN_USE_FLASH_ATTN} flash3={a._CAN_USE_FLASH_ATTN_3} aiter={a._CAN_USE_AITER_ATTN} sage={a._CAN_USE_SAGE_ATTN} flex={a._CAN_USE_FLEX_ATTN} npu={a._CAN_USE_NPU_ATTN} xla={a._CAN_USE_XLA_ATTN} xformers={a._CAN_USE_XFORMERS_ATTN}') # pylint: disable=protected-access + except Exception as e: log.warning(f'Torch SDPA: {e}') diff --git a/modules/video_models/video_overrides.py b/modules/video_models/video_overrides.py index bc2cb867c..55b3ad850 100644 --- a/modules/video_models/video_overrides.py +++ b/modules/video_models/video_overrides.py @@ -64,3 +64,10 @@ def set_overrides(p: processing.StableDiffusionProcessingVideo, selected: Model) # WAN 2.2-5B if 'WAN 2.2 5B' in selected.name: shared.sd_model.vae.disable_tiling() + # Kandinsky 5 + if 'Kandinsky 5.0 Lite 5s' in selected.name: + # p.task_args['time_length'] = 5 + pass + if 'Kandinsky 5.0 Lite 10s' in selected.name: + # p.task_args['time_length'] = 10 + shared.sd_model.transformer.set_attention_backend("flex") From df4571588b522c6188b6c8c1c16a25ca341e00df Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 11:12:42 -0400 Subject: [PATCH 104/137] add wan-2.2-sdnq pre-quant to video models Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/video_models/models_def.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1880dde05..9e50ac2fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - **Reference** networks section is now split into actual *Base* models plus: - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage examples: *FLUX.1-Dev/Krea/Kontext/Schnell, Qwen-Image/Edit/2509, Chroma1-HD, WAN-2.2-A44B, etc.* + *note*: pre-quantized *WAN-2.2-14B* is also available in video models and runs with only 12GB VRAM! - **Distilled**: distilled variants of base models examples: *Turbo, Lightning, Lite, SRPO, Distill, Pruning, etc.* - **Community**: community highlights diff --git a/modules/video_models/models_def.py b/modules/video_models/models_def.py index eb5e9570d..6ef206984 100644 --- a/modules/video_models/models_def.py +++ b/modules/video_models/models_def.py @@ -179,6 +179,20 @@ try: te_cls=getattr(transformers, 'UMT5EncoderModel', None), dit_cls=getattr(diffusers, 'WanTransformer3DModel', None), dit_folder=("transformer", "transformer_2")), + Model(name='WAN 2.2 A14B SDNQ T2V', + url='https://huggingface.co/Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32', + repo='Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32', + repo_cls=getattr(diffusers, 'WanPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None), + dit_folder=("transformer", "transformer_2")), + Model(name='WAN 2.2 A14B SDNQ I2V', + url='https://huggingface.co/Disty0/Wan2.2-I2V-A14B-SDNQ-uint4-svd-r32', + repo='Disty0/Wan2.2-I2V-A14B-SDNQ-uint4-svd-r32', + repo_cls=getattr(diffusers, 'WanImageToVideoPipeline', None), + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None), + dit_folder=("transformer", "transformer_2")), Model(name='WAN 2.2 14B VACE', url='https://huggingface.co/linoyts/Wan2.2-VACE-Fun-14B-diffusers', repo='linoyts/Wan2.2-VACE-Fun-14B-diffusers', From bc775f0530817e22f00e0866b9f0a0b3d0dea140 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 13:55:46 -0400 Subject: [PATCH 105/137] add wan asymmetric vae upscaler Signed-off-by: Vladimir Mandic --- .pre-commit-config.yaml | 18 +++------- CHANGELOG.md | 16 ++++++--- TODO.md | 22 +++++++++---- modules/schedulers/scheduler_dc.py | 5 +-- modules/sd_hijack_vae.py | 13 +++++++- modules/sdnq/quantizer.py | 5 ++- modules/upscaler_simple.py | 53 ++++++++++++++++++++++++++++-- modules/video_models/models_def.py | 11 +++++++ modules/video_models/video_load.py | 30 ++++++++++++++++- modules/video_models/video_run.py | 5 +++ modules/video_models/video_ui.py | 2 +- 11 files changed, 145 insertions(+), 35 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 620c2c730..357042c9c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,15 +1,6 @@ -# To use: -# -# pre-commit run -a -# -# Or: -# -# pre-commit install # (runs every time you commit in git) -# -# To update this file: -# -# pre-commit autoupdate -# +# To use: pre-commit run -a +# Or: pre-commit install # (runs every time you commit in git) +# To update this file: pre-commit autoupdate # See https://github.com/pre-commit/pre-commit ci: @@ -19,7 +10,7 @@ ci: repos: # Standard hooks - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: check-added-large-files - id: check-case-conflict @@ -35,6 +26,7 @@ repos: - id: check-json - id: check-toml - id: check-xml + - id: debug-statements - id: end-of-file-fixer - id: mixed-line-ending - id: check-executables-have-shebangs diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e50ac2fd..06e3c151b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,11 @@ ### Highlights for 2025-10-28 - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation -- New models: **HunyuanImage 2.1** capable of generating 2K images natively, **Pony 7** based on AuraFlow architecture and **Kandinsky 5** 10s video models +- New models: **HunyuanImage 2.1** capable of generating 2K images natively, **Pony 7** based on AuraFlow architecture, + **Kandinsky 5** 10s video models, **Krea Realtime** autoregressive variant of WAN-2.1 - New **offline mode** to use previously downloaded models without internet connection - New SOTA model loader using **Run:ai streamer** +- Optimizations to **WAN-2.2** given its popularity plus addition of native **VAE Upscaler** and optimized **pre-quantized** variants - Updates to `rocm` and `xpu` backends - Fixes, fixes, fixes... too many to list here! @@ -29,11 +31,14 @@ second series of models in *Kandinsky5* series is T2V model optimized for 10sec videos and uses Qwen2.5 text encoder - [Pony 7](https://huggingface.co/purplesmartai/pony-v7-base) Pony 7 steps in a different direction from previous Pony models and is based on AuraFlow architecture and UMT5 encoder -- **Models Auxiliary** - - add **Qwen 3-VL** VLM for interrogate and prompt enhance, thanks @CalamitousFelicitousness +- **Models Auxiliary** + - [Qwen 3-VL](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct) VLM for interrogate and prompt enhance, thanks @CalamitousFelicitousness this includes *2B, 4B and 8B* variants - - add **Apple DepthPro** controlnet processor, thanks @nolbert82 - - add **LibreFlux** segmentation controlnet for FLUX.1 + - [WAN Asymettric Upscale](https://huggingface.co/spacepxl/Wan2.1-VAE-upscale2x) + available as general purpose upscaler that can be used during standard workflow or process tab + available as VAE for compatible video models: *WAN-2.x-14B, SkyReels-v2* models + - [Apple DepthPro](https://huggingface.co/apple/DepthPro) controlnet processor, thanks @nolbert82 + - [LibreFlux controlnet](https://huggingface.co/neuralvfx/LibreFlux-ControlNet) segmentation controlnet for FLUX.1 - **Features** - **offline mode**: enable in *settings -> hugginface* enables fully offline mode where previously downloaded models can be used as-is @@ -75,6 +80,7 @@ - fix `wan-2.2-14b-vace` single-stage exectution - fix `wan-2.2-5b` tiled vae decode - fix `controlnet` loading with quantization + - video use pre-quantized text-encoder if selected model is pre-quantized - handle sparse `controlnet` models - catch `xet` warnings - validate pipelines on import diff --git a/TODO.md b/TODO.md index 1163be757..06cdca14d 100644 --- a/TODO.md +++ b/TODO.md @@ -4,15 +4,17 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma ## Future Candidates -- [Kanvas](https://github.com/vladmandic/kanvas) -- Transformers unified cache handler -- Remote TE +- Core: New inpaint/outpaint interface + [Kanvas](https://github.com/vladmandic/kanvas) +- Core: Create executable for SD.Next +- Feature: Transformers unified cache handler +- Remote Text-Encoder support - Refactor: [Modular pipelines and guiders](https://github.com/huggingface/diffusers/issues/11915) -- Refactor: Sampler options +- Refactor: move sampler options to settings to config - Refactor: [GGUF](https://huggingface.co/docs/diffusers/main/en/quantization/gguf) - Feature: LoRA add OMI format support for SD35/FLUX.1 -- Video Core: API -- Video LTX: TeaCache and others, API, Conditioning preprocess Video: LTX API +- Video tab: add full API support +- Control tab: add overrides handling ### Under Consideration @@ -26,13 +28,19 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma - [Dream0 guidance](https://huggingface.co/ByteDance/DreamO) - [ByteDance OneReward](https://github.com/bytedance/OneReward) - [ByteDance USO](https://github.com/bytedance/USO) +- [Video Inpaint Pipeline](https://github.com/huggingface/diffusers/pull/12506) - Remove: `CodeFormer` - Remove: `GFPGAN` - ModernUI: Lite vs Expert mode - Engine: TensorRT acceleration -### New models +### New models / Pipelines +- [Krea Realtime Video](https://huggingface.co/krea/krea-realtime-video) +- [Wan-2.2 Animate](https://github.com/huggingface/diffusers/pull/12526) +- [Wan-2.2 S2V](https://github.com/huggingface/diffusers/pull/12258) +- [LongCat-Video](https://huggingface.co/meituan-longcat/LongCat-Video) +- [MUG-V 10B](https://huggingface.co/MUG-V/MUG-V-inference) - [Chroma1 Radiance](https://huggingface.co/lodestones/Chroma1-Radiance) - [Ovi](https://github.com/character-ai/Ovi) - [Bytedance Lynx](https://github.com/bytedance/lynx) diff --git a/modules/schedulers/scheduler_dc.py b/modules/schedulers/scheduler_dc.py index 8b483f901..7121d4364 100644 --- a/modules/schedulers/scheduler_dc.py +++ b/modules/schedulers/scheduler_dc.py @@ -692,10 +692,7 @@ class DCSolverMultistepScheduler(SchedulerMixin, ConfigMixin): rhos_c = torch.linalg.solve(R, b) if self.predict_x0: - try: - x_t_ = sigma_t / sigma_s0 * x - alpha_t * h_phi_1 * m0 - except Exception as e: - import pdb; pdb.set_trace() + x_t_ = sigma_t / sigma_s0 * x - alpha_t * h_phi_1 * m0 if D1s is not None: corr_res = torch.einsum("k,bkc...->bc...", rhos_c[:-1], D1s) else: diff --git a/modules/sd_hijack_vae.py b/modules/sd_hijack_vae.py index 2563ccfed..915e64846 100644 --- a/modules/sd_hijack_vae.py +++ b/modules/sd_hijack_vae.py @@ -7,6 +7,14 @@ from modules import shared, sd_models, devices, timer, errors debug = shared.log.trace if os.environ.get('SD_VIDEO_DEBUG', None) is not None else lambda *args, **kwargs: None +def hijack_vae_upscale(*args, **kwargs): + import torch.nn.functional as F + tensor = shared.sd_model.vae.orig_decode(*args, **kwargs)[0] + tensor = F.pixel_shuffle(tensor.movedim(2, 1), upscale_factor=2).movedim(1, 2) # vae returns 16-dim latents, we need to pixel shuffle to 4-dim images + tensor = tensor.unsqueeze(0) # add batch dimension + return tensor + + def hijack_vae_decode(*args, **kwargs): jobid = shared.state.begin('VAE Decode') t0 = time.time() @@ -16,7 +24,10 @@ def hijack_vae_decode(*args, **kwargs): sd_models.move_model(shared.sd_model.vae, devices.device) if torch.is_tensor(args[0]): latents = args[0].to(device=devices.device, dtype=shared.sd_model.vae.dtype) # upcast to vae dtype - res = shared.sd_model.vae.orig_decode(latents, *args[1:], **kwargs) + if hasattr(shared.sd_model.vae, '_asymmetric_upscale_vae'): + res = hijack_vae_upscale(latents, *args[1:], **kwargs) + else: + res = shared.sd_model.vae.orig_decode(latents, *args[1:], **kwargs) t1 = time.time() shared.log.debug(f'Decode: vae={shared.sd_model.vae.__class__.__name__} slicing={getattr(shared.sd_model.vae, "use_slicing", None)} tiling={getattr(shared.sd_model.vae, "use_tiling", None)} latents={list(latents.shape)}:{latents.device} dtype={latents.dtype} time={t1-t0:.3f}') else: diff --git a/modules/sdnq/quantizer.py b/modules/sdnq/quantizer.py index 4d850acad..0ca465b09 100644 --- a/modules/sdnq/quantizer.py +++ b/modules/sdnq/quantizer.py @@ -617,7 +617,10 @@ class SDNQQuantizer(DiffusersQuantizer, HfQuantizer): def _process_model_after_weight_loading(self, model, **kwargs): # pylint: disable=unused-argument if shared.opts.diffusers_offload_mode != "none": - model = model.to(devices.cpu) + try: + model = model.to(device=devices.cpu) + except Exception: + model = model.to_empty(device=devices.cpu) devices.torch_gc(force=True, reason="sdnq") return model diff --git a/modules/upscaler_simple.py b/modules/upscaler_simple.py index 52892a292..e1285653f 100644 --- a/modules/upscaler_simple.py +++ b/modules/upscaler_simple.py @@ -112,16 +112,17 @@ class UpscalerAsymmetricVAE(Upscaler): import torchvision.transforms.functional as F import diffusers from modules import shared, devices - if self.vae is None or selected_model != self.selected: + if self.vae is None or (selected_model != self.selected): if 'v1' in selected_model: repo_id = 'Heasterian/AsymmetricAutoencoderKLUpscaler' else: repo_id = 'Heasterian/AsymmetricAutoencoderKLUpscaler_v2' self.vae = diffusers.AsymmetricAutoencoderKL.from_pretrained(repo_id, cache_dir=shared.opts.hfcache_dir) - shared.log.debug(f'Upscaler load: vae="{repo_id}"') self.vae.requires_grad_(False) self.vae = self.vae.to(device=devices.device, dtype=devices.dtype) self.vae.eval() + self.selected = selected_model + shared.log.debug(f'Upscaler load: selected="{self.selected}" vae="{repo_id}"') img = img.resize((8 * (img.width // 8), 8 * (img.height // 8)), resample=Image.Resampling.LANCZOS).convert('RGB') tensor = (F.pil_to_tensor(img).unsqueeze(0) / 255.0).to(device=devices.device, dtype=devices.dtype) self.vae = self.vae.to(device=devices.device) @@ -131,6 +132,54 @@ class UpscalerAsymmetricVAE(Upscaler): return upscaled +class UpscalerWanUpscale(Upscaler): + def __init__(self, dirname=None): # pylint: disable=unused-argument + super().__init__(False) + self.name = "WAN Upscale" + self.vae_encode = None + self.vae_decode = None + self.selected = None + self.scalers = [ + UpscalerData("WAN Asymmetric Upscale", None, self), + ] + + def do_upscale(self, img: Image, selected_model=None): + if selected_model is None: + return img + import torchvision.transforms.functional as F + import torch.nn.functional as FN + import diffusers + from modules import shared, devices + if (self.vae_encode is None) or (self.vae_decode is None) or (selected_model != self.selected): + repo_encode = 'Qwen/Qwen-Image-Edit-2509' + subfolder_encode = 'vae' + self.vae_encode = diffusers.AutoencoderKLWan.from_pretrained(repo_encode, subfolder=subfolder_encode, cache_dir=shared.opts.hfcache_dir) + self.vae_encode.requires_grad_(False) + self.vae_encode = self.vae_encode.to(device=devices.device, dtype=devices.dtype) + self.vae_encode.eval() + repo_decode = 'spacepxl/Wan2.1-VAE-upscale2x' + subfolder_decode = "diffusers/Wan2.1_VAE_upscale2x_imageonly_real_v1" + self.vae_decode = diffusers.AutoencoderKLWan.from_pretrained(repo_decode, subfolder=subfolder_decode, cache_dir=shared.opts.hfcache_dir) + self.vae_decode.requires_grad_(False) + self.vae_decode = self.vae_decode.to(device=devices.device, dtype=devices.dtype) + self.vae_decode.eval() + self.selected = selected_model + shared.log.debug(f'Upscaler load: selected="{self.selected}" encode="{repo_encode}" decode="{repo_decode}"') + + self.vae_encode = self.vae_encode.to(device=devices.device) + tensor = (F.pil_to_tensor(img).unsqueeze(0).unsqueeze(2) / 255.0).to(device=devices.device, dtype=devices.dtype) + tensor = self.vae_encode.encode(tensor).latent_dist.mode() + self.vae_encode.to(device=devices.cpu) + + self.vae_decode = self.vae_decode.to(device=devices.device) + tensor = self.vae_decode.decode(tensor).sample + tensor = FN.pixel_shuffle(tensor.movedim(2, 1), upscale_factor=2).movedim(1, 2) # pixel shuffle needs [..., C, H, W] format + self.vae_decode.to(device=devices.cpu) + + upscaled = F.to_pil_image(tensor.squeeze().clamp(0.0, 1.0).float().cpu()) + return upscaled + + class UpscalerDCC(Upscaler): def __init__(self, dirname=None): # pylint: disable=unused-argument super().__init__(False) diff --git a/modules/video_models/models_def.py b/modules/video_models/models_def.py index 6ef206984..31252198e 100644 --- a/modules/video_models/models_def.py +++ b/modules/video_models/models_def.py @@ -281,6 +281,17 @@ try: te_cls=getattr(transformers, 'UMT5EncoderModel', None), dit_cls=getattr(diffusers, 'SkyReelsV2Transformer3DModel', None)), ], + """ + 'Krea': [ + Model(name='Krea Realtime WAN-2.1 14B T2V', + url='https://huggingface.co/krea/krea-realtime-video', + repo='krea/krea-realtime-video', + repo_cls=getattr(diffusers, 'WanPipeline', None), + te='Wan-AI/Wan2.1-T2V-14B-Diffusers', + te_cls=getattr(transformers, 'UMT5EncoderModel', None), + dit_cls=getattr(diffusers, 'WanTransformer3DModel', None)), + ], + """ 'Mochi Video': [ Model(name='None'), Model(name='Mochi 1 T2V', diff --git a/modules/video_models/video_load.py b/modules/video_models/video_load.py index 090997611..bbbc8209c 100644 --- a/modules/video_models/video_load.py +++ b/modules/video_models/video_load.py @@ -43,7 +43,10 @@ def load_model(selected: models_def.Model): selected.te_folder = '' selected.te_revision = None if selected.te_cls.__name__ == 'UMT5EncoderModel' and shared.opts.te_shared_t5: - selected.te = 'Wan-AI/Wan2.2-TI2V-5B-Diffusers' + if 'SDNQ' in selected.name: + selected.te = 'Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32' + else: + selected.te = 'Wan-AI/Wan2.2-TI2V-5B-Diffusers' selected.te_folder = 'text_encoder' selected.te_revision = None if selected.te_cls.__name__ == 'LlamaModel' and shared.opts.te_shared_t5: @@ -154,3 +157,28 @@ def load_model(selected: models_def.Model): shared.log.debug(f'Video hijacks: decode={decode} text={text} image={image} slicing={slicing} tiling={tiling} framewise={framewise}') shared.state.end(jobid) return msg + + +def load_upscale_vae(): + if not hasattr(shared.sd_model, 'vae'): + return + if hasattr(shared.sd_model.vae, '_asymmetric_upscale_vae'): + return # already loaded + cls = shared.sd_model.vae.__class__.__name__ + if cls != 'AutoencoderKLWan': + shared.log.warning('Video decode: upscale VAE unsupported') + return + + import diffusers + repo_id = 'spacepxl/Wan2.1-VAE-upscale2x' + subfolder = "diffusers/Wan2.1_VAE_upscale2x_imageonly_real_v1" + vae_decode = diffusers.AutoencoderKLWan.from_pretrained(repo_id, subfolder=subfolder, cache_dir=shared.opts.hfcache_dir) + vae_decode.requires_grad_(False) + vae_decode = vae_decode.to(device=devices.device, dtype=devices.dtype) + vae_decode.eval() + shared.log.debug(f'Decode: load={repo_id}') + shared.sd_model.orig_vae = shared.sd_model.vae + shared.sd_model.vae = vae_decode + shared.sd_model.vae._asymmetric_upscale_vae = True # pylint: disable=protected-access + sd_hijack_vae.init_hijack(shared.sd_model) + sd_models.apply_balanced_offload(shared.sd_model, force=True) # reapply offload diff --git a/modules/video_models/video_run.py b/modules/video_models/video_run.py index 5ef65e3b0..b0ce3060a 100644 --- a/modules/video_models/video_run.py +++ b/modules/video_models/video_run.py @@ -113,6 +113,11 @@ def generate(*args, **kwargs): video_overrides.set_overrides(p, selected) debug(f'Video: task_args={p.task_args}') + if p.vae_type == 'Upscale': + video_load.load_upscale_vae() + elif hasattr(shared.sd_model, 'orig_vae'): + shared.sd_model.vae = shared.sd_model.orig_vae + # run processing shared.state.disable_preview = True shared.log.debug(f'Video: cls={shared.sd_model.__class__.__name__} width={p.width} height={p.height} frames={p.frames} steps={p.steps}') diff --git a/modules/video_models/video_ui.py b/modules/video_models/video_ui.py index 1dee95e60..712f12318 100644 --- a/modules/video_models/video_ui.py +++ b/modules/video_models/video_ui.py @@ -141,7 +141,7 @@ def create_ui(prompt, negative, styles, overrides, init_image, init_strength, la guidance_true = gr.Slider(label='True guidance', minimum=-1.0, maximum=14.0, step=0.1, value=-1.0, elem_id="video_guidance_true") with gr.Accordion(open=False, label="Decode", elem_id='video_decode_accordion'): with gr.Row(): - vae_type = gr.Dropdown(label='VAE decode', choices=['Default', 'Tiny', 'Remote'], value='Default', elem_id="video_vae_type") + vae_type = gr.Dropdown(label='VAE decode', choices=['Default', 'Tiny', 'Remote', 'Upscale'], value='Default', elem_id="video_vae_type") vae_tile_frames = gr.Slider(label='Tile frames', minimum=1, maximum=64, step=1, value=16, elem_id="video_vae_tile_frames") vlm_enhance, vlm_model, vlm_system_prompt = ui_video_vlm.create_ui(prompt_element=prompt, image_element=init_image) From b02778e6891aad6e2dc88ca85d64fff8a3c5e986 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 14:00:06 -0400 Subject: [PATCH 106/137] update changelog Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 6 +++--- modules/video_models/video_load.py | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06e3c151b..6c08fb514 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,11 @@ ### Highlights for 2025-10-28 - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation -- New models: **HunyuanImage 2.1** capable of generating 2K images natively, **Pony 7** based on AuraFlow architecture, - **Kandinsky 5** 10s video models, **Krea Realtime** autoregressive variant of WAN-2.1 +- New models: **HunyuanImage 2.1** capable of 2K images natively, **Pony 7** based on AuraFlow architecture, **Kandinsky 5** 10s video models - New **offline mode** to use previously downloaded models without internet connection +- Optimizations to **WAN-2.2** given its popularity + plus addition of native **VAE Upscaler** and optimized **pre-quantized** variants - New SOTA model loader using **Run:ai streamer** -- Optimizations to **WAN-2.2** given its popularity plus addition of native **VAE Upscaler** and optimized **pre-quantized** variants - Updates to `rocm` and `xpu` backends - Fixes, fixes, fixes... too many to list here! diff --git a/modules/video_models/video_load.py b/modules/video_models/video_load.py index bbbc8209c..cc42886d8 100644 --- a/modules/video_models/video_load.py +++ b/modules/video_models/video_load.py @@ -164,8 +164,7 @@ def load_upscale_vae(): return if hasattr(shared.sd_model.vae, '_asymmetric_upscale_vae'): return # already loaded - cls = shared.sd_model.vae.__class__.__name__ - if cls != 'AutoencoderKLWan': + if shared.sd_model.vae.__class__.__name__ != 'AutoencoderKLWan': shared.log.warning('Video decode: upscale VAE unsupported') return @@ -176,7 +175,7 @@ def load_upscale_vae(): vae_decode.requires_grad_(False) vae_decode = vae_decode.to(device=devices.device, dtype=devices.dtype) vae_decode.eval() - shared.log.debug(f'Decode: load={repo_id}') + shared.log.debug(f'Decode: load="{repo_id}"') shared.sd_model.orig_vae = shared.sd_model.vae shared.sd_model.vae = vae_decode shared.sd_model.vae._asymmetric_upscale_vae = True # pylint: disable=protected-access From 5924d0d2d497c0ed502bcee78043423842aa672c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 14:08:50 -0400 Subject: [PATCH 107/137] update changelog Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c08fb514..63e10ecf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,9 @@ ### Highlights for 2025-10-28 +Less than 2 weeks since last release, here's a service-pack style update with a lot of fixes and improvements: - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation + and introduction of optimized **pre-quantized** variants for many popular models - use this as your quick start! - New models: **HunyuanImage 2.1** capable of 2K images natively, **Pony 7** based on AuraFlow architecture, **Kandinsky 5** 10s video models - New **offline mode** to use previously downloaded models without internet connection - Optimizations to **WAN-2.2** given its popularity @@ -13,6 +15,11 @@ - Updates to `rocm` and `xpu` backends - Fixes, fixes, fixes... too many to list here! +![Screenshot](https://github.com/user-attachments/assets/d6119a63-6ee5-4597-95f6-29ed0701d3b5) + +[ReadMe](https://github.com/vladmandic/automatic/blob/master/README.md) | [ChangeLog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) | [Docs](https://vladmandic.github.io/sdnext-docs/) | [WiKi](https://github.com/vladmandic/automatic/wiki) | [Discord](https://discord.com/invite/sd-next-federal-batch-inspectors-1101998836328697867) | [Sponsor](https://github.com/sponsors/vladmandic) + + ### Details for 2025-10-28 - **Reference** networks section is now split into actual *Base* models plus: From 24850cc083a81c462b7bb00684cd0982fde217f6 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 14:38:35 -0400 Subject: [PATCH 108/137] guard against images list and avoid pipeline switches Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 2 ++ modules/images.py | 4 ++++ modules/images_grid.py | 6 +++++- modules/images_namegen.py | 6 +++--- modules/processing.py | 5 +++++ modules/processing_class.py | 4 ++-- modules/sd_models.py | 2 ++ 7 files changed, 23 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63e10ecf1..fefdccf64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,6 +69,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - when using **shared-t5** *(default)*, it will load standard or pre-quant depending on model - enhanced LoRA support for **Wan-2.2-14B** - log available attention mechanisms on startup + - support for switching back-and-forth **t2i** and **t2v** for *wan-2.x* models - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence @@ -90,6 +91,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - video use pre-quantized text-encoder if selected model is pre-quantized - handle sparse `controlnet` models - catch `xet` warnings + - avoid unnecessary pipe variant switching - validate pipelines on import ## Update for 2025-10-18 diff --git a/modules/images.py b/modules/images.py index d93170be8..7a65c7df3 100644 --- a/modules/images.py +++ b/modules/images.py @@ -157,6 +157,10 @@ def save_image(image, if image is None: shared.log.warning('Image is none') return None, None, None + if isinstance(image, list): + if len(image) > 1: + shared.log.warning(f'Save: images={image} multiple images provided only the first one will be saved') + image = image[0] if not check_grid_size([image]): return None, None, None if path is None or path == '': # set default path to avoid errors when functions are triggered manually or via api and param is not set diff --git a/modules/images_grid.py b/modules/images_grid.py index 8f7b290ff..5827bdb95 100644 --- a/modules/images_grid.py +++ b/modules/images_grid.py @@ -13,7 +13,11 @@ def check_grid_size(imgs): return False mp = 0 for img in imgs: - mp += img.width * img.height if img is not None else 0 + if isinstance(img, list): + for im in img: + mp += im.width * im.height if im is not None else 0 + else: + mp += img.width * img.height if img is not None else 0 mp = round(mp / 1000000) ok = mp <= shared.opts.img_max_size_mp if not ok: diff --git a/modules/images_namegen.py b/modules/images_namegen.py index 083d3c6b1..7382462b8 100644 --- a/modules/images_namegen.py +++ b/modules/images_namegen.py @@ -84,9 +84,9 @@ class FilenameGenerator: self.prompt = p.prompt if p is not None and getattr(p, 'prompt', '') != '' else '' if isinstance(self.prompt, list): self.prompt = ' '.join(self.prompt) - self.image = image - self.width = width if width is not None else (image.width if image is not None else (p.width if p is not None else 0)) - self.height = height if height is not None else (image.height if image is not None else (p.height if p is not None else 0)) + self.image = image[0] if isinstance(image, list) and len(image) > 0 else image + self.width = width if width is not None else (self.image.width if self.image is not None else (p.width if p is not None else 0)) + self.height = height if height is not None else (self.image.height if self.image is not None else (p.height if p is not None else 0)) if not grid: self.batch_number = NOTHING if self.p is None or getattr(self.p, 'batch_size', 1) == 1 else (self.p.batch_index + 1 if hasattr(self.p, 'batch_index') else NOTHING) self.iter_number = NOTHING if self.p is None or getattr(self.p, 'n_iter', 1) == 1 else (self.p.iteration + 1 if hasattr(self.p, 'iteration') else NOTHING) diff --git a/modules/processing.py b/modules/processing.py index 2e732ca77..df70e10e5 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -285,6 +285,11 @@ def process_samples(p: StableDiffusionProcessing, samples): sample = validate_sample(sample) image = Image.fromarray(sample) + if isinstance(image, list): + if len(image) > 1: + shared.log.warning(f'Processing: images={image} contains multiple images using first one only') + image = image[0] + if not shared.state.interrupted and not shared.state.skipped: if p.restore_faces: diff --git a/modules/processing_class.py b/modules/processing_class.py index 29990e4b4..2ebfae677 100644 --- a/modules/processing_class.py +++ b/modules/processing_class.py @@ -483,9 +483,9 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing): self.width = int(vae_scale_factor * (self.init_images[0].width * self.scale_by // vae_scale_factor)) if self.height is None or self.height == 0: self.height = int(vae_scale_factor * (self.init_images[0].height * self.scale_by // vae_scale_factor)) - if getattr(self, 'image_mask', None) is not None: + if (getattr(self, 'image_mask', None) is not None) and (len(getattr(self, 'image_mask', [])) > 0): shared.sd_model = sd_models.set_diffuser_pipe(self.sd_model, sd_models.DiffusersTaskType.INPAINTING) - elif getattr(self, 'init_images', None) is not None: + elif (getattr(self, 'init_images', None) is not None) and (len(getattr(self, 'init_images', [])) > 0): shared.sd_model = sd_models.set_diffuser_pipe(self.sd_model, sd_models.DiffusersTaskType.IMAGE_2_IMAGE) if all_prompts is not None: diff --git a/modules/sd_models.py b/modules/sd_models.py index 3d1bc0992..22159fcfe 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -1097,6 +1097,8 @@ def set_diffuser_pipe(pipe, new_pipe_type): shared.log.warning(f'Pipeline class change failed: type={new_pipe_type} pipeline={cls}') return pipe except Exception as e: # pylint: disable=unused-variable + fn = f'{sys._getframe(2).f_code.co_name}:{sys._getframe(1).f_code.co_name}' # pylint: disable=protected-access + shared.log.trace(f"Pipeline class change requested: target={new_pipe_type} fn={fn}") # pylint: disable=protected-access shared.log.warning(f'Pipeline class change failed: type={new_pipe_type} pipeline={cls} {e}') has_errors = True if not hasattr(pipe, 'config') or has_errors: From 91d4b3377d7a65958aa155ede11bb915b239a58b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 14:46:58 -0400 Subject: [PATCH 109/137] fix duplicate ui labels Signed-off-by: Vladimir Mandic --- modules/framepack/framepack_api.py | 2 +- modules/ui_video_vlm.py | 2 +- modules/video_models/video_ui.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/framepack/framepack_api.py b/modules/framepack/framepack_api.py index 6cb35403b..0c2ecb25b 100644 --- a/modules/framepack/framepack_api.py +++ b/modules/framepack/framepack_api.py @@ -21,7 +21,7 @@ class ReqFramepack(BaseModel): resolution: Optional[int] = Field(default=640, title="Resolution", description="Resolution of the image") duration: Optional[float] = Field(default=4, title="Duration", description="Duration of the video in seconds") latent_ws: Optional[int] = Field(default=9, title="Latent window size", description="Size of the latent window") - steps: Optional[int] = Field(default=25, title="Steps", description="Number of steps for the model") + steps: Optional[int] = Field(default=25, title="Video steps", description="Number of steps for the video generation") cfg_scale: Optional[float] = Field(default=1.0, title="CFG scale", description="CFG scale for the model") cfg_distilled: Optional[float] = Field(default=10.0, title="Distilled CFG scale", description="Distilled CFG scale for the model") cfg_rescale: Optional[float] = Field(default=0.0, title="CFG re-scale", description="CFG re-scale for the model") diff --git a/modules/ui_video_vlm.py b/modules/ui_video_vlm.py index c7ce3a229..6689c0c68 100644 --- a/modules/ui_video_vlm.py +++ b/modules/ui_video_vlm.py @@ -58,7 +58,7 @@ def create_ui(prompt_element:gr.Textbox, image_element:gr.Image): nsfw = gr.Checkbox(label='NSFW allowed', value=True) btn_enhance = gr.Button(value='Enhance now', elem_id='btn_enhance') with gr.Row(): - model = gr.Dropdown(label='Model', choices=models, value=models[0]) + model = gr.Dropdown(label='LLM Model', choices=models, value=models[0]) with gr.Row(): system_prompt = gr.Textbox(label='System prompt', placeholder='override system prompt with user-provided prompt', lines=3) btn_enhance.click( diff --git a/modules/video_models/video_ui.py b/modules/video_models/video_ui.py index 712f12318..b099784b1 100644 --- a/modules/video_models/video_ui.py +++ b/modules/video_models/video_ui.py @@ -126,8 +126,8 @@ def create_ui(prompt, negative, styles, overrides, init_image, init_strength, la with gr.Row(): generate = gr.Button('Generate', elem_id="video_generate_btn", variant='primary', visible=False) with gr.Row(): - engine = gr.Dropdown(label='Engine', choices=list(models_def.models), value='None', elem_id="video_engine") - model = gr.Dropdown(label='Model', choices=[''], value='None', elem_id="video_model") + engine = gr.Dropdown(label='Video engine', choices=list(models_def.models), value='None', elem_id="video_engine") + model = gr.Dropdown(label='Video model', choices=[''], value='None', elem_id="video_model") btn_load = ToolButton(ui_symbols.loading, elem_id="video_model_load") with gr.Row(): url = gr.HTML(label='Model URL', elem_id='video_model_url', value='

') From 6c20104970d19b39baee0305bfc3ebb8285bdd97 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Oct 2025 21:09:43 -0400 Subject: [PATCH 110/137] update todo Signed-off-by: Vladimir Mandic --- TODO.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/TODO.md b/TODO.md index 06cdca14d..7ece7fad7 100644 --- a/TODO.md +++ b/TODO.md @@ -4,19 +4,25 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma ## Future Candidates -- Core: New inpaint/outpaint interface +- UI: New inpaint/outpaint interface [Kanvas](https://github.com/vladmandic/kanvas) -- Core: Create executable for SD.Next +- Deploy: Create executable for SD.Next +- Feature: Integrate natural language imagesearch + [ImageDB](https://github.com/vladmandic/imagedb) - Feature: Transformers unified cache handler -- Remote Text-Encoder support +- Feature: Remote Text-Encoder support - Refactor: [Modular pipelines and guiders](https://github.com/huggingface/diffusers/issues/11915) - Refactor: move sampler options to settings to config - Refactor: [GGUF](https://huggingface.co/docs/diffusers/main/en/quantization/gguf) - Feature: LoRA add OMI format support for SD35/FLUX.1 +- Refactor: remove `CodeFormer` +- Refactor: remove `GFPGAN` +- UI: Lite vs Expert mode - Video tab: add full API support - Control tab: add overrides handling +- Engine: TensorRT acceleration -### Under Consideration +### New models / Pipelines - [Inf-DiT](https://github.com/zai-org/Inf-DiT) - [DiffSynth Studio](https://github.com/modelscope/DiffSynth-Studio) @@ -29,13 +35,6 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma - [ByteDance OneReward](https://github.com/bytedance/OneReward) - [ByteDance USO](https://github.com/bytedance/USO) - [Video Inpaint Pipeline](https://github.com/huggingface/diffusers/pull/12506) -- Remove: `CodeFormer` -- Remove: `GFPGAN` -- ModernUI: Lite vs Expert mode -- Engine: TensorRT acceleration - -### New models / Pipelines - - [Krea Realtime Video](https://huggingface.co/krea/krea-realtime-video) - [Wan-2.2 Animate](https://github.com/huggingface/diffusers/pull/12526) - [Wan-2.2 S2V](https://github.com/huggingface/diffusers/pull/12258) From 6c937c2747fbfa0292bb511dbca601a8aab7c417 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Wed, 29 Oct 2025 13:09:03 +0300 Subject: [PATCH 111/137] Fix transformers using all the ram --- modules/sdnq/quantizer.py | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/modules/sdnq/quantizer.py b/modules/sdnq/quantizer.py index 0ca465b09..aa539af02 100644 --- a/modules/sdnq/quantizer.py +++ b/modules/sdnq/quantizer.py @@ -6,12 +6,16 @@ from enum import Enum import re import torch + from transformers.quantizers import HfQuantizer from diffusers.quantizers.base import DiffusersQuantizer from diffusers.quantizers.quantization_config import QuantizationConfigMixin -from diffusers.utils import get_module_from_name -from modules import devices, shared +from diffusers.utils import get_module_from_name +from accelerate import init_empty_weights +from accelerate.utils import set_module_tensor_to_device + +from modules import devices, shared from .common import dtype_dict, module_skip_keys_dict, accepted_weights, use_tensorwise_fp8_matmul, allowed_types, conv_types, conv_transpose_types, use_contiguous_mm from .dequantizer import dequantizer_dict, dequantize_sdnq_model from .forward import get_forward_func @@ -477,8 +481,11 @@ class SDNQQuantizer(DiffusersQuantizer, HfQuantizer): model, param_value: "torch.Tensor", param_name: str, + return_true: bool = True, *args, **kwargs, # pylint: disable=unused-argument ): + if return_true: + return True if self.pre_quantized: layer, _tensor_name = get_module_from_name(model, param_name) if hasattr(layer, "sdnq_dequantizer"): @@ -492,9 +499,6 @@ class SDNQQuantizer(DiffusersQuantizer, HfQuantizer): return True else: return True - if param_value is not None and param_value.device.type == "cpu": - with devices.inference_context(): - param_value.data = param_value.clone() # safetensors is unable to release the cpu memory without this return False def check_quantized_param(self, *args, **kwargs) -> bool: @@ -518,10 +522,19 @@ class SDNQQuantizer(DiffusersQuantizer, HfQuantizer): target_device: torch.device, *args, **kwargs, # pylint: disable=unused-argument ): + if not self.check_if_quantized_param(model, param_value, param_name, return_true=False): + # safetensors is unable to release the cpu memory without this + if devices.same_device(param_value.device, target_device): + param_value = param_value.clone() + else: + param_value = param_value.to(target_device) + set_module_tensor_to_device(model, param_name, target_device, param_value, param_value.dtype) + return + if self.pre_quantized: layer, tensor_name = get_module_from_name(model, param_name) if param_value is not None: - return_dtype = param_value.dtype if tensor_name == "weight" else torch.float32 if self.quantization_config.dequantize_fp32 else self.torch_dtype if self.torch_dtype is not None else param_value.dtype + return_dtype = param_value.dtype if tensor_name == "weight" else torch.float32 if self.quantization_config.dequantize_fp32 else kwargs.get("dtype", param_value.dtype if self.torch_dtype is None else self.torch_dtype) if param_value.dtype == return_dtype and devices.same_device(param_value.device, target_device): param_value = param_value.clone() else: @@ -530,7 +543,7 @@ class SDNQQuantizer(DiffusersQuantizer, HfQuantizer): setattr(layer, tensor_name, param_value) return - torch_dtype = param_value.dtype if self.torch_dtype is None else self.torch_dtype + torch_dtype = kwargs.get("dtype", param_value.dtype if self.torch_dtype is None else self.torch_dtype) weights_dtype = get_minimum_dtype(self.quantization_config.weights_dtype, param_name, self.quantization_config.modules_dtype_dict) if self.quantization_config.return_device is not None: @@ -585,7 +598,6 @@ class SDNQQuantizer(DiffusersQuantizer, HfQuantizer): **kwargs, # pylint: disable=unused-argument ): if self.pre_quantized: - from accelerate import init_empty_weights self.quantization_config.quantization_device = None self.quantization_config.return_device = None self.quantization_config.non_blocking = False From 7bcc5fa29c070de6bf95b4557583295f004b96a7 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Wed, 29 Oct 2025 13:36:31 +0300 Subject: [PATCH 112/137] SDNQ add HunyuanImage3ForCausalMM keys --- modules/sdnq/common.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/sdnq/common.py b/modules/sdnq/common.py index c328cd76b..84f25ead1 100644 --- a/modules/sdnq/common.py +++ b/modules/sdnq/common.py @@ -99,6 +99,10 @@ module_skip_keys_dict = { ["scale_shift_table", ".rope", ".patch_embedding", ".condition_embedder", ".proj_out", ".norm_out", "pos_embed"], {} ], + "HunyuanImage3ForCausalMM": [ + [".patch_embed", ".time_embed", ".time_embed_2", ".final_layer", ".model.wte", ".model.ln_f", ".timestep_emb", ".vae", ".vision_aligner", ".vision_model.head", ".vision_model.post_layernorm", ".vision_model.embeddings", ".lm_head"], + {} + ], "NaDiT": [ [".emb_in", ".txt_in", ".vid_in", ".emb_scale", ".vid_out", ".vid_out_norm", ".vid_out_ada"], {} From 86275f20803e7b2f920f107a1c46e0edd5d273d0 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 29 Oct 2025 09:38:55 -0400 Subject: [PATCH 113/137] add hunyuanimage-3.0 to reference models Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 13 ++++++++----- html/reference.json | 10 ++++++++++ ...Disty0--HunyuanImage3-SDNQ-uint4-svd-r32.jpg | Bin 0 -> 34670 bytes 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 models/Reference/Disty0--HunyuanImage3-SDNQ-uint4-svd-r32.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index fefdccf64..a7faffa90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,14 @@ # Change Log for SD.Next -## Update for 2025-10-28 +## Update for 2025-10-29 -### Highlights for 2025-10-28 +### Highlights for 2025-10-29 Less than 2 weeks since last release, here's a service-pack style update with a lot of fixes and improvements: - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation and introduction of optimized **pre-quantized** variants for many popular models - use this as your quick start! -- New models: **HunyuanImage 2.1** capable of 2K images natively, **Pony 7** based on AuraFlow architecture, **Kandinsky 5** 10s video models +- New models: **HunyuanImage 2.1** capable of 2K images natively, **HunyuanImage 3.0** large unified multimodal autoregressive model, + **Pony 7** based on AuraFlow architecture, **Kandinsky 5** 10s video models - New **offline mode** to use previously downloaded models without internet connection - Optimizations to **WAN-2.2** given its popularity plus addition of native **VAE Upscaler** and optimized **pre-quantized** variants @@ -19,8 +20,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a [ReadMe](https://github.com/vladmandic/automatic/blob/master/README.md) | [ChangeLog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) | [Docs](https://vladmandic.github.io/sdnext-docs/) | [WiKi](https://github.com/vladmandic/automatic/wiki) | [Discord](https://discord.com/invite/sd-next-federal-batch-inspectors-1101998836328697867) | [Sponsor](https://github.com/sponsors/vladmandic) - -### Details for 2025-10-28 +### Details for 2025-10-29 - **Reference** networks section is now split into actual *Base* models plus: - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage @@ -34,6 +34,8 @@ Less than 2 weeks since last release, here's a service-pack style update with a - **Models Reference** - [Tencent HunyuanImage 2.1](https://huggingface.co/tencent/HunyuanImage-2.1) in *full*, *distilled* and *refiner* variants *HunyuanImage-2.1* is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE + - [Tencent HunyuanImage 3.0](https://huggingface.co/tencent/HunyuanImage-3.0) in [pre-quant](https://huggingface.co/Disty0/HunyuanImage3-SDNQ-uint4-svd-r32) only variant due to massive size + *HunyuanImage 3.0* is very large at 47GB pre-quantized (oherwise its 157GB) that unifies multimodal understanding and generation within an autoregressive framework - [Kandinsky 5 Lite 10s](https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-10s-Diffusers') in *SFT, CFG-distilled and Steps-distilled* variants second series of models in *Kandinsky5* series is T2V model optimized for 10sec videos and uses Qwen2.5 text encoder - [Pony 7](https://huggingface.co/purplesmartai/pony-v7-base) @@ -61,6 +63,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - add `xpu` stats in gpu monitor - **Other** - improved **SDNQ SVD** and low-bit matmul performance + - reduce RAM usage on model load using **SDNQ SVD** - change default **schedulers** for sdxl - warn on `python==3.9` end-of-life and `python==3.10` not actively supported - **scheduler** add base and max shift parameters for flow-matching samplers diff --git a/html/reference.json b/html/reference.json index 265ffb4dd..b425e88cc 100644 --- a/html/reference.json +++ b/html/reference.json @@ -1006,6 +1006,16 @@ "size": 16.10, "extras": "" }, + "Tencent HunyuanImage 3.0": { + "path": "Disty0/HunyuanImage3-SDNQ-uint4-svd-r32", + "desc": "HunyuanImage-3.0 is a groundbreaking native multimodal model that unifies multimodal understanding and generation within an autoregressive framework.", + "preview": "Disty0--HunyuanImage3-SDNQ-uint4-svd-r32.jpg", + "extras": "", + "skip": true, + "tags": "quantized", + "size": 57.06, + "date": "2025 September" + }, "Tempest-by-Vlad XL sdnq-svd-uint4": { "path": "vladmandic/tempestByVlad_baseV01-SDNQ-uint4-svd", "preview": "tempestByVlad_baseV01.jpg", diff --git a/models/Reference/Disty0--HunyuanImage3-SDNQ-uint4-svd-r32.jpg b/models/Reference/Disty0--HunyuanImage3-SDNQ-uint4-svd-r32.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0c28e944b295e91d209853332f259dd44e6a93c GIT binary patch literal 34670 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 Date: Wed, 29 Oct 2025 09:44:18 -0400 Subject: [PATCH 114/137] cleanup Signed-off-by: Vladimir Mandic --- modules/devices.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/devices.py b/modules/devices.py index 8fb2e4ad4..fb3bce320 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -584,7 +584,7 @@ def set_sdpa_params(): log.debug(f'Torch attention installed: flashattn={flash} sageattention={sage}') from diffusers.models import attention_dispatch as a - log.debug(f'Torch diffusers available: flash={a._CAN_USE_FLASH_ATTN} flash3={a._CAN_USE_FLASH_ATTN_3} aiter={a._CAN_USE_AITER_ATTN} sage={a._CAN_USE_SAGE_ATTN} flex={a._CAN_USE_FLEX_ATTN} npu={a._CAN_USE_NPU_ATTN} xla={a._CAN_USE_XLA_ATTN} xformers={a._CAN_USE_XFORMERS_ATTN}') # pylint: disable=protected-access + log.debug(f'Torch attention status: flash={a._CAN_USE_FLASH_ATTN} flash3={a._CAN_USE_FLASH_ATTN_3} aiter={a._CAN_USE_AITER_ATTN} sage={a._CAN_USE_SAGE_ATTN} flex={a._CAN_USE_FLEX_ATTN} npu={a._CAN_USE_NPU_ATTN} xla={a._CAN_USE_XLA_ATTN} xformers={a._CAN_USE_XFORMERS_ATTN}') # pylint: disable=protected-access except Exception as e: log.warning(f'Torch SDPA: {e}') From 567b9e7014c9e1ad0a4fa2706dd513c8292dee68 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 29 Oct 2025 11:10:47 -0400 Subject: [PATCH 115/137] add hunyuanimage3 loader Signed-off-by: Vladimir Mandic --- modules/modeldata.py | 2 ++ modules/sd_detect.py | 2 ++ modules/sd_models.py | 4 ++++ modules/sd_offload.py | 2 +- modules/shared_items.py | 1 + pipelines/model_hyimage.py | 25 +++++++++++++++++++++++++ 6 files changed, 35 insertions(+), 1 deletion(-) diff --git a/modules/modeldata.py b/modules/modeldata.py index c7224d06a..77f8f47d0 100644 --- a/modules/modeldata.py +++ b/modules/modeldata.py @@ -80,6 +80,8 @@ def get_model_type(pipe): model_type = 'wanai' elif 'HDM-xut' in name: model_type = 'hdm' + elif 'HunyuanImage3' in name: + model_type = 'hunyuanimage3' elif 'HunyuanImage' in name: model_type = 'hunyuanimage' else: diff --git a/modules/sd_detect.py b/modules/sd_detect.py index 52284c9fb..8dd37fa50 100644 --- a/modules/sd_detect.py +++ b/modules/sd_detect.py @@ -113,6 +113,8 @@ def guess_by_name(fn, current_guess): return 'Kandinsky 2.2' elif 'kandinsky-3' in fn.lower(): return 'Kandinsky 3.0' + elif 'hunyuanimage3' in fn.lower(): + return 'HunyuanImage3' elif 'hunyuanimage' in fn.lower(): return 'HunyuanImage' elif 'x-omni' in fn.lower(): diff --git a/modules/sd_models.py b/modules/sd_models.py index 22159fcfe..4ee2152ac 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -402,6 +402,10 @@ def load_diffuser_force(model_type, checkpoint_info, diffusers_load_config, op=' from pipelines.model_hyimage import load_hyimage sd_model = load_hyimage(checkpoint_info, diffusers_load_config) # pylint: disable=assignment-from-none allow_post_quant = False + elif model_type in ['HunyuanImage3']: + from pipelines.model_hyimage import load_hyimage3 + sd_model = load_hyimage3(checkpoint_info, diffusers_load_config) # pylint: disable=assignment-from-none + allow_post_quant = False elif model_type in ['X-Omni']: from pipelines.model_xomni import load_xomni sd_model = load_xomni(checkpoint_info, diffusers_load_config) # pylint: disable=assignment-from-none diff --git a/modules/sd_offload.py b/modules/sd_offload.py index 85d245c34..e41e65f42 100644 --- a/modules/sd_offload.py +++ b/modules/sd_offload.py @@ -14,7 +14,7 @@ from modules.timer import process as process_timer debug = os.environ.get('SD_MOVE_DEBUG', None) is not None verbose = os.environ.get('SD_MOVE_VERBOSE', None) is not None debug_move = log.trace if debug else lambda *args, **kwargs: None -offload_warn = ['sc', 'sd3', 'f1', 'h1', 'hunyuandit', 'auraflow', 'omnigen', 'omnigen2', 'cogview4', 'cosmos', 'chroma', 'x-omni', 'hunyuanimage'] +offload_warn = ['sc', 'sd3', 'f1', 'h1', 'hunyuandit', 'auraflow', 'omnigen', 'omnigen2', 'cogview4', 'cosmos', 'chroma', 'x-omni', 'hunyuanimage', 'hunyuanimage3'] offload_post = ['h1'] offload_hook_instance = None balanced_offload_exclude = ['CogView4Pipeline', 'MeissonicPipeline'] diff --git a/modules/shared_items.py b/modules/shared_items.py index 29490562a..a7d77d641 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -58,6 +58,7 @@ pipelines = { 'Bria': getattr(diffusers, 'DiffusionPipeline', None), 'hdm': getattr(diffusers, 'DiffusionPipeline', None), 'X-Omni': getattr(diffusers, 'DiffusionPipeline', None), + 'HunyuanImage3': getattr(diffusers, 'DiffusionPipeline', None), } diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index b91cff00c..86620d326 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -35,3 +35,28 @@ def load_hyimage(checkpoint_info, diffusers_load_config={}): # pylint: disable=u devices.torch_gc(force=True, reason='load') return pipe + + +def load_hyimage3(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument + repo_id = sd_models.path_to_repo(checkpoint_info) + sd_models.hf_auth_check(checkpoint_info) + shared.log.debug(f'Load model: type=HunyuanImage3 repo="{repo_id}" offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype}') + + from sdnq import SDNQConfig # import sdnq to register it into transformers + pipe = transformers.AutoModelForCausalLM.from_pretrained( + repo_id, + attn_implementation="sdpa", + trust_remote_code=True, + torch_dtype=devices.dtype, + device_map="auto", + moe_impl="eager", + ) + pipe.load_tokenizer(repo_id) + pipe.__call__ = pipe.generate_image + pipe.task_args = { + 'stream': True, + 'diff_infer_steps': 20, + } + + devices.torch_gc(force=True, reason='load') + return pipe From d43091f1fa3a98adb09c772925eb42493b2f41ac Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 29 Oct 2025 11:28:09 -0400 Subject: [PATCH 116/137] lint set minimum to py310 and update rules Signed-off-by: Vladimir Mandic --- .pylintrc | 9 ++++++--- modules/masking.py | 2 +- modules/postprocess/pixelart.py | 2 +- modules/sdnq/quantizer.py | 2 +- pipelines/model_hyimage.py | 2 +- scripts/nudenet/nudenet.py | 4 ++-- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.pylintrc b/.pylintrc index 5dc22b99c..e483254dc 100644 --- a/.pylintrc +++ b/.pylintrc @@ -2,6 +2,7 @@ analyse-fallback-blocks=no clear-cache-post-run=no extension-pkg-allow-list= +prefer-stubs=yes extension-pkg-whitelist= fail-on= fail-under=10 @@ -69,11 +70,11 @@ ignore-patterns=.*test*.py$, .*_model_arch.py*, .*_model_arch_v2.py$, ignored-modules= -jobs=0 +jobs=8 limit-inference-results=100 load-plugins= -persistent=yes -py-version=3.9 +persistent=no +py-version=3.10 recursive=no source-roots= unsafe-load-any-extension=no @@ -207,6 +208,8 @@ disable=abstract-method, unnecessary-lambda-assigment, unnecessary-lambda, unused-wildcard-import, + unpacking-non-sequence, + unsubscriptable-object, useless-return, use-dict-literal, use-symbolic-message-instead, diff --git a/modules/masking.py b/modules/masking.py index 5b3319df0..4fc54adaa 100644 --- a/modules/masking.py +++ b/modules/masking.py @@ -339,7 +339,7 @@ def outpaint(input_image: Image.Image, outpaint_type: str = 'Edge'): debug(f'Run outpaint: fn={fn}') # pylint: disable=protected-access image = cv2.cvtColor(np.array(input_image), cv2.COLOR_RGB2BGR) h0, w0 = image.shape[:2] - empty = (image == 0).all(axis=2) + empty = (image == 0).all(axis=2) # pylint: disable=no-member y0, x0 = np.where(~empty) # non empty x1, x2 = min(x0), max(x0) y1, y2 = min(y0), max(y0) diff --git a/modules/postprocess/pixelart.py b/modules/postprocess/pixelart.py index d9ce620ee..90b9cb1ac 100644 --- a/modules/postprocess/pixelart.py +++ b/modules/postprocess/pixelart.py @@ -55,7 +55,7 @@ def edge_detect_for_pixelart(image: PipelineImageInput, image_weight: float = 1. block_height = height // block_size block_width = width // block_size - min_pool = -torch.nn.functional.max_pool2d(-new_image, block_size, 1, block_size//2, 1, False, False) + min_pool = 0 - torch.nn.functional.max_pool2d(-new_image, block_size, 1, block_size//2, 1, False, False) min_pool = min_pool[:, :, :height, :width] greyscale = (new_image[:,0,:,:] * 0.299).add_(new_image[:,1,:,:], alpha=0.587).add_(new_image[:,2,:,:], alpha=0.114) diff --git a/modules/sdnq/quantizer.py b/modules/sdnq/quantizer.py index aa539af02..dec88e3a9 100644 --- a/modules/sdnq/quantizer.py +++ b/modules/sdnq/quantizer.py @@ -482,7 +482,7 @@ class SDNQQuantizer(DiffusersQuantizer, HfQuantizer): param_value: "torch.Tensor", param_name: str, return_true: bool = True, - *args, **kwargs, # pylint: disable=unused-argument + *args, **kwargs, # pylint: disable=unused-argument,keyword-arg-before-vararg ): if return_true: return True diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 86620d326..501dd9699 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -42,7 +42,7 @@ def load_hyimage3(checkpoint_info, diffusers_load_config={}): # pylint: disable= sd_models.hf_auth_check(checkpoint_info) shared.log.debug(f'Load model: type=HunyuanImage3 repo="{repo_id}" offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype}') - from sdnq import SDNQConfig # import sdnq to register it into transformers + from sdnq import SDNQConfig # pylint: disable=unused-import pipe = transformers.AutoModelForCausalLM.from_pretrained( repo_id, attn_implementation="sdpa", diff --git a/scripts/nudenet/nudenet.py b/scripts/nudenet/nudenet.py index 06ab7db25..008ccaa97 100755 --- a/scripts/nudenet/nudenet.py +++ b/scripts/nudenet/nudenet.py @@ -150,8 +150,8 @@ class NudeDetector: return background if fg_channels < 4: # make sure that overlay is rgba log.warning('NudeNet overlay image does not have alpha channel') - foreground = cv2.cvtColor(foreground, cv2.COLOR_RGB2RGBA) - foreground[:, :, 3] = cv2.cvtColor(foreground, cv2.COLOR_BGR2GRAY) + foreground_color = cv2.cvtColor(foreground, cv2.COLOR_RGB2RGBA) + foreground[:, :, 3] = cv2.cvtColor(foreground_color, cv2.COLOR_BGR2GRAY) fg_h, fg_w, fg_channels = foreground.shape if x_offset is None: # center by default x_offset = (bg_w - fg_w) // 2 From 49a9ab3d87ac716214cc795ee03aa71e0b0f0c4d Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 29 Oct 2025 11:40:20 -0400 Subject: [PATCH 117/137] linting Signed-off-by: Vladimir Mandic --- TODO.md | 5 +++-- modules/control/util.py | 2 +- modules/face/reswapper_utils.py | 5 ++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/TODO.md b/TODO.md index 7ece7fad7..3f62f5763 100644 --- a/TODO.md +++ b/TODO.md @@ -65,13 +65,13 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma ## Code TODO -> pnpm lint | grep W0511 | awk -F'TODO ' '{print "- "$NF}' | sed 's/ (fixme)//g' | sort +> npm run todo - control: support scripts via api - fc: autodetect distilled based on model - fc: autodetect tensor format based on model - hypertile: vae breaks when using non-standard sizes -- install: enable ROCm for windows when available +- install: switch to pytorch source when it becomes available - loader: load receipe - loader: save receipe - lora: add other quantization types @@ -81,5 +81,6 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma - model load: implement model in-memory caching - modernui: monkey-patch for missing tabs.select event - modules/lora/lora_extract.py:188:9: W0511: TODO: lora: support pre-quantized flux +- modules/modular_guiders.py:65:58: W0511: TODO: guiders - processing: remove duplicate mask params - resize image: enable full VAE mode for resize-latent diff --git a/modules/control/util.py b/modules/control/util.py index f528c7ac9..fccfa0abc 100644 --- a/modules/control/util.py +++ b/modules/control/util.py @@ -55,7 +55,7 @@ def nms(x, t, s): for f in [f1, f2, f3, f4]: np.putmask(y, cv2.dilate(x, kernel=f) == x, x) z = np.zeros_like(y, dtype=np.uint8) - z[y > t] = 255 + z[y > t] = 255 # pylint: disable=unsupported-assignment-operation return z def min_max_norm(x): diff --git a/modules/face/reswapper_utils.py b/modules/face/reswapper_utils.py index ae260054d..a7451103f 100644 --- a/modules/face/reswapper_utils.py +++ b/modules/face/reswapper_utils.py @@ -1,9 +1,8 @@ +# https://github.com/somanchiu/ReSwapper/blob/GAN/Image.py import cv2 import numpy as np -### https://github.com/somanchiu/ReSwapper/blob/GAN/Image.py - input_std = 255.0 input_mean = 0.0 @@ -38,7 +37,7 @@ def blend_swapped_image(swapped_face, target_image, M): warped_face = cv2.warpAffine(swapped_face, M_inv, (w, h),borderValue=0.0) img_white = np.full((swapped_face.shape[0], swapped_face.shape[1]), 255, dtype=np.float32) img_mask = cv2.warpAffine(img_white, M_inv, (w, h), borderValue=0.0) - img_mask[img_mask > 20] = 255 + img_mask[img_mask > 20] = 255 # pylint: disable=unsupported-assignment-operation mask_h_inds, mask_w_inds = np.where(img_mask == 255) if len(mask_h_inds) > 0 and len(mask_w_inds) > 0: # safety check mask_h = np.max(mask_h_inds) - np.min(mask_h_inds) From 0c3157e8b947dcee98790b3aa6ab4f5d686a710c Mon Sep 17 00:00:00 2001 From: Oleksandr Liutyi Date: Wed, 29 Oct 2025 18:09:24 +0200 Subject: [PATCH 118/137] Pony v7 cover image --- .../Reference/purplesmartai--pony-v7-base.jpg | Bin 49862 -> 77018 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/models/Reference/purplesmartai--pony-v7-base.jpg b/models/Reference/purplesmartai--pony-v7-base.jpg index 4aa4aa794f63c8c738454fb20bfad4bfe93d4c0d..958e14007262b0f5871893d5607a75aed2fe31b3 100644 GIT binary patch literal 77018 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 xl+Kc^Kz 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 From 056b638c39322b1968b148b7dfb161713b4f623c Mon Sep 17 00:00:00 2001 From: Disty0 Date: Wed, 29 Oct 2025 19:40:44 +0300 Subject: [PATCH 119/137] cleanup hy3 --- modules/sd_detect.py | 2 +- pipelines/model_hyimage.py | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/sd_detect.py b/modules/sd_detect.py index 8dd37fa50..17e32f894 100644 --- a/modules/sd_detect.py +++ b/modules/sd_detect.py @@ -113,7 +113,7 @@ def guess_by_name(fn, current_guess): return 'Kandinsky 2.2' elif 'kandinsky-3' in fn.lower(): return 'Kandinsky 3.0' - elif 'hunyuanimage3' in fn.lower(): + elif 'hunyuanimage3' in fn.lower() or 'hunyuanimage-3' in fn.lower(): return 'HunyuanImage3' elif 'hunyuanimage' in fn.lower(): return 'HunyuanImage' diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 501dd9699..9a52cd2c0 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -42,21 +42,23 @@ def load_hyimage3(checkpoint_info, diffusers_load_config={}): # pylint: disable= sd_models.hf_auth_check(checkpoint_info) shared.log.debug(f'Load model: type=HunyuanImage3 repo="{repo_id}" offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype}') - from sdnq import SDNQConfig # pylint: disable=unused-import + allow_quant = True + if 'sdnq-' in repo_id.lower(): + from modules import sdnq # pylint: disable=unused-import # register to diffusers and transformers + sd_models.allow_post_quant = False # we already handled it + allow_quant = False + load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='Model', device_map=True, allow_quant=allow_quant) pipe = transformers.AutoModelForCausalLM.from_pretrained( repo_id, - attn_implementation="sdpa", trust_remote_code=True, - torch_dtype=devices.dtype, - device_map="auto", + attn_implementation="sdpa", moe_impl="eager", + **load_args, + **quant_args, ) pipe.load_tokenizer(repo_id) pipe.__call__ = pipe.generate_image - pipe.task_args = { - 'stream': True, - 'diff_infer_steps': 20, - } + pipe.task_args = {'diff_infer_steps': 20} devices.torch_gc(force=True, reason='load') return pipe From 027a793cb554d3f649d01f86411de5484f36c627 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 29 Oct 2025 13:56:22 -0400 Subject: [PATCH 120/137] update todo Signed-off-by: Vladimir Mandic --- TODO.md | 74 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/TODO.md b/TODO.md index 3f62f5763..9405eb231 100644 --- a/TODO.md +++ b/TODO.md @@ -1,8 +1,10 @@ # TODO -Main ToDo list can be found at [GitHub projects](https://github.com/users/vladmandic/projects) +## Project Board -## Future Candidates +- + +## Internal - UI: New inpaint/outpaint interface [Kanvas](https://github.com/vladmandic/kanvas) @@ -22,46 +24,52 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma - Control tab: add overrides handling - Engine: TensorRT acceleration +## Features + +- [IPAdapter composition](https://huggingface.co/ostris/ip-composition-adapter) +- [IPAdapter negative guidance](https://github.com/huggingface/diffusers/discussions/7167) +- [MagCache](https://github.com/lllyasviel/FramePack/pull/673/files) +- [SmoothCache](https://github.com/huggingface/diffusers/issues/11135) +- [STG](https://github.com/huggingface/diffusers/blob/main/examples/community/README.md#spatiotemporal-skip-guidance) +- [Video Inpaint Pipeline](https://github.com/huggingface/diffusers/pull/12506) + ### New models / Pipelines -- [Inf-DiT](https://github.com/zai-org/Inf-DiT) -- [DiffSynth Studio](https://github.com/modelscope/DiffSynth-Studio) -- [IPAdapter negative guidance](https://github.com/huggingface/diffusers/discussions/7167) -- [IPAdapter composition](https://huggingface.co/ostris/ip-composition-adapter) -- [STG](https://github.com/huggingface/diffusers/blob/main/examples/community/README.md#spatiotemporal-skip-guidance) -- [SmoothCache](https://github.com/huggingface/diffusers/issues/11135) -- [MagCache](https://github.com/lllyasviel/FramePack/pull/673/files) -- [Dream0 guidance](https://huggingface.co/ByteDance/DreamO) +TODO: *Prioritize*! + +- [Bria FIBO](https://huggingface.co/briaai/FIBO) +- [Bytedance Lynx](https://github.com/bytedance/lynx) - [ByteDance OneReward](https://github.com/bytedance/OneReward) - [ByteDance USO](https://github.com/bytedance/USO) -- [Video Inpaint Pipeline](https://github.com/huggingface/diffusers/pull/12506) +- [Chroma1 Radiance](https://huggingface.co/lodestones/Chroma1-Radiance) +- [DiffSynth Studio](https://github.com/modelscope/DiffSynth-Studio) +- [DiffusionForcing](https://github.com/kwsong0113/diffusion-forcing-transformer) +- [Dream0 guidance](https://huggingface.co/ByteDance/DreamO) +- [HunyuanAvatar](https://huggingface.co/tencent/HunyuanVideo-Avatar) +- [HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom) +- [Inf-DiT](https://github.com/zai-org/Inf-DiT) - [Krea Realtime Video](https://huggingface.co/krea/krea-realtime-video) +- [LanDiff](https://github.com/landiff/landiff) +- [Liquid](https://github.com/FoundationVision/Liquid) +- [LongCat-Video](https://huggingface.co/meituan-longcat/LongCat-Video) +- [LucyEdit](https://github.com/huggingface/diffusers/pull/12340) +- [Lumina-DiMOO](https://huggingface.co/Alpha-VLLM/Lumina-DiMOO) +- [Magi](https://github.com/SandAI-org/MAGI-1)(https://github.com/huggingface/diffusers/pull/11713) +- [Ming](https://github.com/inclusionAI/Ming) +- [MUG-V 10B](https://huggingface.co/MUG-V/MUG-V-inference) +- [Ovi](https://github.com/character-ai/Ovi) +- [Phantom HuMo](https://github.com/Phantom-video/Phantom) +- [SD3 UltraEdit](https://github.com/HaozheZhao/UltraEdit) +- [SelfForcing](https://github.com/guandeh17/Self-Forcing) +- [SEVA](https://github.com/huggingface/diffusers/pull/11440) +- [Step1X](https://github.com/stepfun-ai/Step1X-Edit) - [Wan-2.2 Animate](https://github.com/huggingface/diffusers/pull/12526) - [Wan-2.2 S2V](https://github.com/huggingface/diffusers/pull/12258) -- [LongCat-Video](https://huggingface.co/meituan-longcat/LongCat-Video) -- [MUG-V 10B](https://huggingface.co/MUG-V/MUG-V-inference) -- [Chroma1 Radiance](https://huggingface.co/lodestones/Chroma1-Radiance) -- [Ovi](https://github.com/character-ai/Ovi) -- [Bytedance Lynx](https://github.com/bytedance/lynx) -- [Phantom HuMo](https://github.com/Phantom-video/Phantom) -- [Lumina-DiMOO](https://huggingface.co/Alpha-VLLM/Lumina-DiMOO) -- [Wan2.2-Animate-14B](https://huggingface.co/Wan-AI/Wan2.2-Animate-14B) -- [Magi](https://github.com/SandAI-org/MAGI-1)(https://github.com/huggingface/diffusers/pull/11713) -- [SEVA](https://github.com/huggingface/diffusers/pull/11440) -- [Ming](https://github.com/inclusionAI/Ming) -- [Liquid](https://github.com/FoundationVision/Liquid) -- [Step1X](https://github.com/stepfun-ai/Step1X-Edit) -- [LucyEdit](https://github.com/huggingface/diffusers/pull/12340) -- [SD3 UltraEdit](https://github.com/HaozheZhao/UltraEdit) -- [WAN2GP](https://github.com/deepbeepmeep/Wan2GP) -- [SelfForcing](https://github.com/guandeh17/Self-Forcing) -- [DiffusionForcing](https://github.com/kwsong0113/diffusion-forcing-transformer) -- [LanDiff](https://github.com/landiff/landiff) -- [HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom) -- [HunyuanAvatar](https://huggingface.co/tencent/HunyuanVideo-Avatar) -- [WAN-CausVid](https://huggingface.co/lightx2v/Wan2.1-T2V-14B-CausVid) - [WAN-CausVid-Plus t2v](https://github.com/goatWu/CausVid-Plus/) +- [WAN-CausVid](https://huggingface.co/lightx2v/Wan2.1-T2V-14B-CausVid) - [WAN-StepDistill](https://huggingface.co/lightx2v/Wan2.1-T2V-14B-StepDistill-CfgDistill) +- [Wan2.2-Animate-14B](https://huggingface.co/Wan-AI/Wan2.2-Animate-14B) +- [WAN2GP](https://github.com/deepbeepmeep/Wan2GP) ## Code TODO From 9533b7e847acc3f9b2a9b3fbd1d473517a892d2a Mon Sep 17 00:00:00 2001 From: Disty0 Date: Wed, 29 Oct 2025 22:07:25 +0300 Subject: [PATCH 121/137] Add HunyuanImage3Wrapper --- pipelines/model_hyimage.py | 54 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 9a52cd2c0..6ea7f174a 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -1,3 +1,4 @@ +import torch import transformers import diffusers from modules import shared, sd_models, devices, model_quant, sd_hijack_te, sd_hijack_vae @@ -47,6 +48,7 @@ def load_hyimage3(checkpoint_info, diffusers_load_config={}): # pylint: disable= from modules import sdnq # pylint: disable=unused-import # register to diffusers and transformers sd_models.allow_post_quant = False # we already handled it allow_quant = False + load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='Model', device_map=True, allow_quant=allow_quant) pipe = transformers.AutoModelForCausalLM.from_pretrained( repo_id, @@ -57,8 +59,56 @@ def load_hyimage3(checkpoint_info, diffusers_load_config={}): # pylint: disable= **quant_args, ) pipe.load_tokenizer(repo_id) - pipe.__call__ = pipe.generate_image - pipe.task_args = {'diff_infer_steps': 20} + + pipe.pipeline # call it to set up pipeline + pipe = HunyuanImage3Wrapper(pipe) devices.torch_gc(force=True, reason='load') return pipe + + +class HunyuanImage3Wrapper(torch.nn.Module): + def __init__(self, model): + super().__init__() + self.model = model + + def __call__( + self, + prompt: str, + height: int = None, + width: int = None, + num_inference_steps: int = 50, + num_images_per_prompt: int = 1, + guidance_scale: float = 7.5, + guidance_rescale: float = 0.0, + callback_on_step_end = None, + callback_on_step_end_tensor_inputs = ["latents"], + **kwargs, + ): + if hasattr(self.model._pipeline.model, "_hf_hook"): + self.model._pipeline.model._hf_hook.execution_device = torch.device(devices.device) + + if num_inference_steps > 1: + if isinstance(prompt, str): + prompt = [prompt] + prompt = prompt * num_images_per_prompt + + if height is None and width is None: + image_size = "auto" + if height is None: + image_size = (width, width) + if width is None: + image_size = (height, height) + else: + image_size = (height, width) + + return self.model.generate_image( + prompt, + image_size=(height, width), + diff_infer_steps=num_inference_steps, + guidance_scale=guidance_scale, + guidance_rescale=guidance_rescale, + callback_on_step_end=callback_on_step_end, + callback_on_step_end_tensor_inputs=callback_on_step_end_tensor_inputs, + **kwargs, + ) From f7fef1f5b59d56ae37004d60f1ca0afa6af2a5ea Mon Sep 17 00:00:00 2001 From: Disty0 Date: Thu, 30 Oct 2025 00:52:43 +0300 Subject: [PATCH 122/137] fix hy3 --- modules/processing_diffusers.py | 4 +++- pipelines/model_hyimage.py | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index dffeaf780..e16a10899 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -183,6 +183,8 @@ def process_base(p: processing.StableDiffusionProcessing): output = SimpleNamespace(**output) if isinstance(output, list): output = SimpleNamespace(images=output) + if isinstance(output, Image.Image): + output = SimpleNamespace(images=[output]) if hasattr(output, 'images'): shared.history.add(output.images, info=processing.create_infotext(p), ops=p.ops) timer.process.record('pipeline') @@ -196,7 +198,7 @@ def process_base(p: processing.StableDiffusionProcessing): else: shared.log.debug(f'Generated: frames={len(output.frames[0])}') output.images = output.frames[0] - if isinstance(output.images, np.ndarray): + if hasattr(output, 'images') and isinstance(output.images, np.ndarray): output.images = torch.from_numpy(output.images) except AssertionError as e: shared.log.info(e) diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 6ea7f174a..644295d0f 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -1,3 +1,4 @@ +from types import SimpleNamespace import torch import transformers import diffusers @@ -102,7 +103,7 @@ class HunyuanImage3Wrapper(torch.nn.Module): else: image_size = (height, width) - return self.model.generate_image( + output = self.model.generate_image( prompt, image_size=(height, width), diff_infer_steps=num_inference_steps, @@ -112,3 +113,7 @@ class HunyuanImage3Wrapper(torch.nn.Module): callback_on_step_end_tensor_inputs=callback_on_step_end_tensor_inputs, **kwargs, ) + + if not isinstance(output, list): + output = [output] + return SimpleNamespace(images=output) From 8049936e66d98e07da740793af8a58b84ef9d455 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Thu, 30 Oct 2025 03:02:30 +0300 Subject: [PATCH 123/137] hy3 set cache dir --- pipelines/model_hyimage.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 644295d0f..a2c13663d 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -53,6 +53,7 @@ def load_hyimage3(checkpoint_info, diffusers_load_config={}): # pylint: disable= load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='Model', device_map=True, allow_quant=allow_quant) pipe = transformers.AutoModelForCausalLM.from_pretrained( repo_id, + cache_dir=shared.opts.diffusers_dir, trust_remote_code=True, attn_implementation="sdpa", moe_impl="eager", From 28160ab7d3b957fdcb6e8f797b9f610cb2bcb1f6 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Thu, 30 Oct 2025 03:11:50 +0300 Subject: [PATCH 124/137] cleanup dict defined in function args --- pipelines/model_auraflow.py | 4 +++- pipelines/model_bria.py | 4 +++- pipelines/model_chroma.py | 4 +++- pipelines/model_cogview.py | 8 ++++++-- pipelines/model_cosmos.py | 4 +++- pipelines/model_flex.py | 4 +++- pipelines/model_flite.py | 4 +++- pipelines/model_flux.py | 4 +++- pipelines/model_hdm.py | 4 +++- pipelines/model_hidream.py | 8 ++++++-- pipelines/model_hunyuandit.py | 4 +++- pipelines/model_hyimage.py | 8 ++++++-- pipelines/model_kandinsky.py | 12 +++++++++--- pipelines/model_kolors.py | 4 +++- pipelines/model_lumina.py | 8 ++++++-- pipelines/model_meissonic.py | 4 +++- pipelines/model_nextstep.py | 4 +++- pipelines/model_omnigen.py | 8 ++++++-- pipelines/model_pixart.py | 4 +++- pipelines/model_qwen.py | 4 +++- pipelines/model_sana.py | 4 +++- pipelines/model_sd3.py | 4 +++- pipelines/model_stablecascade.py | 5 ++++- pipelines/model_wanai.py | 12 +++++++++--- pipelines/model_xomni.py | 4 +++- 25 files changed, 103 insertions(+), 34 deletions(-) diff --git a/pipelines/model_auraflow.py b/pipelines/model_auraflow.py index 9576f5923..957875dfa 100644 --- a/pipelines/model_auraflow.py +++ b/pipelines/model_auraflow.py @@ -4,7 +4,9 @@ from modules import shared, sd_models, devices, model_quant, sd_hijack_te from pipelines import generic -def load_auraflow(checkpoint_info, diffusers_load_config={}): +def load_auraflow(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_bria.py b/pipelines/model_bria.py index 7baca470f..dd68f4070 100644 --- a/pipelines/model_bria.py +++ b/pipelines/model_bria.py @@ -6,7 +6,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te, sd_hi from pipelines import generic -def load_bria(checkpoint_info, diffusers_load_config={}): +def load_bria(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_chroma.py b/pipelines/model_chroma.py index 69a1afab1..a2a21c34a 100644 --- a/pipelines/model_chroma.py +++ b/pipelines/model_chroma.py @@ -4,7 +4,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_chroma(checkpoint_info, diffusers_load_config={}): +def load_chroma(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_cogview.py b/pipelines/model_cogview.py index 544368c26..ae011ca95 100644 --- a/pipelines/model_cogview.py +++ b/pipelines/model_cogview.py @@ -4,7 +4,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_cogview3(checkpoint_info, diffusers_load_config={}): +def load_cogview3(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) @@ -28,7 +30,9 @@ def load_cogview3(checkpoint_info, diffusers_load_config={}): return pipe -def load_cogview4(checkpoint_info, diffusers_load_config={}): +def load_cogview4(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_cosmos.py b/pipelines/model_cosmos.py index 0004b09ce..4c7430639 100644 --- a/pipelines/model_cosmos.py +++ b/pipelines/model_cosmos.py @@ -4,7 +4,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te, sd_hi from pipelines import generic -def load_cosmos_t2i(checkpoint_info, diffusers_load_config={}): +def load_cosmos_t2i(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_flex.py b/pipelines/model_flex.py index cb33e325a..097da2fec 100644 --- a/pipelines/model_flex.py +++ b/pipelines/model_flex.py @@ -4,7 +4,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_flex(checkpoint_info, diffusers_load_config={}): +def load_flex(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_flite.py b/pipelines/model_flite.py index 3ef092b0b..66199981e 100644 --- a/pipelines/model_flite.py +++ b/pipelines/model_flite.py @@ -5,7 +5,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_flite(checkpoint_info, diffusers_load_config={}): +def load_flite(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_flux.py b/pipelines/model_flux.py index c5cc50eb7..142978455 100644 --- a/pipelines/model_flux.py +++ b/pipelines/model_flux.py @@ -5,7 +5,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_flux(checkpoint_info, diffusers_load_config={}): +def load_flux(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info, force=True) diff --git a/pipelines/model_hdm.py b/pipelines/model_hdm.py index 6b6348dfb..2d17da0a5 100644 --- a/pipelines/model_hdm.py +++ b/pipelines/model_hdm.py @@ -4,7 +4,9 @@ import diffusers from modules import shared, devices, sd_models, errors -def load_hdm(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument +def load_hdm(checkpoint_info, diffusers_load_config=None): # pylint: disable=unused-argument + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_hidream.py b/pipelines/model_hidream.py index 120a89479..10b3d7b92 100644 --- a/pipelines/model_hidream.py +++ b/pipelines/model_hidream.py @@ -4,7 +4,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_llama(diffusers_load_config={}): +def load_llama(diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='TE', device_map=True) llama_repo = shared.opts.model_h1_llama_repo if shared.opts.model_h1_llama_repo != 'Default' else 'meta-llama/Meta-Llama-3.1-8B-Instruct' shared.log.debug(f'Load model: type=HiDream te4="{llama_repo}" quant="{model_quant.get_quant_type(quant_args)}" args={load_args}') @@ -28,7 +30,9 @@ def load_llama(diffusers_load_config={}): return text_encoder_4, tokenizer_4 -def load_hidream(checkpoint_info, diffusers_load_config={}): +def load_hidream(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_hunyuandit.py b/pipelines/model_hunyuandit.py index 42ea4db21..10863e9d9 100644 --- a/pipelines/model_hunyuandit.py +++ b/pipelines/model_hunyuandit.py @@ -4,7 +4,9 @@ from modules import shared, sd_models, devices, model_quant from pipelines import generic -def load_hunyuandit(checkpoint_info, diffusers_load_config={}): +def load_hunyuandit(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index a2c13663d..0954d82fa 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -6,7 +6,9 @@ from modules import shared, sd_models, devices, model_quant, sd_hijack_te, sd_hi from pipelines import generic -def load_hyimage(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument +def load_hyimage(checkpoint_info, diffusers_load_config=None): # pylint: disable=unused-argument + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) @@ -39,7 +41,9 @@ def load_hyimage(checkpoint_info, diffusers_load_config={}): # pylint: disable=u return pipe -def load_hyimage3(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument +def load_hyimage3(checkpoint_info, diffusers_load_config=None): # pylint: disable=unused-argument + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) shared.log.debug(f'Load model: type=HunyuanImage3 repo="{repo_id}" offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype}') diff --git a/pipelines/model_kandinsky.py b/pipelines/model_kandinsky.py index a5f238d0c..e7f4518be 100644 --- a/pipelines/model_kandinsky.py +++ b/pipelines/model_kandinsky.py @@ -4,7 +4,9 @@ from modules import shared, sd_models, devices, model_quant, sd_hijack_te, sd_hi from pipelines import generic -def load_kandinsky21(checkpoint_info, diffusers_load_config={}): +def load_kandinsky21(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) @@ -20,7 +22,9 @@ def load_kandinsky21(checkpoint_info, diffusers_load_config={}): return pipe -def load_kandinsky22(checkpoint_info, diffusers_load_config={}): +def load_kandinsky22(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) @@ -36,7 +40,9 @@ def load_kandinsky22(checkpoint_info, diffusers_load_config={}): return pipe -def load_kandinsky3(checkpoint_info, diffusers_load_config={}): +def load_kandinsky3(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_kolors.py b/pipelines/model_kolors.py index fe95e2b4a..977b68320 100644 --- a/pipelines/model_kolors.py +++ b/pipelines/model_kolors.py @@ -3,7 +3,9 @@ import diffusers from modules import shared, devices, sd_models, sd_hijack_te -def load_kolors(checkpoint_info, diffusers_load_config={}): +def load_kolors(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_lumina.py b/pipelines/model_lumina.py index 060cd3f0b..84607407e 100644 --- a/pipelines/model_lumina.py +++ b/pipelines/model_lumina.py @@ -4,7 +4,9 @@ from modules import shared, sd_models, sd_hijack_te, devices, model_quant from pipelines import generic -def load_lumina(checkpoint_info, diffusers_load_config={}): +def load_lumina(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) @@ -20,7 +22,9 @@ def load_lumina(checkpoint_info, diffusers_load_config={}): return pipe -def load_lumina2(checkpoint_info, diffusers_load_config={}): +def load_lumina2(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_meissonic.py b/pipelines/model_meissonic.py index 165732b9f..c09cf92e5 100644 --- a/pipelines/model_meissonic.py +++ b/pipelines/model_meissonic.py @@ -3,7 +3,7 @@ import diffusers from modules import shared, devices, sd_models, shared_items, sd_hijack_te -def load_meissonic(checkpoint_info, diffusers_load_config={}): +def load_meissonic(checkpoint_info, diffusers_load_config=None): from pipelines.meissonic.transformer import Transformer2DModel as TransformerMeissonic from pipelines.meissonic.scheduler import Scheduler as MeissonicScheduler from pipelines.meissonic.pipeline import MeissonicPipeline @@ -11,6 +11,8 @@ def load_meissonic(checkpoint_info, diffusers_load_config={}): from pipelines.meissonic.pipeline_inpaint import MeissonicInpaintPipeline shared_items.pipelines['Meissonic'] = MeissonicPipeline + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_nextstep.py b/pipelines/model_nextstep.py index ba8a98382..e6320df5a 100644 --- a/pipelines/model_nextstep.py +++ b/pipelines/model_nextstep.py @@ -3,7 +3,9 @@ from modules import shared, devices, sd_models, model_quant # pylint: disable=un from pipelines import generic # pylint: disable=unused-import -def load_nextstep(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument +def load_nextstep(checkpoint_info, diffusers_load_config=None): # pylint: disable=unused-argument + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_omnigen.py b/pipelines/model_omnigen.py index 6cff7de6f..b301abb81 100644 --- a/pipelines/model_omnigen.py +++ b/pipelines/model_omnigen.py @@ -2,7 +2,9 @@ import diffusers from modules import shared, devices, sd_models, model_quant, sd_hijack_te -def load_omnigen(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument +def load_omnigen(checkpoint_info, diffusers_load_config=None): # pylint: disable=unused-argument + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) @@ -30,7 +32,9 @@ def load_omnigen(checkpoint_info, diffusers_load_config={}): # pylint: disable=u return pipe -def load_omnigen2(checkpoint_info, diffusers_load_config={}): # pylint: disable=unused-argument +def load_omnigen2(checkpoint_info, diffusers_load_config=None): # pylint: disable=unused-argument + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_pixart.py b/pipelines/model_pixart.py index c6563d836..206580c0c 100644 --- a/pipelines/model_pixart.py +++ b/pipelines/model_pixart.py @@ -5,7 +5,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_pixart(checkpoint_info, diffusers_load_config={}): +def load_pixart(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_qwen.py b/pipelines/model_qwen.py index 08faf5624..fb16394dd 100644 --- a/pipelines/model_qwen.py +++ b/pipelines/model_qwen.py @@ -3,8 +3,10 @@ import diffusers from modules import shared, devices, sd_models, model_quant, sd_hijack_te, sd_hijack_vae -def load_qwen(checkpoint_info, diffusers_load_config={}): +def load_qwen(checkpoint_info, diffusers_load_config=None): from pipelines import generic, qwen + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) repo_subfolder = checkpoint_info.subfolder sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_sana.py b/pipelines/model_sana.py index 9584263a3..73da28472 100644 --- a/pipelines/model_sana.py +++ b/pipelines/model_sana.py @@ -21,7 +21,9 @@ def load_quants(kwargs, repo_id, cache_dir): return kwargs -def load_sana(checkpoint_info, kwargs={}): +def load_sana(checkpoint_info, kwargs=None): + if kwargs is None: + kwargs = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_sd3.py b/pipelines/model_sd3.py index 027ef9038..7b977d154 100644 --- a/pipelines/model_sd3.py +++ b/pipelines/model_sd3.py @@ -4,7 +4,9 @@ from modules import shared, devices, sd_models, model_quant, sd_hijack_te from pipelines import generic -def load_sd3(checkpoint_info, diffusers_load_config={}): +def load_sd3(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_stablecascade.py b/pipelines/model_stablecascade.py index 40d141364..85eea8aef 100644 --- a/pipelines/model_stablecascade.py +++ b/pipelines/model_stablecascade.py @@ -84,11 +84,14 @@ def load_prior(path, config_file="default"): return prior_unet, prior_text_encoder -def load_cascade_combined(checkpoint_info, diffusers_load_config): +def load_cascade_combined(checkpoint_info, diffusers_load_config=None): from diffusers import StableCascadeDecoderPipeline, StableCascadePriorPipeline, StableCascadeCombinedPipeline from diffusers.models.unets import StableCascadeUNet from modules.sd_unet import unet_dict + if diffusers_load_config is None: + diffusers_load_config = {} + diffusers_load_config.pop("vae", None) if 'cascade' in checkpoint_info.name.lower(): diffusers_load_config["variant"] = 'bf16' diff --git a/pipelines/model_wanai.py b/pipelines/model_wanai.py index fd6839584..57a51f378 100644 --- a/pipelines/model_wanai.py +++ b/pipelines/model_wanai.py @@ -4,7 +4,9 @@ import diffusers from modules import shared, devices, sd_models, model_quant, sd_hijack_te, sd_hijack_vae -def load_transformer(repo_id, diffusers_load_config={}, subfolder='transformer'): +def load_transformer(repo_id, diffusers_load_config=None, subfolder='transformer'): + if diffusers_load_config is None: + diffusers_load_config = {} load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='Model', device_map=True) fn = None @@ -45,7 +47,9 @@ def load_transformer(repo_id, diffusers_load_config={}, subfolder='transformer') return transformer -def load_text_encoder(repo_id, diffusers_load_config={}): +def load_text_encoder(repo_id, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} load_args, quant_args = model_quant.get_dit_args(diffusers_load_config, module='TE', device_map=True) repo_id = 'Wan-AI/Wan2.1-T2V-1.3B-Diffusers' if 'Wan2.' in repo_id else repo_id # always use shared umt5 shared.log.debug(f'Load model: type=WanAI te="{repo_id}" quant="{model_quant.get_quant_type(quant_args)}" args={load_args}') @@ -61,7 +65,9 @@ def load_text_encoder(repo_id, diffusers_load_config={}): return text_encoder -def load_wan(checkpoint_info, diffusers_load_config={}): +def load_wan(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) diff --git a/pipelines/model_xomni.py b/pipelines/model_xomni.py index 838a0c0b3..5b3a96853 100644 --- a/pipelines/model_xomni.py +++ b/pipelines/model_xomni.py @@ -104,7 +104,9 @@ class XOmniPipeline(diffusers.DiffusionPipeline): return images -def load_xomni(checkpoint_info, diffusers_load_config={}): +def load_xomni(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} repo_id = sd_models.path_to_repo(checkpoint_info) sd_models.hf_auth_check(checkpoint_info) From 59941703d093f410791b8312906494bd8e7ba651 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Thu, 30 Oct 2025 03:21:33 +0300 Subject: [PATCH 125/137] cleanup --- pipelines/model_hyimage.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 0954d82fa..0093b6b59 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -66,7 +66,7 @@ def load_hyimage3(checkpoint_info, diffusers_load_config=None): # pylint: disabl ) pipe.load_tokenizer(repo_id) - pipe.pipeline # call it to set up pipeline + pipe.pipeline # noqa: B018 # call it to set up pipeline pipe = HunyuanImage3Wrapper(pipe) devices.torch_gc(force=True, reason='load') @@ -110,7 +110,7 @@ class HunyuanImage3Wrapper(torch.nn.Module): output = self.model.generate_image( prompt, - image_size=(height, width), + image_size=image_size, diff_infer_steps=num_inference_steps, guidance_scale=guidance_scale, guidance_rescale=guidance_rescale, From 299c22ee9148683ca382e8021fc92d4e53580dc5 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 29 Oct 2025 20:41:58 -0400 Subject: [PATCH 126/137] fix nudenet Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/scripts_postprocessing.py | 2 +- scripts/nudenet_ext.py | 10 +++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7faffa90..61d0d6489 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -96,6 +96,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - catch `xet` warnings - avoid unnecessary pipe variant switching - validate pipelines on import + - fix `nudenet` process tab operations ## Update for 2025-10-18 diff --git a/modules/scripts_postprocessing.py b/modules/scripts_postprocessing.py index 95a370522..01c034e0c 100644 --- a/modules/scripts_postprocessing.py +++ b/modules/scripts_postprocessing.py @@ -101,7 +101,7 @@ class ScriptPostprocessingRunner: process_args = {} for (name, _component), value in zip(script.controls.items(), script_args): process_args[name] = value - shared.log.debug(f'Process: script={script.name} args={process_args}') + shared.log.debug(f'Process: script="{script.name}" args={process_args}') script.process(pp, **process_args) shared.state.end(jobid) diff --git a/scripts/nudenet_ext.py b/scripts/nudenet_ext.py index 021a39625..be24ea1ed 100644 --- a/scripts/nudenet_ext.py +++ b/scripts/nudenet_ext.py @@ -1,3 +1,4 @@ +import time import gradio as gr from modules import scripts, scripts_postprocessing, processing, images from scripts.nudenet import nudenet # pylint: disable=no-name-in-module @@ -66,17 +67,20 @@ def process( words='', ): from modules.shared import state, log - if enabled and p is not None and pp is not None and pp.image is not None: + if enabled and pp is not None and pp.image is not None: if nudenet.detector is None: nudenet.detector = nudenet.NudeDetector(providers=['CUDAExecutionProvider', 'CPUExecutionProvider']) # loads and initializes model once + t0 = time.time() nudes = nudenet.detector.censor(image=pp.image, method=method, min_score=score, censor=censor, blocks=blocks, overlay=overlay) + t1 = time.time() if len(nudes.censored) > 0: # Check if there are any censored areas if not copy: pp.image = nudes.output else: info = processing.create_infotext(p) images.save_image(nudes.output, path=p.outpath_samples, seed=p.seed, prompt=p.prompt, info=info, p=p, suffix="-censored") - meta = '; '.join([f'{d["label"]}:{d["score"]}' for d in nudes.detections]) # add all metadata + dct = {d["label"]: d["score"] for d in nudes.detections} + meta = '; '.join([f'{k}:{v}' for k, v in dct.items()]) # add all metadata nsfw = any([d["label"] in nudenet.nsfw for d in nudes.detections]) # noqa:C419 # pylint: disable=use-a-generator if metadata and p is not None: p.extra_generation_params["NudeNet"] = meta @@ -84,7 +88,7 @@ def process( if metadata and hasattr(pp, 'info'): pp.info['NudeNet'] = meta pp.info['NSFW'] = nsfw - log.debug(f'NudeNet detect: {meta} nsfw={nsfw}') + log.debug(f'NudeNet detect: {dct} nsfw={nsfw} time={(t1 - t0):.2f}') if lang and p is not None: prompts = '.\n'.join(p.all_prompts) if p.all_prompts else p.prompt allowed = [a.strip() for a in allowed.split(',')] if allowed else [] From 4033567d4fc996d1d27a3f3988bce508fcb91345 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 30 Oct 2025 13:36:58 -0400 Subject: [PATCH 127/137] controlnet fixes and validation Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 8 ++-- cli/api-control.py | 22 ++++++++-- modules/api/control.py | 64 ++++++++++++----------------- modules/control/run.py | 30 +++++++++++--- modules/control/unit.py | 2 +- modules/control/units/controlnet.py | 6 +-- modules/processing_diffusers.py | 2 +- pipelines/model_hyimage.py | 2 +- scripts/xyz/xyz_grid_shared.py | 4 +- 9 files changed, 82 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61d0d6489..510dbfcfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Change Log for SD.Next -## Update for 2025-10-29 +## Update for 2025-10-30 -### Highlights for 2025-10-29 +### Highlights for 2025-10-30 Less than 2 weeks since last release, here's a service-pack style update with a lot of fixes and improvements: - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation @@ -20,7 +20,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a [ReadMe](https://github.com/vladmandic/automatic/blob/master/README.md) | [ChangeLog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) | [Docs](https://vladmandic.github.io/sdnext-docs/) | [WiKi](https://github.com/vladmandic/automatic/wiki) | [Discord](https://discord.com/invite/sd-next-federal-batch-inspectors-1101998836328697867) | [Sponsor](https://github.com/sponsors/vladmandic) -### Details for 2025-10-29 +### Details for 2025-10-30 - **Reference** networks section is now split into actual *Base* models plus: - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage @@ -73,6 +73,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - enhanced LoRA support for **Wan-2.2-14B** - log available attention mechanisms on startup - support for switching back-and-forth **t2i** and **t2v** for *wan-2.x* models + - control `api` cache controlnets - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence @@ -97,6 +98,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - avoid unnecessary pipe variant switching - validate pipelines on import - fix `nudenet` process tab operations + - `controlnet` input validation ## Update for 2025-10-18 diff --git a/cli/api-control.py b/cli/api-control.py index 925c77599..4af233ae3 100755 --- a/cli/api-control.py +++ b/cli/api-control.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +# example: api-control.py --prompt "anime girl" --control "Canny:Canny:1.0:0.1:0.9:/home/vlado/generative/Samples/anime1.jpg,None:Depth:0.9:0.0:1.0:/home/vlado/generative/Samples/anime1.jpg" --hires --detailer --output /tmp/anime.jpg import os import io import time @@ -70,10 +71,12 @@ def generate(args): # pylint: disable=redefined-outer-name options['negative_prompt'] = args.negative options['steps'] = int(args.steps) options['seed'] = int(args.seed) - options['sampler_name'] = args.sampler + if args.sampler is not None: + options['sampler_name'] = args.sampler if args.control is not None: - options['unit_type'] = args.type + if args.type is not None: + options['unit_type'] = args.type options['control'] = [] for control in args.control.split(','): u = control.split(':') @@ -86,7 +89,9 @@ def generate(args): # pylint: disable=redefined-outer-name 'strength': float(u[2].strip()) if len(u) > 2 else 1.0, 'start': float(u[3].strip()) if len(u) > 3 else 0.0, 'end': float(u[4].strip()) if len(u) > 4 else 1.0, + 'override': encode(u[5].strip()) if len(u) > 5 else None, }) + log.info(f'added control: {options["control"]}') if args.ipadapter is not None: options['ip_adapter'] = [] @@ -109,6 +114,13 @@ def generate(args): # pylint: disable=redefined-outer-name if args.mask is not None: options['mask'] = encode(args.mask) + if args.detailer: + options['detailer_enabled'] = True + + if args.hires: + options['enable_hr'] = True + options['hr_force'] = True + data = post('/sdapi/v1/control', options) t1 = time.time() if 'info' in data: @@ -141,13 +153,15 @@ if __name__ == "__main__": parser.add_argument('--negative', required=False, default='', help='negative prompt text') parser.add_argument('--steps', required=False, default=20, help='number of steps') parser.add_argument('--seed', required=False, default=-1, help='initial seed') - parser.add_argument('--sampler', required=False, default='UniPC', help='sampler name') + parser.add_argument('--sampler', required=False, default=None, help='sampler name') parser.add_argument('--output', required=False, default=None, help='output image file') parser.add_argument('--processed', required=False, default=None, help='processed output file') parser.add_argument('--model', required=False, help='model name') - parser.add_argument('--type', required=False, help='control type') + parser.add_argument('--type', required=False, default="controlnet", help='control type') parser.add_argument('--control', required=False, help='control units') parser.add_argument('--ipadapter', required=False, help='ipadapter units') + parser.add_argument('--detailer', required=False, default=False, action='store_true', help='force detailer') + parser.add_argument('--hires', required=False, default=False, action='store_true', help='force hires') args = parser.parse_args() log.info(f'api-control: {args}') generate(args) diff --git a/modules/api/control.py b/modules/api/control.py index 1f74c9ba0..bc7e1efa9 100644 --- a/modules/api/control.py +++ b/modules/api/control.py @@ -37,28 +37,6 @@ ReqControl = models.create_model_from_signature( if not hasattr(ReqControl, "__config__"): ReqControl.__config__ = models.DummyConfig -""" -ReqControl = models.PydanticModelGenerator( - "StableDiffusionProcessingControl", - StableDiffusionProcessingControl, - [ - {"key": "sampler_index", "type": Union[int, str], "default": 0}, - {"key": "sampler_name", "type": str, "default": "Default"}, - {"key": "script_name", "type": Optional[str], "default": ""}, - {"key": "script_args", "type": list, "default": []}, - {"key": "send_images", "type": bool, "default": True}, - {"key": "save_images", "type": bool, "default": False}, - {"key": "alwayson_scripts", "type": dict, "default": {}}, - {"key": "ip_adapter", "type": Optional[List[models.ItemIPAdapter]], "default": None, "exclude": True}, - {"key": "face", "type": Optional[models.ItemFace], "default": None, "exclude": True}, - {"key": "control", "type": Optional[List[ItemControl]], "default": [], "exclude": True}, - {"key": "extra", "type": Optional[dict], "default": {}, "exclude": True}, - ] -).generate_model() -if not hasattr(ReqControl, "__config__"): - ReqControl.__config__ = models.DummyConfig -""" - class ResControl(BaseModel): images: List[str] = Field(default=None, title="Images", description="") @@ -71,6 +49,7 @@ class APIControl(): def __init__(self, queue_lock: Lock): self.queue_lock = queue_lock self.default_script_arg = [] + self.units = [] def sanitize_args(self, args: dict): args = vars(args) @@ -142,29 +121,38 @@ class APIControl(): from modules.control.unit import Unit, unit_types req.units = [] if req.unit_type is None: - return req.control + req.unit_type = 'controlnet' if req.unit_type not in unit_types: shared.log.error(f'Control uknown unit type: type={req.unit_type} available={unit_types}') - return req.control - for u in req.control: - unit = Unit( - enabled = True, - unit_type = req.unit_type, - model_id = u.model, - process_id = u.process, - strength = u.strength, - start = u.start, - end = u.end, - ) + return + for i in range(len(req.control)): + u = req.control[i] + if (len(self.units) > i) and (self.units[i].process_id == u.process) and (self.units[i].model_id == u.model): + unit = self.units[i] + unit.enabled = True + unit.strength = u.strength + unit.start = u.start + unit.end = u.end + else: + unit = Unit( + enabled = True, + unit_type = req.unit_type, + model_id = u.model, + process_id = u.process, + strength = u.strength, + start = u.start, + end = u.end, + ) if u.override is not None: unit.override = helpers.decode_base64_to_image(u.override) req.units.append(unit) - return req.control + self.units = req.units + del req.control def post_control(self, req: ReqControl): self.prepare_face_module(req) - orig_control = self.prepare_control(req) - del req.control + requested = req.control + self.prepare_control(req) # prepare args args = req.copy(update={ # Override __init__ params @@ -203,5 +191,5 @@ class APIControl(): b64images = list(map(helpers.encode_pil_to_base64, output_images)) if send_images else [] b64processed = list(map(helpers.encode_pil_to_base64, output_processed)) if send_images else [] self.sanitize_b64(req) - req.units = orig_control + req.units = requested return ResControl(images=b64images, processed=b64processed, params=vars(req), info=output_info) diff --git a/modules/control/run.py b/modules/control/run.py index 0bdfdc994..169514d00 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -53,9 +53,22 @@ def is_unified_model(): return shared.sd_model.__class__.__name__ in unified_models -def set_pipe(p, has_models, unit_type, selected_models, active_model, active_strength, control_conditioning, control_guidance_start, control_guidance_end, inits=None): +def has_inputs(inputs): + current = inputs or [] + current = current if isinstance(current, list) else [current] + current = [input for input in current if input is not None] + if current is None or len(current) == 0: + return False + return True + + +def set_pipe(p, has_models, unit_type, selected_models, active_model, active_strength, active_units, control_conditioning, control_guidance_start, control_guidance_end, inits=None, inputs=None): global pipe, instance # pylint: disable=global-statement pipe = None + if has_models and not has_inputs(inits) and not has_inputs(inputs): + if not any(has_inputs(u.override) for u in active_units if u.enabled): # check overrides + shared.log.error('Control: no input images') + return pipe if has_models: p.ops.append('control') p.extra_generation_params["Control type"] = unit_type # overriden later with pretty-print @@ -132,6 +145,7 @@ def check_active(p, unit_type, units): active_strength: List[float] = [] # strength factors for all active models active_start: List[float] = [] # start step for all active models active_end: List[float] = [] # end step for all active models + active_units: List[unit.Unit] = [] # all active units num_units = 0 for u in units: if u.type != unit_type: @@ -151,6 +165,7 @@ def check_active(p, unit_type, units): active_model.append(u.adapter) active_strength.append(float(u.strength)) p.adapter_conditioning_factor = u.factor + active_units.append(u) shared.log.debug(f'Control T2I-Adapter unit: i={num_units} process="{u.process.processor_id}" model="{u.adapter.model_id}" strength={u.strength} factor={u.factor}') elif unit_type == 'controlnet' and (u.controlnet.model is not None or is_unified_model()): active_process.append(u.process) @@ -159,6 +174,7 @@ def check_active(p, unit_type, units): active_start.append(float(u.start)) active_end.append(float(u.end)) p.guess_mode = u.guess + active_units.append(u) if isinstance(u.mode, str): if not hasattr(p, 'control_mode'): p.control_mode = [] @@ -173,11 +189,13 @@ def check_active(p, unit_type, units): active_strength.append(float(u.strength)) active_start.append(float(u.start)) active_end.append(float(u.end)) + active_units.append(u) shared.log.debug(f'Control ControlNet-XS unit: i={num_units} process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') elif unit_type == 'lite' and u.controlnet.model is not None: active_process.append(u.process) active_model.append(u.controlnet) active_strength.append(float(u.strength)) + active_units.append(u) shared.log.debug(f'Control ControlLLite unit: i={num_units} process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') elif unit_type == 'reference': p.override = u.override @@ -185,14 +203,16 @@ def check_active(p, unit_type, units): p.query_weight = float(u.query_weight) p.adain_weight = float(u.adain_weight) p.fidelity = u.fidelity + active_units.append(u) shared.log.debug('Control Reference unit') else: if u.process.processor_id is not None: active_process.append(u.process) + active_units.append(u) shared.log.debug(f'Control process unit: i={num_units} process={u.process.processor_id}') active_strength.append(float(u.strength)) debug_log(f'Control active: process={len(active_process)} model={len(active_model)}') - return active_process, active_model, active_strength, active_start, active_end + return active_process, active_model, active_strength, active_start, active_end, active_units def check_enabled(p, unit_type, units, active_model, active_strength, active_start, active_end): @@ -258,7 +278,7 @@ def control_run(state: str = '', # pylint: disable=keyword-arg-before-vararg guidance_name: str = 'Default', guidance_scale: float = 6.0, guidance_rescale: float = 0.0, guidance_start: float = 0.0, guidance_stop: float = 1.0, cfg_scale: float = 6.0, clip_skip: float = 1.0, image_cfg_scale: float = 6.0, diffusers_guidance_rescale: float = 0.7, pag_scale: float = 0.0, pag_adaptive: float = 0.5, cfg_end: float = 1.0, vae_type: str = 'Full', tiling: bool = False, hidiffusion: bool = False, - detailer_enabled: bool = True, detailer_prompt: str = '', detailer_negative: str = '', detailer_steps: int = 10, detailer_strength: float = 0.3, detailer_resolution: int = 1024, + detailer_enabled: bool = False, detailer_prompt: str = '', detailer_negative: str = '', detailer_steps: int = 10, detailer_strength: float = 0.3, detailer_resolution: int = 1024, hdr_mode: int = 0, hdr_brightness: float = 0, hdr_color: float = 0, hdr_sharpen: float = 0, hdr_clamp: bool = False, hdr_boundary: float = 4.0, hdr_threshold: float = 0.95, hdr_maximize: bool = False, hdr_max_center: float = 0.6, hdr_max_boundary: float = 1.0, hdr_color_picker: str = None, hdr_tint_ratio: float = 0, resize_mode_before: int = 0, resize_name_before: str = 'None', resize_context_before: str = 'None', width_before: int = 512, height_before: int = 512, scale_by_before: float = 1.0, selected_scale_tab_before: int = 0, @@ -419,7 +439,7 @@ def control_run(state: str = '', # pylint: disable=keyword-arg-before-vararg return [], '', '', 'Error: model not loaded' unit_type = unit_type.strip().lower() if unit_type is not None else '' - active_process, active_model, active_strength, active_start, active_end = check_active(p, unit_type, units) + active_process, active_model, active_strength, active_start, active_end, active_units = check_active(p, unit_type, units) has_models, selected_models, control_conditioning, control_guidance_start, control_guidance_end = check_enabled(p, unit_type, units, active_model, active_strength, active_start, active_end) image_txt = '' @@ -429,7 +449,7 @@ def control_run(state: str = '', # pylint: disable=keyword-arg-before-vararg if is_unified_model(): p.init_images = inputs - pipe = set_pipe(p, has_models, unit_type, selected_models, active_model, active_strength, control_conditioning, control_guidance_start, control_guidance_end, inits) + pipe = set_pipe(p, has_models, unit_type, selected_models, active_model, active_strength, active_units, control_conditioning, control_guidance_start, control_guidance_end, inits, inputs) debug_log(f'Control pipeline: class={pipe.__class__.__name__} args={vars(p)}') status = True frame = None diff --git a/modules/control/unit.py b/modules/control/unit.py index 3260527c2..f47c1caac 100644 --- a/modules/control/unit.py +++ b/modules/control/unit.py @@ -31,7 +31,7 @@ class Unit(): # mashup of gradio controls and mapping to actual implementation c self.choices = ['default'] def __str__(self): - return f'Unit(index={self.index} enabled={self.enabled} type="{self.type}" strength={self.strength} start={self.start} end={self.end}{self.process}{self.controlnet})' + return f'Unit(index={self.index} enabled={self.enabled} type="{self.type}" strength={self.strength} start={self.start} end={self.end}{self.process}{self.controlnet} override={self.override})' def __init__(self, # values diff --git a/modules/control/units/controlnet.py b/modules/control/units/controlnet.py index d5a6f51f7..ca7656f76 100644 --- a/modules/control/units/controlnet.py +++ b/modules/control/units/controlnet.py @@ -295,7 +295,7 @@ class ControlNet(): self.load_config['original_config_file '] = config_path self.model = cls.from_single_file(model_path, config=config, **self.load_config) - def load(self, model_id: str = None, force: bool = True) -> str: + def load(self, model_id: str = None, force: bool = False) -> str: with load_lock: try: t0 = time.time() @@ -387,9 +387,9 @@ class ControlNet(): log.warning(f"Control compile error: {e}") t1 = time.time() self.model_id = model_id - log.info(f'Control {what} model loaded: id="{model_id}" path="{model_path}" cls={cls.__name__} time={t1-t0:.2f}') + log.info(f'Control {what} model loaded: id="{self.model_id}" path="{model_path}" cls={cls.__name__} time={t1-t0:.2f}') state.end(jobid) - return f'{what} loaded model: {model_id}' + return f'{what} loaded model: {self.model_id}' except Exception as e: log.error(f'Control {what} model load: id="{model_id}" {e}') errors.display(e, f'Control {what} load') diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index e16a10899..f9e8918b8 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -265,7 +265,7 @@ def process_hires(p: processing.StableDiffusionProcessing, output): output.images = [TF.to_pil_image(output.images[i].permute(2,0,1)) for i in range(output.images.shape[0])] strength = p.hr_denoising_strength if p.hr_denoising_strength > 0 else p.denoising_strength - if (p.hr_upscaler.lower().startswith('latent') or p.hr_force) and strength > 0: + if (p.hr_upscaler is not None) and (p.hr_upscaler.lower().startswith('latent') or p.hr_force) and strength > 0: p.ops.append('hires') sd_models_compile.openvino_recompile_model(p, hires=True, refiner=False) if shared.sd_model.__class__.__name__ == "OnnxRawPipeline": diff --git a/pipelines/model_hyimage.py b/pipelines/model_hyimage.py index 0093b6b59..ec5dd967c 100644 --- a/pipelines/model_hyimage.py +++ b/pipelines/model_hyimage.py @@ -66,7 +66,7 @@ def load_hyimage3(checkpoint_info, diffusers_load_config=None): # pylint: disabl ) pipe.load_tokenizer(repo_id) - pipe.pipeline # noqa: B018 # call it to set up pipeline + pipe.pipeline # noqa: B018 # call it to set up pipeline # pylint: disable=pointless-statement pipe = HunyuanImage3Wrapper(pipe) devices.torch_gc(force=True, reason='load') diff --git a/scripts/xyz/xyz_grid_shared.py b/scripts/xyz/xyz_grid_shared.py index dd454d3c2..a6829c715 100644 --- a/scripts/xyz/xyz_grid_shared.py +++ b/scripts/xyz/xyz_grid_shared.py @@ -334,9 +334,9 @@ def apply_control(field): else: run.unit.current = [unit] run.init_units(run.unit.current) - active_process, active_model, active_strength, active_start, active_end = run.check_active(p, unit.type, run.unit.current) + active_process, active_model, active_strength, active_start, active_end, active_units = run.check_active(p, unit.type, run.unit.current) has_models, selected_models, control_conditioning, control_guidance_start, control_guidance_end = run.check_enabled(p, unit.type, run.unit.current, active_model, active_strength, active_start, active_end) - pipe = run.set_pipe(p, has_models, unit.type, selected_models, active_model, active_strength, control_conditioning, control_guidance_start, control_guidance_end) + pipe = run.set_pipe(p, has_models, unit.type, selected_models, active_model, active_strength, active_units, control_conditioning, control_guidance_start, control_guidance_end) _processed_image, _blended_image = processor.preprocess_image(p, pipe, input_image=init_images[0], unit_type=unit.type, active_process=active_process, active_model=active_model, selected_models=selected_models, has_models=has_models) if pipe is not None: shared.sd_model = pipe From a6d854fef6e051850667405cb5b6a9a75be37d3b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 30 Oct 2025 14:01:32 -0400 Subject: [PATCH 128/137] update override settings Signed-off-by: Vladimir Mandic --- modules/control/run.py | 2 +- modules/generation_parameters_copypaste.py | 3 ++- modules/infotext.py | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/control/run.py b/modules/control/run.py index 169514d00..b8078ecaa 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -404,8 +404,8 @@ def control_run(state: str = '', # pylint: disable=keyword-arg-before-vararg outpath_grids=shared.opts.outdir_grids or shared.opts.outdir_control_grids, # overrides override_settings=extra - ) + p.state = state p.is_tile = False p.init_control = inits or [] diff --git a/modules/generation_parameters_copypaste.py b/modules/generation_parameters_copypaste.py index df0ea1643..ccb2d76c8 100644 --- a/modules/generation_parameters_copypaste.py +++ b/modules/generation_parameters_copypaste.py @@ -252,7 +252,8 @@ def connect_paste(button, local_paste_fields, input_comp, override_settings_comp val = valtype(v) res.append(gr.update(value=val)) applied[key] = val - except Exception: + except Exception as e: + shared.log.error(f'Paste param: key="{key}" value="{v}" error="{e}"') res.append(gr.update()) list_applied = [{k: v} for k, v in applied.items() if not callable(v) and not callable(k)] shared.log.debug(f"Prompt restore: apply={list_applied} skip={skipped}") diff --git a/modules/infotext.py b/modules/infotext.py index c7dbfebe3..dbee9fbd9 100644 --- a/modules/infotext.py +++ b/modules/infotext.py @@ -87,6 +87,7 @@ def parse(infotext): mapping = [ # Models + ('Model', 'sd_model_checkpoint'), ('Model hash', 'sd_model_checkpoint'), ('Refiner', 'sd_model_refiner'), ('VAE', 'sd_vae'), From cf156662d2beffb7157b9ddfa88f858c35cfd772 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 30 Oct 2025 14:15:15 -0400 Subject: [PATCH 129/137] update diffusers Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 3 ++- installer.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 510dbfcfa..077b2e247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -98,7 +98,8 @@ Less than 2 weeks since last release, here's a service-pack style update with a - avoid unnecessary pipe variant switching - validate pipelines on import - fix `nudenet` process tab operations - - `controlnet` input validation + - `controlnet` input validation + - log metadata keys that cannot be applied ## Update for 2025-10-18 diff --git a/installer.py b/installer.py index fc9dbe9b8..2a398952f 100644 --- a/installer.py +++ b/installer.py @@ -613,7 +613,7 @@ def check_diffusers(): t_start = time.time() if args.skip_all: return - sha = '84e16575e4c5e90b6b49301cfa162ced4cf478d2' # diffusers commit hash + sha = '9f3c0fdcd859905c2c13ec47f10eb0250d2576ac' # diffusers commit hash # if args.use_rocm or args.use_zluda or args.use_directml: # sha = '043ab2520f6a19fce78e6e060a68dbc947edb9f9' # lock diffusers versions for now pkg = pkg_resources.working_set.by_key.get('diffusers', None) From b9435257c405d00555dd38f676b953c3927a5cf0 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Thu, 30 Oct 2025 23:33:38 +0300 Subject: [PATCH 130/137] SDNQ add chrono keys --- modules/sdnq/common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/sdnq/common.py b/modules/sdnq/common.py index 84f25ead1..fa90cb2aa 100644 --- a/modules/sdnq/common.py +++ b/modules/sdnq/common.py @@ -109,4 +109,5 @@ module_skip_keys_dict = { ], } +module_skip_keys_dict["ChronoEditTransformer3DModel"] = module_skip_keys_dict["WanTransformer3DModel"] module_skip_keys_dict["NaDiTUpscaler"] = module_skip_keys_dict["NaDiT"] From da3d183f962f13688c824837b9cbacb0646667ba Mon Sep 17 00:00:00 2001 From: Disty0 Date: Thu, 30 Oct 2025 23:44:05 +0300 Subject: [PATCH 131/137] add Emu3ForCausalLM keys --- modules/sdnq/common.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/sdnq/common.py b/modules/sdnq/common.py index fa90cb2aa..2f8904fa0 100644 --- a/modules/sdnq/common.py +++ b/modules/sdnq/common.py @@ -103,6 +103,10 @@ module_skip_keys_dict = { [".patch_embed", ".time_embed", ".time_embed_2", ".final_layer", ".model.wte", ".model.ln_f", ".timestep_emb", ".vae", ".vision_aligner", ".vision_model.head", ".vision_model.post_layernorm", ".vision_model.embeddings", ".lm_head"], {} ], + "Emu3ForCausalLM": [ + [".lm_head", ".vq_model", ".tokenizer", ".model.embed_tokens", ".model.norm"], + {} + ], "NaDiT": [ [".emb_in", ".txt_in", ".vid_in", ".emb_scale", ".vid_out", ".vid_out_norm", ".vid_out_ada"], {} From 76d699dc09c4f9996d50491ccba8e9a3ef110d1e Mon Sep 17 00:00:00 2001 From: Disty0 Date: Fri, 31 Oct 2025 00:21:54 +0300 Subject: [PATCH 132/137] SDNQ add common keys --- modules/sdnq/common.py | 31 +++++++++++++++++++++++++++++-- modules/sdnq/quantizer.py | 10 +++++++--- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/modules/sdnq/common.py b/modules/sdnq/common.py index 2f8904fa0..e83af542b 100644 --- a/modules/sdnq/common.py +++ b/modules/sdnq/common.py @@ -82,6 +82,28 @@ else: return fn +common_skip_keys = ( + ".lm_head", + ".patch_embedding", + ".time_embed", + ".time_text_embed", + ".context_embedder", + ".condition_embedder", + ".x_embedder", + ".emb_in", + ".txt_in", + ".img_in", + ".vid_in", + ".proj_out", + ".norm_out", + ".emb_out", + ".txt_out", + ".img_out", + ".vid_out", + ".final_layer", + "pos_embed", +) + module_skip_keys_dict = { "FluxTransformer2DModel": [ ["single_transformer_blocks.0.norm.linear.weight", ".time_text_embed", ".context_embedder", ".x_embedder", ".proj_out", ".norm_out", "pos_embed"], @@ -99,12 +121,16 @@ module_skip_keys_dict = { ["scale_shift_table", ".rope", ".patch_embedding", ".condition_embedder", ".proj_out", ".norm_out", "pos_embed"], {} ], + "Gemma3nForCausalLM": [ + [".lm_head", "correction_coefs", "prediction_coefs", "embedding_projection"], + {} + ], "HunyuanImage3ForCausalMM": [ - [".patch_embed", ".time_embed", ".time_embed_2", ".final_layer", ".model.wte", ".model.ln_f", ".timestep_emb", ".vae", ".vision_aligner", ".vision_model.head", ".vision_model.post_layernorm", ".vision_model.embeddings", ".lm_head"], + [".lm_head", ".patch_embed", ".time_embed", ".time_embed_2", ".final_layer", ".model.wte", ".model.ln_f", ".timestep_emb", ".vae", ".vision_aligner", ".vision_model.head", ".vision_model.post_layernorm", ".vision_model.embeddings"], {} ], "Emu3ForCausalLM": [ - [".lm_head", ".vq_model", ".tokenizer", ".model.embed_tokens", ".model.norm"], + [".lm_head", ".vq_model", ".tokenizer"], {} ], "NaDiT": [ @@ -114,4 +140,5 @@ module_skip_keys_dict = { } module_skip_keys_dict["ChronoEditTransformer3DModel"] = module_skip_keys_dict["WanTransformer3DModel"] +module_skip_keys_dict["Gemma3nForConditionalGeneration"] = module_skip_keys_dict["Gemma3nForCausalLM"] module_skip_keys_dict["NaDiTUpscaler"] = module_skip_keys_dict["NaDiT"] diff --git a/modules/sdnq/quantizer.py b/modules/sdnq/quantizer.py index dec88e3a9..14ecfcc92 100644 --- a/modules/sdnq/quantizer.py +++ b/modules/sdnq/quantizer.py @@ -16,7 +16,7 @@ from accelerate import init_empty_weights from accelerate.utils import set_module_tensor_to_device from modules import devices, shared -from .common import dtype_dict, module_skip_keys_dict, accepted_weights, use_tensorwise_fp8_matmul, allowed_types, conv_types, conv_transpose_types, use_contiguous_mm +from .common import dtype_dict, common_skip_keys, module_skip_keys_dict, accepted_weights, use_tensorwise_fp8_matmul, allowed_types, conv_types, conv_transpose_types, use_contiguous_mm from .dequantizer import dequantizer_dict, dequantize_sdnq_model from .forward import get_forward_func @@ -119,6 +119,8 @@ def add_module_skip_keys(model, modules_to_not_convert: List[str] = None, module modules_dtype_dict = {} if getattr(model, "_keep_in_fp32_modules", None) is not None: modules_to_not_convert.extend(model._keep_in_fp32_modules) # pylint: disable=protected-access + if getattr(model, "_tied_weights_keys", None) is not None: + modules_to_not_convert.extend(model._tied_weights_keys) # pylint: disable=protected-access skip_key_list = module_skip_keys_dict.get(model.__class__.__name__, None) if skip_key_list is not None: @@ -128,8 +130,10 @@ def add_module_skip_keys(model, modules_to_not_convert: List[str] = None, module modules_dtype_dict[key].extend(value) else: modules_dtype_dict[key] = value - elif getattr(model, "_skip_layerwise_casting_patterns", None) is not None: - modules_to_not_convert.extend(model._skip_layerwise_casting_patterns) # pylint: disable=protected-access + else: + modules_to_not_convert.extend(common_skip_keys) + if getattr(model, "_skip_layerwise_casting_patterns", None) is not None: + modules_to_not_convert.extend(model._skip_layerwise_casting_patterns) # pylint: disable=protected-access # dedupe modules_to_not_convert = list(set(modules_to_not_convert)) From 3ae10dd0e1cb2d3ab570aad3443aad523224d854 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 30 Oct 2025 19:50:02 -0400 Subject: [PATCH 133/137] add nvidia-chronoedit Signed-off-by: Vladimir Mandic --- .pylintrc | 1 + .ruff.toml | 1 + CHANGELOG.md | 5 + cli/api-control.py | 8 + html/reference.json | 7 + .../nvidia--ChronoEdit-14B-Diffusers.jpg | Bin 0 -> 62760 bytes modules/modeldata.py | 2 +- modules/processing.py | 1 + modules/processing_args.py | 7 +- modules/processing_diffusers.py | 5 + modules/sd_detect.py | 3 +- modules/sd_models.py | 5 + modules/shared.py | 2 + modules/shared_items.py | 2 +- pipelines/chrono/__init__.py | 0 pipelines/chrono/pipeline_chronoedit.py | 764 ++++++++++++++++++ pipelines/chrono/transformer_chronoedit.py | 476 +++++++++++ pipelines/generic.py | 47 +- pipelines/model_chrono.py | 54 ++ pipelines/model_hidream.py | 3 +- 20 files changed, 1371 insertions(+), 22 deletions(-) create mode 100644 models/Reference/nvidia--ChronoEdit-14B-Diffusers.jpg create mode 100644 pipelines/chrono/__init__.py create mode 100644 pipelines/chrono/pipeline_chronoedit.py create mode 100644 pipelines/chrono/transformer_chronoedit.py create mode 100644 pipelines/model_chrono.py diff --git a/.pylintrc b/.pylintrc index e483254dc..27d3e7a52 100644 --- a/.pylintrc +++ b/.pylintrc @@ -45,6 +45,7 @@ ignore-paths=/usr/lib/.*$, pipelines/omnigen2, pipelines/segmoe, pipelines/xomni, + pipelines/chrono, scripts/consistory, scripts/ctrlx, scripts/daam, diff --git a/.ruff.toml b/.ruff.toml index de4e0f7a5..7b4f4fb57 100644 --- a/.ruff.toml +++ b/.ruff.toml @@ -24,6 +24,7 @@ exclude = [ "pipelines/hdm", "pipelines/segmoe", "pipelines/xomni", + "pipelines/chrono", "scripts/lbm", "scripts/daam", diff --git a/CHANGELOG.md b/CHANGELOG.md index 077b2e247..cf5837105 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation and introduction of optimized **pre-quantized** variants for many popular models - use this as your quick start! - New models: **HunyuanImage 2.1** capable of 2K images natively, **HunyuanImage 3.0** large unified multimodal autoregressive model, + **ChronoEdit** that re-purposes temporal consistency of generation for image editing **Pony 7** based on AuraFlow architecture, **Kandinsky 5** 10s video models - New **offline mode** to use previously downloaded models without internet connection - Optimizations to **WAN-2.2** given its popularity @@ -36,6 +37,10 @@ Less than 2 weeks since last release, here's a service-pack style update with a *HunyuanImage-2.1* is a large (51GB) T2I model capable of natively generating 2K images and uses Qwen2.5 + T5 text-encoders and 32x VAE - [Tencent HunyuanImage 3.0](https://huggingface.co/tencent/HunyuanImage-3.0) in [pre-quant](https://huggingface.co/Disty0/HunyuanImage3-SDNQ-uint4-svd-r32) only variant due to massive size *HunyuanImage 3.0* is very large at 47GB pre-quantized (oherwise its 157GB) that unifies multimodal understanding and generation within an autoregressive framework + - [nVidia ChronoEdit](https://huggingface.co/nvidia/ChronoEdit-14B-Diffusers) + *ChronoEdit* is a 14B image editing model based on *WAN* + this model reframes image editing as a video generation task, using input and edited images as start/end frames to leverage pretrained video models with temporal consistency + to extend temporal consistency for image editing, set *settings -> model options -> chrono temporal steps* to desired number of temporaly reasoning steps - [Kandinsky 5 Lite 10s](https://huggingface.co/ai-forever/Kandinsky-5.0-T2V-Lite-sft-10s-Diffusers') in *SFT, CFG-distilled and Steps-distilled* variants second series of models in *Kandinsky5* series is T2V model optimized for 10sec videos and uses Qwen2.5 text encoder - [Pony 7](https://huggingface.co/purplesmartai/pony-v7-base) diff --git a/cli/api-control.py b/cli/api-control.py index 4af233ae3..0e73e94be 100755 --- a/cli/api-control.py +++ b/cli/api-control.py @@ -121,6 +121,13 @@ def generate(args): # pylint: disable=redefined-outer-name options['enable_hr'] = True options['hr_force'] = True + if args.upscaler is not None: + options['enable_hr'] = True + options['hr_force'] = True + options['hr_scale'] = 2 + options['hr_resize_mode'] = 1 + options['hr_upscaler'] = args.upscaler + data = post('/sdapi/v1/control', options) t1 = time.time() if 'info' in data: @@ -162,6 +169,7 @@ if __name__ == "__main__": parser.add_argument('--ipadapter', required=False, help='ipadapter units') parser.add_argument('--detailer', required=False, default=False, action='store_true', help='force detailer') parser.add_argument('--hires', required=False, default=False, action='store_true', help='force hires') + parser.add_argument('--upscaler', required=False, default=None, help='upscaler name') args = parser.parse_args() log.info(f'api-control: {args}') generate(args) diff --git a/html/reference.json b/html/reference.json index b425e88cc..a8d628145 100644 --- a/html/reference.json +++ b/html/reference.json @@ -458,6 +458,13 @@ "size": 7.51, "date": "2024 November" }, + "nVidia ChronoEdit": { + "path": "nvidia/ChronoEdit-14B-Diffusers", + "preview": "nvidia--ChronoEdit-14B-Diffusers.jpg", + "desc": "ChronoEdit reframes image editing as a video generation task, using input and edited images as start/end frames to leverage pretrained video models with temporal consistency.", + "skip": true, + "extras": "" + }, "nVidia Cosmos-Predict2 T2I 2B": { "path": "nvidia/Cosmos-Predict2-2B-Text2Image", "desc": "Cosmos-Predict2: A family of highly performant pre-trained world foundation models purpose-built for generating physics-aware images, videos and world states for physical AI development.", diff --git a/models/Reference/nvidia--ChronoEdit-14B-Diffusers.jpg b/models/Reference/nvidia--ChronoEdit-14B-Diffusers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b8f4d04e3e90d26c77b30ff65cb15c968a270ca GIT binary patch literal 62760 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 Processed: output_images.append(script_image) infotexts.append(script_infotext) + # main processing if samples is None: from modules.processing_diffusers import process_diffusers samples = process_diffusers(p) diff --git a/modules/processing_args.py b/modules/processing_args.py index 9d11ec5b9..08f85fc94 100644 --- a/modules/processing_args.py +++ b/modules/processing_args.py @@ -138,8 +138,11 @@ def task_specific_kwargs(p, model): 'width': p.width, 'height': p.height, } - if ('WanImageToVideoPipeline' in model_cls) and (p.init_images is not None) and (len(p.init_images) > 0): - task_args['image'] = p.init_images[0] + if ('WanImageToVideoPipeline' in model_cls) or ('ChronoEditPipeline' in model_cls): + if (p.init_images is not None) and (len(p.init_images) > 0): + task_args['image'] = p.init_images[0] + else: + task_args['image'] = Image.new('RGB', (p.width, p.height), (0, 0, 0)) # monkey-patch so wan-i2i pipeline does not error-out on t2i if ('WanVACEPipeline' in model_cls) and (p.init_images is not None) and (len(p.init_images) > 0): task_args['reference_images'] = p.init_images if 'BlipDiffusionPipeline' in model_cls: diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index f9e8918b8..913bd2e51 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -223,6 +223,9 @@ def process_base(p: processing.StableDiffusionProcessing): finally: process_post(p) + if hasattr(shared.sd_model, 'postprocess') and callable(shared.sd_model.postprocess): + output = shared.sd_model.postprocess(p, output) + shared.state.end(jobid) shared.state.nextjob() return output @@ -328,6 +331,8 @@ def process_hires(p: processing.StableDiffusionProcessing, output): modelstats.analyze() finally: process_post(p) + if hasattr(shared.sd_model, 'postprocess') and callable(shared.sd_model.postprocess): + output = shared.sd_model.postprocess(p, output) if orig_image is not None: p.task_args['image'] = orig_image p.denoising_strength = orig_denoise diff --git a/modules/sd_detect.py b/modules/sd_detect.py index 17e32f894..fd38f4b69 100644 --- a/modules/sd_detect.py +++ b/modules/sd_detect.py @@ -101,6 +101,8 @@ def guess_by_name(fn, current_guess): return 'FLite' elif 'wan' in fn.lower(): return 'WanAI' + if 'chronoedit' in fn.lower(): + return 'ChronoEdit' elif 'bria' in fn.lower(): return 'Bria' elif 'qwen' in fn.lower(): @@ -210,7 +212,6 @@ def detect_pipeline(f: str, op: str = 'model'): shared.log.error(f'Load {op}: detect="{guess}" file="{f}" {e}') if pipeline is None: - shared.log.warning(f'Load {op}: detect="{guess}" file="{f}" not recognized') pipeline = diffusers.DiffusionPipeline return pipeline, guess diff --git a/modules/sd_models.py b/modules/sd_models.py index 4ee2152ac..7d52f62fe 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -48,6 +48,7 @@ pipe_switch_task_exclude = [ 'XOmniPipeline', 'HunyuanImagePipeline', 'AuraFlowPipeline', + 'ChronoEditPipeline', ] i2i_pipes = [ 'LEditsPPPipelineStableDiffusion', 'LEditsPPPipelineStableDiffusionXL', @@ -366,6 +367,10 @@ def load_diffuser_force(model_type, checkpoint_info, diffusers_load_config, op=' from pipelines.model_wanai import load_wan sd_model = load_wan(checkpoint_info, diffusers_load_config) allow_post_quant = False + elif model_type in ['ChronoEdit']: + from pipelines.model_chrono import load_chrono + sd_model = load_chrono(checkpoint_info, diffusers_load_config) + allow_post_quant = False elif model_type in ['Bria']: from pipelines.model_bria import load_bria sd_model = load_bria(checkpoint_info, diffusers_load_config) diff --git a/modules/shared.py b/modules/shared.py index 2f5b3c288..94d77bbce 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -170,6 +170,8 @@ options_templates.update(options_section(('model_options', "Model Options"), { "model_wan_sep": OptionInfo("

WanAI

", "", gr.HTML), "model_wan_stage": OptionInfo("low noise", "Processing stage", gr.Radio, {"choices": ['high noise', 'low noise', 'combined'] }), "model_wan_boundary": OptionInfo(0.85, "Stage boundary ratio", gr.Slider, {"minimum": 0, "maximum": 1.0, "step": 0.05 }), + "model_chrono_sep": OptionInfo("

ChronoEdit

", "", gr.HTML), + "model_chrono_temporal_steps": OptionInfo(0, "Temporal steps", gr.Slider, {"minimum": 0, "maximum": 50, "step": 1 }), })) options_templates.update(options_section(('offload', "Model Offloading"), { diff --git a/modules/shared_items.py b/modules/shared_items.py index a7d77d641..5bd75ce30 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -47,7 +47,7 @@ pipelines = { 'WanAI': getattr(diffusers, 'WanPipeline', None), 'Qwen': getattr(diffusers, 'QwenImagePipeline', None), 'HunyuanImage': getattr(diffusers, 'HunyuanImagePipeline', None), - + 'ChronoEdit': getattr(diffusers, 'WanImageToVideoPipeline', None), # dynamically imported and redefined later 'Meissonic': getattr(diffusers, 'DiffusionPipeline', None), 'Monetico': getattr(diffusers, 'DiffusionPipeline', None), diff --git a/pipelines/chrono/__init__.py b/pipelines/chrono/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pipelines/chrono/pipeline_chronoedit.py b/pipelines/chrono/pipeline_chronoedit.py new file mode 100644 index 000000000..de439a359 --- /dev/null +++ b/pipelines/chrono/pipeline_chronoedit.py @@ -0,0 +1,764 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import html +from typing import Any, Callable, Dict, List, Optional, Tuple, Union + +import PIL +import regex as re +import torch +from transformers import AutoTokenizer, CLIPImageProcessor, CLIPVisionModel, UMT5EncoderModel + +from diffusers.callbacks import MultiPipelineCallbacks, PipelineCallback +from diffusers.image_processor import PipelineImageInput +from diffusers.loaders import WanLoraLoaderMixin +from diffusers.models import AutoencoderKLWan, WanTransformer3DModel +from diffusers.schedulers import FlowMatchEulerDiscreteScheduler +from diffusers.utils import is_ftfy_available, is_torch_xla_available, logging, replace_example_docstring +from diffusers.utils.torch_utils import randn_tensor +from diffusers.video_processor import VideoProcessor +from diffusers.pipelines.pipeline_utils import DiffusionPipeline +from diffusers.pipelines.wan.pipeline_output import WanPipelineOutput +from .transformer_chronoedit import ChronoEditTransformer3DModel + + +if is_torch_xla_available(): + import torch_xla.core.xla_model as xm + + XLA_AVAILABLE = True +else: + XLA_AVAILABLE = False + +logger = logging.get_logger(__name__) # pylint: disable=invalid-name + +if is_ftfy_available(): + import ftfy + +EXAMPLE_DOC_STRING = """ + Examples: + ```python + >>> import torch + >>> import numpy as np + >>> from diffusers import AutoencoderKLWan, WanImageToVideoPipeline + >>> from diffusers.utils import export_to_video, load_image + >>> from transformers import CLIPVisionModel + + >>> # Available models: Wan-AI/Wan2.1-I2V-14B-480P-Diffusers, Wan-AI/Wan2.1-I2V-14B-720P-Diffusers + >>> model_id = "Wan-AI/Wan2.1-I2V-14B-480P-Diffusers" + >>> image_encoder = CLIPVisionModel.from_pretrained( + ... model_id, subfolder="image_encoder", torch_dtype=torch.float32 + ... ) + >>> vae = AutoencoderKLWan.from_pretrained(model_id, subfolder="vae", torch_dtype=torch.float32) + >>> pipe = WanImageToVideoPipeline.from_pretrained( + ... model_id, vae=vae, image_encoder=image_encoder, torch_dtype=torch.bfloat16 + ... ) + >>> pipe.to("cuda") + + >>> image = load_image( + ... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/astronaut.jpg" + ... ) + >>> max_area = 480 * 832 + >>> aspect_ratio = image.height / image.width + >>> mod_value = pipe.vae_scale_factor_spatial * pipe.transformer.config.patch_size[1] + >>> height = round(np.sqrt(max_area * aspect_ratio)) // mod_value * mod_value + >>> width = round(np.sqrt(max_area / aspect_ratio)) // mod_value * mod_value + >>> image = image.resize((width, height)) + >>> prompt = ( + ... "An astronaut hatching from an egg, on the surface of the moon, the darkness and depth of space realised in " + ... "the background. High quality, ultrarealistic detail and breath-taking movie-like camera shot." + ... ) + >>> negative_prompt = "Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards" + + >>> output = pipe( + ... image=image, + ... prompt=prompt, + ... negative_prompt=negative_prompt, + ... height=height, + ... width=width, + ... num_frames=81, + ... guidance_scale=5.0, + ... ).frames[0] + >>> export_to_video(output, "output.mp4", fps=16) + ``` +""" + + +def basic_clean(text): + text = ftfy.fix_text(text) + text = html.unescape(html.unescape(text)) + return text.strip() + + +def whitespace_clean(text): + text = re.sub(r"\s+", " ", text) + text = text.strip() + return text + + +def prompt_clean(text): + text = whitespace_clean(basic_clean(text)) + return text + + +# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion_img2img.retrieve_latents +def retrieve_latents( + encoder_output: torch.Tensor, generator: Optional[torch.Generator] = None, sample_mode: str = "sample" +): + if hasattr(encoder_output, "latent_dist") and sample_mode == "sample": + return encoder_output.latent_dist.sample(generator) + elif hasattr(encoder_output, "latent_dist") and sample_mode == "argmax": + return encoder_output.latent_dist.mode() + elif hasattr(encoder_output, "latents"): + return encoder_output.latents + else: + raise AttributeError("Could not access latents of provided encoder_output") + + +class ChronoEditPipeline(DiffusionPipeline, WanLoraLoaderMixin): + r""" + Pipeline for image-to-video generation using Wan. + + This model inherits from [`DiffusionPipeline`]. Check the superclass documentation for the generic methods + implemented for all pipelines (downloading, saving, running on a particular device, etc.). + + Args: + tokenizer ([`T5Tokenizer`]): + Tokenizer from [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5Tokenizer), + specifically the [google/umt5-xxl](https://huggingface.co/google/umt5-xxl) variant. + text_encoder ([`T5EncoderModel`]): + [T5](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel), specifically + the [google/umt5-xxl](https://huggingface.co/google/umt5-xxl) variant. + image_encoder ([`CLIPVisionModel`]): + [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPVisionModel), specifically + the + [clip-vit-huge-patch14](https://github.com/mlfoundations/open_clip/blob/main/docs/PRETRAINED.md#vit-h14-xlm-roberta-large) + variant. + transformer ([`WanTransformer3DModel`]): + Conditional Transformer to denoise the input latents. + scheduler ([`UniPCMultistepScheduler`]): + A scheduler to be used in combination with `transformer` to denoise the encoded image latents. + vae ([`AutoencoderKLWan`]): + Variational Auto-Encoder (VAE) Model to encode and decode videos to and from latent representations. + """ + + model_cpu_offload_seq = "text_encoder->image_encoder->transformer->vae" + _callback_tensor_inputs = ["latents", "prompt_embeds", "negative_prompt_embeds"] + + def __init__( + self, + tokenizer: AutoTokenizer, + text_encoder: UMT5EncoderModel, + image_encoder: CLIPVisionModel, + image_processor: CLIPImageProcessor, + transformer: ChronoEditTransformer3DModel, + vae: AutoencoderKLWan, + scheduler: FlowMatchEulerDiscreteScheduler, + ): + super().__init__() + + self.register_modules( + vae=vae, + text_encoder=text_encoder, + tokenizer=tokenizer, + image_encoder=image_encoder, + transformer=transformer, + scheduler=scheduler, + image_processor=image_processor, + ) + + self.vae_scale_factor_temporal = 2 ** sum(self.vae.temperal_downsample) if getattr(self, "vae", None) else 4 + self.vae_scale_factor_spatial = 2 ** len(self.vae.temperal_downsample) if getattr(self, "vae", None) else 8 + self.video_processor = VideoProcessor(vae_scale_factor=self.vae_scale_factor_spatial) + self.image_processor = image_processor + + def _get_t5_prompt_embeds( + self, + prompt: Union[str, List[str]] = None, + num_videos_per_prompt: int = 1, + max_sequence_length: int = 512, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + device = device or self._execution_device + dtype = dtype or self.text_encoder.dtype + + prompt = [prompt] if isinstance(prompt, str) else prompt + prompt = [prompt_clean(u) for u in prompt] + batch_size = len(prompt) + + text_inputs = self.tokenizer( + prompt, + padding="max_length", + max_length=max_sequence_length, + truncation=True, + add_special_tokens=True, + return_attention_mask=True, + return_tensors="pt", + ) + text_input_ids, mask = text_inputs.input_ids, text_inputs.attention_mask + seq_lens = mask.gt(0).sum(dim=1).long() + + prompt_embeds = self.text_encoder(text_input_ids.to(device), mask.to(device)).last_hidden_state + prompt_embeds = prompt_embeds.to(dtype=dtype, device=device) + prompt_embeds = [u[:v] for u, v in zip(prompt_embeds, seq_lens)] + prompt_embeds = torch.stack( + [torch.cat([u, u.new_zeros(max_sequence_length - u.size(0), u.size(1))]) for u in prompt_embeds], dim=0 + ) + + # duplicate text embeddings for each generation per prompt, using mps friendly method + _, seq_len, _ = prompt_embeds.shape + prompt_embeds = prompt_embeds.repeat(1, num_videos_per_prompt, 1) + prompt_embeds = prompt_embeds.view(batch_size * num_videos_per_prompt, seq_len, -1) + + return prompt_embeds + + def encode_image( + self, + image: PipelineImageInput, + device: Optional[torch.device] = None, + ): + device = device or self._execution_device + image = self.image_processor(images=image, return_tensors="pt").to(device) + image_embeds = self.image_encoder(**image, output_hidden_states=True) + return image_embeds.hidden_states[-2] + + # Copied from diffusers.pipelines.wan.pipeline_wan.WanPipeline.encode_prompt + def encode_prompt( + self, + prompt: Union[str, List[str]], + negative_prompt: Optional[Union[str, List[str]]] = None, + do_classifier_free_guidance: bool = True, + num_videos_per_prompt: int = 1, + prompt_embeds: Optional[torch.Tensor] = None, + negative_prompt_embeds: Optional[torch.Tensor] = None, + max_sequence_length: int = 226, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + r""" + Encodes the prompt into text encoder hidden states. + + Args: + prompt (`str` or `List[str]`, *optional*): + prompt to be encoded + negative_prompt (`str` or `List[str]`, *optional*): + The prompt or prompts not to guide the image generation. If not defined, one has to pass + `negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is + less than `1`). + do_classifier_free_guidance (`bool`, *optional*, defaults to `True`): + Whether to use classifier free guidance or not. + num_videos_per_prompt (`int`, *optional*, defaults to 1): + Number of videos that should be generated per prompt. torch device to place the resulting embeddings on + prompt_embeds (`torch.Tensor`, *optional*): + Pre-generated text embeddings. Can be used to easily tweak text inputs, *e.g.* prompt weighting. If not + provided, text embeddings will be generated from `prompt` input argument. + negative_prompt_embeds (`torch.Tensor`, *optional*): + Pre-generated negative text embeddings. Can be used to easily tweak text inputs, *e.g.* prompt + weighting. If not provided, negative_prompt_embeds will be generated from `negative_prompt` input + argument. + device: (`torch.device`, *optional*): + torch device + dtype: (`torch.dtype`, *optional*): + torch dtype + """ + device = device or self._execution_device + + prompt = [prompt] if isinstance(prompt, str) else prompt + if prompt is not None: + batch_size = len(prompt) + else: + batch_size = prompt_embeds.shape[0] + + if prompt_embeds is None: + prompt_embeds = self._get_t5_prompt_embeds( + prompt=prompt, + num_videos_per_prompt=num_videos_per_prompt, + max_sequence_length=max_sequence_length, + device=device, + dtype=dtype, + ) + + if do_classifier_free_guidance and negative_prompt_embeds is None: + negative_prompt = negative_prompt or "" + negative_prompt = batch_size * [negative_prompt] if isinstance(negative_prompt, str) else negative_prompt + + if prompt is not None and type(prompt) is not type(negative_prompt): + raise TypeError( + f"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=" + f" {type(prompt)}." + ) + elif batch_size != len(negative_prompt): + raise ValueError( + f"`negative_prompt`: {negative_prompt} has batch size {len(negative_prompt)}, but `prompt`:" + f" {prompt} has batch size {batch_size}. Please make sure that passed `negative_prompt` matches" + " the batch size of `prompt`." + ) + + negative_prompt_embeds = self._get_t5_prompt_embeds( + prompt=negative_prompt, + num_videos_per_prompt=num_videos_per_prompt, + max_sequence_length=max_sequence_length, + device=device, + dtype=dtype, + ) + + return prompt_embeds, negative_prompt_embeds + + def check_inputs( + self, + prompt, + negative_prompt, + image, + height, + width, + prompt_embeds=None, + negative_prompt_embeds=None, + image_embeds=None, + callback_on_step_end_tensor_inputs=None, + ): + if image is not None and image_embeds is not None: + raise ValueError( + f"Cannot forward both `image`: {image} and `image_embeds`: {image_embeds}. Please make sure to" + " only forward one of the two." + ) + if image is None and image_embeds is None: + raise ValueError( + "Provide either `image` or `prompt_embeds`. Cannot leave both `image` and `image_embeds` undefined." + ) + if image is not None and not isinstance(image, torch.Tensor) and not isinstance(image, PIL.Image.Image): + raise ValueError(f"`image` has to be of type `torch.Tensor` or `PIL.Image.Image` but is {type(image)}") + if height % 16 != 0 or width % 16 != 0: + raise ValueError(f"`height` and `width` have to be divisible by 16 but are {height} and {width}.") + + if callback_on_step_end_tensor_inputs is not None and not all( + k in self._callback_tensor_inputs for k in callback_on_step_end_tensor_inputs + ): + raise ValueError( + f"`callback_on_step_end_tensor_inputs` has to be in {self._callback_tensor_inputs}, but found {[k for k in callback_on_step_end_tensor_inputs if k not in self._callback_tensor_inputs]}" + ) + + if prompt is not None and prompt_embeds is not None: + raise ValueError( + f"Cannot forward both `prompt`: {prompt} and `prompt_embeds`: {prompt_embeds}. Please make sure to" + " only forward one of the two." + ) + elif negative_prompt is not None and negative_prompt_embeds is not None: + raise ValueError( + f"Cannot forward both `negative_prompt`: {negative_prompt} and `negative_prompt_embeds`: {negative_prompt_embeds}. Please make sure to" + " only forward one of the two." + ) + elif prompt is None and prompt_embeds is None: + raise ValueError( + "Provide either `prompt` or `prompt_embeds`. Cannot leave both `prompt` and `prompt_embeds` undefined." + ) + elif prompt is not None and (not isinstance(prompt, str) and not isinstance(prompt, list)): + raise ValueError(f"`prompt` has to be of type `str` or `list` but is {type(prompt)}") + elif negative_prompt is not None and ( + not isinstance(negative_prompt, str) and not isinstance(negative_prompt, list) + ): + raise ValueError(f"`negative_prompt` has to be of type `str` or `list` but is {type(negative_prompt)}") + + def prepare_latents( + self, + image: PipelineImageInput, + batch_size: int, + num_channels_latents: int = 16, + height: int = 480, + width: int = 832, + num_frames: int = 81, + dtype: Optional[torch.dtype] = None, + device: Optional[torch.device] = None, + generator: Optional[Union[torch.Generator, List[torch.Generator]]] = None, + latents: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, torch.Tensor]: + num_latent_frames = (num_frames - 1) // self.vae_scale_factor_temporal + 1 + latent_height = height // self.vae_scale_factor_spatial + latent_width = width // self.vae_scale_factor_spatial + + shape = (batch_size, num_channels_latents, num_latent_frames, latent_height, latent_width) + if isinstance(generator, list) and len(generator) != batch_size: + raise ValueError( + f"You have passed a list of generators of length {len(generator)}, but requested an effective batch" + f" size of {batch_size}. Make sure the batch size matches the length of the generators." + ) + + if latents is None: + latents = randn_tensor(shape, generator=generator, device=device, dtype=dtype) + else: + latents = latents.to(device=device, dtype=dtype) + + image = image.unsqueeze(2) + video_condition = torch.cat( + [image, image.new_zeros(image.shape[0], image.shape[1], num_frames - 1, height, width)], dim=2 + ) + video_condition = video_condition.to(device=device, dtype=dtype) + + latents_mean = ( + torch.tensor(self.vae.config.latents_mean) + .view(1, self.vae.config.z_dim, 1, 1, 1) + .to(latents.device, latents.dtype) + ) + latents_std = 1.0 / torch.tensor(self.vae.config.latents_std).view(1, self.vae.config.z_dim, 1, 1, 1).to( + latents.device, latents.dtype + ) + + if isinstance(generator, list): + latent_condition = [ + retrieve_latents(self.vae.encode(video_condition), sample_mode="argmax") for _ in generator + ] + latent_condition = torch.cat(latent_condition) + else: + latent_condition = retrieve_latents(self.vae.encode(video_condition), sample_mode="argmax") + latent_condition = latent_condition.repeat(batch_size, 1, 1, 1, 1) + + latent_condition = (latent_condition - latents_mean) * latents_std + + mask_lat_size = torch.ones(batch_size, 1, num_frames, latent_height, latent_width) + mask_lat_size[:, :, list(range(1, num_frames))] = 0 + first_frame_mask = mask_lat_size[:, :, 0:1] + first_frame_mask = torch.repeat_interleave(first_frame_mask, dim=2, repeats=self.vae_scale_factor_temporal) + mask_lat_size = torch.concat([first_frame_mask, mask_lat_size[:, :, 1:, :]], dim=2) + mask_lat_size = mask_lat_size.view(batch_size, -1, self.vae_scale_factor_temporal, latent_height, latent_width) + mask_lat_size = mask_lat_size.transpose(1, 2) + mask_lat_size = mask_lat_size.to(latent_condition.device) + + return latents, torch.concat([mask_lat_size, latent_condition], dim=1) + + @property + def guidance_scale(self): + return self._guidance_scale + + @property + def do_classifier_free_guidance(self): + return self._guidance_scale > 1 + + @property + def num_timesteps(self): + return self._num_timesteps + + @property + def current_timestep(self): + return self._current_timestep + + @property + def interrupt(self): + return self._interrupt + + @property + def attention_kwargs(self): + return self._attention_kwargs + + @torch.no_grad() + @replace_example_docstring(EXAMPLE_DOC_STRING) + def __call__( + self, + image: PipelineImageInput, + prompt: Union[str, List[str]] = None, + negative_prompt: Union[str, List[str]] = None, + height: int = 480, + width: int = 832, + num_frames: int = 81, + num_inference_steps: int = 50, + guidance_scale: float = 5.0, + num_videos_per_prompt: Optional[int] = 1, + generator: Optional[Union[torch.Generator, List[torch.Generator]]] = None, + latents: Optional[torch.Tensor] = None, + prompt_embeds: Optional[torch.Tensor] = None, + negative_prompt_embeds: Optional[torch.Tensor] = None, + image_embeds: Optional[torch.Tensor] = None, + output_type: Optional[str] = "np", + return_dict: bool = True, + attention_kwargs: Optional[Dict[str, Any]] = None, + callback_on_step_end: Optional[ + Union[Callable[[int, int, Dict], None], PipelineCallback, MultiPipelineCallbacks] + ] = None, + callback_on_step_end_tensor_inputs: List[str] = ["latents"], + max_sequence_length: int = 512, + enable_temporal_reasoning: bool = False, + num_temporal_reasoning_steps: int = 0, + offload_model: bool=False + ): + r""" + The call function to the pipeline for generation. + + Args: + image (`PipelineImageInput`): + The input image to condition the generation on. Must be an image, a list of images or a `torch.Tensor`. + prompt (`str` or `List[str]`, *optional*): + The prompt or prompts to guide the image generation. If not defined, one has to pass `prompt_embeds`. + instead. + negative_prompt (`str` or `List[str]`, *optional*): + The prompt or prompts not to guide the image generation. If not defined, one has to pass + `negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is + less than `1`). + height (`int`, defaults to `480`): + The height of the generated video. + width (`int`, defaults to `832`): + The width of the generated video. + num_frames (`int`, defaults to `81`): + The number of frames in the generated video. + num_inference_steps (`int`, defaults to `50`): + The number of denoising steps. More denoising steps usually lead to a higher quality image at the + expense of slower inference. + guidance_scale (`float`, defaults to `5.0`): + Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). + `guidance_scale` is defined as `w` of equation 2. of [Imagen + Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale > + 1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, + usually at the expense of lower image quality. + num_videos_per_prompt (`int`, *optional*, defaults to 1): + The number of images to generate per prompt. + generator (`torch.Generator` or `List[torch.Generator]`, *optional*): + A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make + generation deterministic. + latents (`torch.Tensor`, *optional*): + Pre-generated noisy latents sampled from a Gaussian distribution, to be used as inputs for image + generation. Can be used to tweak the same generation with different prompts. If not provided, a latents + tensor is generated by sampling using the supplied random `generator`. + prompt_embeds (`torch.Tensor`, *optional*): + Pre-generated text embeddings. Can be used to easily tweak text inputs (prompt weighting). If not + provided, text embeddings are generated from the `prompt` input argument. + negative_prompt_embeds (`torch.Tensor`, *optional*): + Pre-generated text embeddings. Can be used to easily tweak text inputs (prompt weighting). If not + provided, text embeddings are generated from the `negative_prompt` input argument. + image_embeds (`torch.Tensor`, *optional*): + Pre-generated image embeddings. Can be used to easily tweak image inputs (weighting). If not provided, + image embeddings are generated from the `image` input argument. + output_type (`str`, *optional*, defaults to `"pil"`): + The output format of the generated image. Choose between `PIL.Image` or `np.array`. + return_dict (`bool`, *optional*, defaults to `True`): + Whether or not to return a [`WanPipelineOutput`] instead of a plain tuple. + attention_kwargs (`dict`, *optional*): + A kwargs dictionary that if specified is passed along to the `AttentionProcessor` as defined under + `self.processor` in + [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). + callback_on_step_end (`Callable`, `PipelineCallback`, `MultiPipelineCallbacks`, *optional*): + A function or a subclass of `PipelineCallback` or `MultiPipelineCallbacks` that is called at the end of + each denoising step during the inference. with the following arguments: `callback_on_step_end(self: + DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs` will include a + list of all tensors as specified by `callback_on_step_end_tensor_inputs`. + callback_on_step_end_tensor_inputs (`List`, *optional*): + The list of tensor inputs for the `callback_on_step_end` function. The tensors specified in the list + will be passed as `callback_kwargs` argument. You will only be able to include variables listed in the + `._callback_tensor_inputs` attribute of your pipeline class. + max_sequence_length (`int`, *optional*, defaults to `512`): + The maximum sequence length of the prompt. + shift (`float`, *optional*, defaults to `5.0`): + The shift of the flow. + autocast_dtype (`torch.dtype`, *optional*, defaults to `torch.bfloat16`): + The dtype to use for the torch.amp.autocast. + Examples: + + Returns: + [`~WanPipelineOutput`] or `tuple`: + If `return_dict` is `True`, [`WanPipelineOutput`] is returned, otherwise a `tuple` is returned where + the first element is a list with the generated images and the second element is a list of `bool`s + indicating whether the corresponding generated image contains "not-safe-for-work" (nsfw) content. + """ + + if isinstance(callback_on_step_end, (PipelineCallback, MultiPipelineCallbacks)): + callback_on_step_end_tensor_inputs = callback_on_step_end.tensor_inputs + + # 1. Check inputs. Raise error if not correct + self.check_inputs( + prompt, + negative_prompt, + image, + height, + width, + prompt_embeds, + negative_prompt_embeds, + image_embeds, + callback_on_step_end_tensor_inputs, + ) + + if num_frames % self.vae_scale_factor_temporal != 1: + logger.warning( + f"`num_frames - 1` has to be divisible by {self.vae_scale_factor_temporal}. Rounding to the nearest number." + ) + num_frames = num_frames // self.vae_scale_factor_temporal * self.vae_scale_factor_temporal + 1 + num_frames = max(num_frames, 1) + + self._guidance_scale = guidance_scale + self._attention_kwargs = attention_kwargs + self._current_timestep = None + self._interrupt = False + + device = self._execution_device + + # 2. Define call parameters + if prompt is not None and isinstance(prompt, str): + batch_size = 1 + elif prompt is not None and isinstance(prompt, list): + batch_size = len(prompt) + else: + batch_size = prompt_embeds.shape[0] + + # 3. Encode input prompt + prompt_embeds, negative_prompt_embeds = self.encode_prompt( + prompt=prompt, + negative_prompt=negative_prompt, + do_classifier_free_guidance=self.do_classifier_free_guidance, + num_videos_per_prompt=num_videos_per_prompt, + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_prompt_embeds, + max_sequence_length=max_sequence_length, + device=device, + ) + if offload_model: + self.text_encoder.cpu() + # Encode image embedding + transformer_dtype = self.transformer.dtype + prompt_embeds = prompt_embeds.to(transformer_dtype) + if negative_prompt_embeds is not None: + negative_prompt_embeds = negative_prompt_embeds.to(transformer_dtype) + + if image_embeds is None: + image_embeds = self.encode_image(image, device) + image_embeds = image_embeds.repeat(batch_size, 1, 1) + image_embeds = image_embeds.to(transformer_dtype) + + if offload_model: + self.image_encoder.cpu() + + + # 4. Prepare timesteps + self.scheduler.set_timesteps(num_inference_steps, device=device) + timesteps = self.scheduler.timesteps + + # 5. Prepare latent variables + num_channels_latents = self.vae.config.z_dim + image = self.video_processor.preprocess(image, height=height, width=width).to(device, dtype=torch.bfloat16) + latents, condition = self.prepare_latents( + image, + batch_size * num_videos_per_prompt, + num_channels_latents, + height, + width, + num_frames, + torch.bfloat16, + device, + generator, + latents, + ) + + # 6. Denoising loop + num_warmup_steps = len(timesteps) - num_inference_steps * self.scheduler.order + self._num_timesteps = len(timesteps) + + if offload_model: + torch.cuda.empty_cache() + + with self.progress_bar(total=num_inference_steps) as progress_bar: + for i, t in enumerate(timesteps): + + if self.interrupt: + continue + + if enable_temporal_reasoning and i == num_temporal_reasoning_steps: + latents = latents[:, :, [0, -1]] + condition = condition[:, :, [0, -1]] + + for j in range(len(self.scheduler.model_outputs)): + if self.scheduler.model_outputs[j] is not None: + if latents.shape[-3] != self.scheduler.model_outputs[j].shape[-3]: + self.scheduler.model_outputs[j] = self.scheduler.model_outputs[j][:,:,[0, -1]] + if self.scheduler.last_sample is not None: + self.scheduler.last_sample = self.scheduler.last_sample[:, :, [0, -1]] + + self._current_timestep = t + latent_model_input = torch.cat([latents, condition], dim=1).to(transformer_dtype) + timestep = t.expand(latents.shape[0]) + + noise_pred = self.transformer( + hidden_states=latent_model_input, + timestep=timestep, + encoder_hidden_states=prompt_embeds, + encoder_hidden_states_image=image_embeds, + attention_kwargs=attention_kwargs, + return_dict=False, + )[0] + + if offload_model: + torch.cuda.empty_cache() + + if self.do_classifier_free_guidance: + noise_uncond = self.transformer( + hidden_states=latent_model_input, + timestep=timestep, + encoder_hidden_states=negative_prompt_embeds, + encoder_hidden_states_image=image_embeds, + attention_kwargs=attention_kwargs, + return_dict=False, + )[0] + noise_pred = noise_uncond + guidance_scale * (noise_pred - noise_uncond) + + # compute the previous noisy sample x_t -> x_t-1 + latents = self.scheduler.step(noise_pred, t, latents, return_dict=False)[0] + + if callback_on_step_end is not None: + callback_kwargs = {} + for k in callback_on_step_end_tensor_inputs: + callback_kwargs[k] = locals()[k] + callback_outputs = callback_on_step_end(self, i, t, callback_kwargs) + + latents = callback_outputs.pop("latents", latents) + prompt_embeds = callback_outputs.pop("prompt_embeds", prompt_embeds) + negative_prompt_embeds = callback_outputs.pop("negative_prompt_embeds", negative_prompt_embeds) + + # call the callback, if provided + if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % self.scheduler.order == 0): + progress_bar.update() + + if XLA_AVAILABLE: + xm.mark_step() + + if offload_model: + self.transformer.cpu() + torch.cuda.empty_cache() + + self._current_timestep = None + + if not output_type == "latent": + latents = latents.to(self.vae.dtype) + latents_mean = ( + torch.tensor(self.vae.config.latents_mean) + .view(1, self.vae.config.z_dim, 1, 1, 1) + .to(latents.device, latents.dtype) + ) + latents_std = 1.0 / torch.tensor(self.vae.config.latents_std).view(1, self.vae.config.z_dim, 1, 1, 1).to( + latents.device, latents.dtype + ) + latents = latents / latents_std + latents_mean + + if enable_temporal_reasoning and num_temporal_reasoning_steps > 0: + video_edit = self.vae.decode(latents[:, :, [0, -1]], return_dict=False)[0] + video_reason = self.vae.decode(latents[:, :, :-1], return_dict=False)[0] + video = torch.cat([video_reason, video_edit[:, :, 1:]], dim=2) + else: + video = self.vae.decode(latents, return_dict=False)[0] + + # video = self.vae.decode(latents, return_dict=False)[0] + video = self.video_processor.postprocess_video(video, output_type=output_type) + else: + video = latents + + # Offload all models + self.maybe_free_model_hooks() + + if not return_dict: + return (video,) + + return WanPipelineOutput(frames=video) \ No newline at end of file diff --git a/pipelines/chrono/transformer_chronoedit.py b/pipelines/chrono/transformer_chronoedit.py new file mode 100644 index 000000000..d740b3f66 --- /dev/null +++ b/pipelines/chrono/transformer_chronoedit.py @@ -0,0 +1,476 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import math +from typing import Any, Dict, Optional, Tuple, Union + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from diffusers.configuration_utils import ConfigMixin, register_to_config +from diffusers.loaders import FromOriginalModelMixin, PeftAdapterMixin +from diffusers.utils import USE_PEFT_BACKEND, logging, scale_lora_layers, unscale_lora_layers +from diffusers.models.attention import FeedForward +from diffusers.models.attention_processor import Attention +from diffusers.models.cache_utils import CacheMixin +from diffusers.models.embeddings import PixArtAlphaTextProjection, TimestepEmbedding, Timesteps, get_1d_rotary_pos_embed +from diffusers.models.modeling_outputs import Transformer2DModelOutput +from diffusers.models.modeling_utils import ModelMixin +from diffusers.models.normalization import FP32LayerNorm + + +logger = logging.get_logger(__name__) # pylint: disable=invalid-name + + +class ChronoEditAttnProcessor2_0: + def __init__(self): + if not hasattr(F, "scaled_dot_product_attention"): + raise ImportError("ChronoEditAttnProcessor2_0 requires PyTorch 2.0. To use it, please upgrade PyTorch to 2.0.") + + def __call__( + self, + attn: Attention, + hidden_states: torch.Tensor, + encoder_hidden_states: Optional[torch.Tensor] = None, + attention_mask: Optional[torch.Tensor] = None, + rotary_emb: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + encoder_hidden_states_img = None + if attn.add_k_proj is not None: + encoder_hidden_states_img = encoder_hidden_states[:, :257] + encoder_hidden_states = encoder_hidden_states[:, 257:] + if encoder_hidden_states is None: + encoder_hidden_states = hidden_states + + query = attn.to_q(hidden_states) + key = attn.to_k(encoder_hidden_states) + value = attn.to_v(encoder_hidden_states) + + if attn.norm_q is not None: + query = attn.norm_q(query) + if attn.norm_k is not None: + key = attn.norm_k(key) + + query = query.unflatten(2, (attn.heads, -1)).transpose(1, 2) + key = key.unflatten(2, (attn.heads, -1)).transpose(1, 2) + value = value.unflatten(2, (attn.heads, -1)).transpose(1, 2) + + if rotary_emb is not None: + + def apply_rotary_emb(hidden_states: torch.Tensor, freqs: torch.Tensor): + x_rotated = torch.view_as_complex(hidden_states.to(torch.float64).unflatten(3, (-1, 2))) + x_out = torch.view_as_real(x_rotated * freqs).flatten(3, 4) + return x_out.type_as(hidden_states) + + query = apply_rotary_emb(query, rotary_emb) + key = apply_rotary_emb(key, rotary_emb) + + # I2V task + hidden_states_img = None + if encoder_hidden_states_img is not None: + key_img = attn.add_k_proj(encoder_hidden_states_img) + key_img = attn.norm_added_k(key_img) + value_img = attn.add_v_proj(encoder_hidden_states_img) + + key_img = key_img.unflatten(2, (attn.heads, -1)).transpose(1, 2) + value_img = value_img.unflatten(2, (attn.heads, -1)).transpose(1, 2) + + hidden_states_img = F.scaled_dot_product_attention( + query, key_img, value_img, attn_mask=None, dropout_p=0.0, is_causal=False + ) + hidden_states_img = hidden_states_img.transpose(1, 2).flatten(2, 3) + hidden_states_img = hidden_states_img.type_as(query) + + hidden_states = F.scaled_dot_product_attention( + query, key, value, attn_mask=attention_mask, dropout_p=0.0, is_causal=False + ) + hidden_states = hidden_states.transpose(1, 2).flatten(2, 3) + hidden_states = hidden_states.type_as(query) + + if hidden_states_img is not None: + hidden_states = hidden_states + hidden_states_img + + hidden_states = attn.to_out[0](hidden_states) + hidden_states = attn.to_out[1](hidden_states) + return hidden_states + + +class ChronoEditImageEmbedding(torch.nn.Module): + def __init__(self, in_features: int, out_features: int): + super().__init__() + + self.norm1 = FP32LayerNorm(in_features) + self.ff = FeedForward(in_features, out_features, mult=1, activation_fn="gelu") + self.norm2 = FP32LayerNorm(out_features) + + def forward(self, encoder_hidden_states_image: torch.Tensor) -> torch.Tensor: + hidden_states = self.norm1(encoder_hidden_states_image) + hidden_states = self.ff(hidden_states) + hidden_states = self.norm2(hidden_states) + return hidden_states + + +class ChronoEditTimeTextImageEmbedding(nn.Module): + def __init__( + self, + dim: int, + time_freq_dim: int, + time_proj_dim: int, + text_embed_dim: int, + image_embed_dim: Optional[int] = None, + ): + super().__init__() + + self.timesteps_proj = Timesteps(num_channels=time_freq_dim, flip_sin_to_cos=True, downscale_freq_shift=0) + self.time_embedder = TimestepEmbedding(in_channels=time_freq_dim, time_embed_dim=dim) + self.act_fn = nn.SiLU() + self.time_proj = nn.Linear(dim, time_proj_dim) + self.text_embedder = PixArtAlphaTextProjection(text_embed_dim, dim, act_fn="gelu_tanh") + + self.image_embedder = None + if image_embed_dim is not None: + self.image_embedder = ChronoEditImageEmbedding(image_embed_dim, dim) + + def forward( + self, + timestep: torch.Tensor, + encoder_hidden_states: torch.Tensor, + encoder_hidden_states_image: Optional[torch.Tensor] = None, + ): + timestep = self.timesteps_proj(timestep) + + time_embedder_dtype = next(iter(self.time_embedder.parameters())).dtype + if timestep.dtype != time_embedder_dtype and time_embedder_dtype != torch.int8: + timestep = timestep.to(time_embedder_dtype) + temb = self.time_embedder(timestep).type_as(encoder_hidden_states) + timestep_proj = self.time_proj(self.act_fn(temb)) + + encoder_hidden_states = self.text_embedder(encoder_hidden_states) + if encoder_hidden_states_image is not None: + encoder_hidden_states_image = self.image_embedder(encoder_hidden_states_image) + + return temb, timestep_proj, encoder_hidden_states, encoder_hidden_states_image + + +class ChronoEditRotaryPosEmbed(nn.Module): + def __init__( + self, attention_head_dim: int, patch_size: Tuple[int, int, int], max_seq_len: int, theta: float = 10000.0, temporal_skip_len: int = 8 + ): + super().__init__() + + self.attention_head_dim = attention_head_dim + self.patch_size = patch_size + self.max_seq_len = max_seq_len + self.temporal_skip_len = temporal_skip_len + + h_dim = w_dim = 2 * (attention_head_dim // 6) + t_dim = attention_head_dim - h_dim - w_dim + + freqs = [] + for dim in [t_dim, h_dim, w_dim]: + freq = get_1d_rotary_pos_embed( + dim, max_seq_len, theta, use_real=False, repeat_interleave_real=False, freqs_dtype=torch.float64 + ) + freqs.append(freq) + self.freqs = torch.cat(freqs, dim=1) + + def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: + batch_size, _num_channels, num_frames, height, width = hidden_states.shape + p_t, p_h, p_w = self.patch_size + ppf, pph, ppw = num_frames // p_t, height // p_h, width // p_w + + self.freqs = self.freqs.to(hidden_states.device) + freqs = self.freqs.split_with_sizes( + [ + self.attention_head_dim // 2 - 2 * (self.attention_head_dim // 6), + self.attention_head_dim // 6, + self.attention_head_dim // 6, + ], + dim=1, + ) + + assert num_frames == 2 or num_frames == self.temporal_skip_len, f"num_frames must be 2 or {self.temporal_skip_len}, but got {num_frames}" + if num_frames == 2: + freqs_f = freqs[0][:self.temporal_skip_len][[0, -1]].view(ppf, 1, 1, -1).expand(ppf, pph, ppw, -1) + else: + freqs_f = freqs[0][:ppf].view(ppf, 1, 1, -1).expand(ppf, pph, ppw, -1) + freqs_h = freqs[1][:pph].view(1, pph, 1, -1).expand(ppf, pph, ppw, -1) + freqs_w = freqs[2][:ppw].view(1, 1, ppw, -1).expand(ppf, pph, ppw, -1) + freqs = torch.cat([freqs_f, freqs_h, freqs_w], dim=-1).reshape(1, 1, ppf * pph * ppw, -1) + return freqs + + +class ChronoEditTransformerBlock(nn.Module): + def __init__( + self, + dim: int, + ffn_dim: int, + num_heads: int, + qk_norm: str = "rms_norm_across_heads", + cross_attn_norm: bool = False, + eps: float = 1e-6, + added_kv_proj_dim: Optional[int] = None, + ): + super().__init__() + + # 1. Self-attention + self.norm1 = FP32LayerNorm(dim, eps, elementwise_affine=False) + self.attn1 = Attention( + query_dim=dim, + heads=num_heads, + kv_heads=num_heads, + dim_head=dim // num_heads, + qk_norm=qk_norm, + eps=eps, + bias=True, + cross_attention_dim=None, + out_bias=True, + processor=ChronoEditAttnProcessor2_0(), + ) + + # 2. Cross-attention + self.attn2 = Attention( + query_dim=dim, + heads=num_heads, + kv_heads=num_heads, + dim_head=dim // num_heads, + qk_norm=qk_norm, + eps=eps, + bias=True, + cross_attention_dim=None, + out_bias=True, + added_kv_proj_dim=added_kv_proj_dim, + added_proj_bias=True, + processor=ChronoEditAttnProcessor2_0(), + ) + self.norm2 = FP32LayerNorm(dim, eps, elementwise_affine=True) if cross_attn_norm else nn.Identity() + + # 3. Feed-forward + self.ffn = FeedForward(dim, inner_dim=ffn_dim, activation_fn="gelu-approximate") + self.norm3 = FP32LayerNorm(dim, eps, elementwise_affine=False) + + self.scale_shift_table = nn.Parameter(torch.randn(1, 6, dim) / dim**0.5) + + def forward( + self, + hidden_states: torch.Tensor, + encoder_hidden_states: torch.Tensor, + temb: torch.Tensor, + rotary_emb: torch.Tensor, + ) -> torch.Tensor: + shift_msa, scale_msa, gate_msa, c_shift_msa, c_scale_msa, c_gate_msa = ( + self.scale_shift_table + temb.float() + ).chunk(6, dim=1) + + # 1. Self-attention + norm_hidden_states = (self.norm1(hidden_states.float()) * (1 + scale_msa) + shift_msa).type_as(hidden_states) + attn_output = self.attn1(hidden_states=norm_hidden_states, rotary_emb=rotary_emb) + hidden_states = (hidden_states.float() + attn_output * gate_msa).type_as(hidden_states) + + # 2. Cross-attention + norm_hidden_states = self.norm2(hidden_states.float()).type_as(hidden_states) + attn_output = self.attn2(hidden_states=norm_hidden_states, encoder_hidden_states=encoder_hidden_states) + hidden_states = hidden_states + attn_output + + # 3. Feed-forward + norm_hidden_states = (self.norm3(hidden_states.float()) * (1 + c_scale_msa) + c_shift_msa).type_as( + hidden_states + ) + ff_output = self.ffn(norm_hidden_states) + hidden_states = (hidden_states.float() + ff_output.float() * c_gate_msa).type_as(hidden_states) + + return hidden_states + + +class ChronoEditTransformer3DModel(ModelMixin, ConfigMixin, PeftAdapterMixin, FromOriginalModelMixin, CacheMixin): + r""" + A Transformer model for video-like data used in the ChronoEdit model. + + Args: + patch_size (`Tuple[int]`, defaults to `(1, 2, 2)`): + 3D patch dimensions for video embedding (t_patch, h_patch, w_patch). + num_attention_heads (`int`, defaults to `40`): + Fixed length for text embeddings. + attention_head_dim (`int`, defaults to `128`): + The number of channels in each head. + in_channels (`int`, defaults to `16`): + The number of channels in the input. + out_channels (`int`, defaults to `16`): + The number of channels in the output. + text_dim (`int`, defaults to `512`): + Input dimension for text embeddings. + freq_dim (`int`, defaults to `256`): + Dimension for sinusoidal time embeddings. + ffn_dim (`int`, defaults to `13824`): + Intermediate dimension in feed-forward network. + num_layers (`int`, defaults to `40`): + The number of layers of transformer blocks to use. + window_size (`Tuple[int]`, defaults to `(-1, -1)`): + Window size for local attention (-1 indicates global attention). + cross_attn_norm (`bool`, defaults to `True`): + Enable cross-attention normalization. + qk_norm (`bool`, defaults to `True`): + Enable query/key normalization. + eps (`float`, defaults to `1e-6`): + Epsilon value for normalization layers. + add_img_emb (`bool`, defaults to `False`): + Whether to use img_emb. + added_kv_proj_dim (`int`, *optional*, defaults to `None`): + The number of channels to use for the added key and value projections. If `None`, no projection is used. + """ + + _supports_gradient_checkpointing = True + _skip_layerwise_casting_patterns = ["patch_embedding", "condition_embedder", "norm"] + _no_split_modules = ["ChronoEditTransformerBlock"] + _keep_in_fp32_modules = ["time_embedder", "scale_shift_table", "norm1", "norm2", "norm3"] + _keys_to_ignore_on_load_unexpected = ["norm_added_q"] + + @register_to_config + def __init__( + self, + patch_size: Tuple[int] = (1, 2, 2), + num_attention_heads: int = 40, + attention_head_dim: int = 128, + in_channels: int = 16, + out_channels: int = 16, + text_dim: int = 4096, + freq_dim: int = 256, + ffn_dim: int = 13824, + num_layers: int = 40, + cross_attn_norm: bool = True, + qk_norm: Optional[str] = "rms_norm_across_heads", + eps: float = 1e-6, + image_dim: Optional[int] = None, + added_kv_proj_dim: Optional[int] = None, + rope_max_seq_len: int = 1024, + rope_temporal_skip_len: int = 8, + ) -> None: + super().__init__() + + inner_dim = num_attention_heads * attention_head_dim + out_channels = out_channels or in_channels + + # 1. Patch & position embedding + self.rope = ChronoEditRotaryPosEmbed(attention_head_dim, patch_size, rope_max_seq_len, temporal_skip_len=rope_temporal_skip_len) + self.patch_embedding = nn.Conv3d(in_channels, inner_dim, kernel_size=patch_size, stride=patch_size) + + # 2. Condition embeddings + # image_embedding_dim=1280 for I2V model + self.condition_embedder = ChronoEditTimeTextImageEmbedding( + dim=inner_dim, + time_freq_dim=freq_dim, + time_proj_dim=inner_dim * 6, + text_embed_dim=text_dim, + image_embed_dim=image_dim, + ) + + # 3. Transformer blocks + self.blocks = nn.ModuleList( + [ + ChronoEditTransformerBlock( + inner_dim, ffn_dim, num_attention_heads, qk_norm, cross_attn_norm, eps, added_kv_proj_dim + ) + for _ in range(num_layers) + ] + ) + + # 4. Output norm & projection + self.norm_out = FP32LayerNorm(inner_dim, eps, elementwise_affine=False) + self.proj_out = nn.Linear(inner_dim, out_channels * math.prod(patch_size)) + self.scale_shift_table = nn.Parameter(torch.randn(1, 2, inner_dim) / inner_dim**0.5) + + self.gradient_checkpointing = False + + def forward( + self, + hidden_states: torch.Tensor, + timestep: torch.LongTensor, + encoder_hidden_states: torch.Tensor, + encoder_hidden_states_image: Optional[torch.Tensor] = None, + return_dict: bool = True, + attention_kwargs: Optional[Dict[str, Any]] = None, + ) -> Union[torch.Tensor, Dict[str, torch.Tensor]]: + if attention_kwargs is not None: + attention_kwargs = attention_kwargs.copy() + lora_scale = attention_kwargs.pop("scale", 1.0) + else: + lora_scale = 1.0 + + if USE_PEFT_BACKEND: + # weight the lora layers by setting `lora_scale` for each PEFT layer + scale_lora_layers(self, lora_scale) + else: + if attention_kwargs is not None and attention_kwargs.get("scale", None) is not None: + logger.warning( + "Passing `scale` via `attention_kwargs` when not using the PEFT backend is ineffective." + ) + + batch_size, _num_channels, num_frames, height, width = hidden_states.shape + p_t, p_h, p_w = self.config.patch_size + post_patch_num_frames = num_frames // p_t + post_patch_height = height // p_h + post_patch_width = width // p_w + + rotary_emb = self.rope(hidden_states) + + hidden_states = self.patch_embedding(hidden_states) + hidden_states = hidden_states.flatten(2).transpose(1, 2) + + temb, timestep_proj, encoder_hidden_states, encoder_hidden_states_image = self.condition_embedder( + timestep, encoder_hidden_states, encoder_hidden_states_image + ) + timestep_proj = timestep_proj.unflatten(1, (6, -1)) + + if encoder_hidden_states_image is not None: + encoder_hidden_states = torch.concat([encoder_hidden_states_image, encoder_hidden_states], dim=1) + + # 4. Transformer blocks + if torch.is_grad_enabled() and self.gradient_checkpointing: + for block in self.blocks: + hidden_states = self._gradient_checkpointing_func( + block, hidden_states, encoder_hidden_states, timestep_proj, rotary_emb + ) + else: + for block in self.blocks: + hidden_states = block(hidden_states, encoder_hidden_states, timestep_proj, rotary_emb) + + # 5. Output norm, projection & unpatchify + shift, scale = (self.scale_shift_table + temb.unsqueeze(1)).chunk(2, dim=1) + + # Move the shift and scale tensors to the same device as hidden_states. + # When using multi-GPU inference via accelerate these will be on the + # first device rather than the last device, which hidden_states ends up + # on. + shift = shift.to(hidden_states.device) + scale = scale.to(hidden_states.device) + + hidden_states = (self.norm_out(hidden_states.float()) * (1 + scale) + shift).type_as(hidden_states) + hidden_states = self.proj_out(hidden_states) + + hidden_states = hidden_states.reshape( + batch_size, post_patch_num_frames, post_patch_height, post_patch_width, p_t, p_h, p_w, -1 + ) + hidden_states = hidden_states.permute(0, 7, 1, 4, 2, 5, 3, 6) + output = hidden_states.flatten(6, 7).flatten(4, 5).flatten(2, 3) + + if USE_PEFT_BACKEND: + # remove `lora_scale` from each PEFT layer + unscale_lora_layers(self, lora_scale) + + if not return_dict: + return (output,) + + return Transformer2DModelOutput(sample=output) diff --git a/pipelines/generic.py b/pipelines/generic.py index f86745aba..40a951379 100644 --- a/pipelines/generic.py +++ b/pipelines/generic.py @@ -135,7 +135,7 @@ def load_text_encoder(repo_id, cls_name, load_config=None, subfolder="text_encod text_encoder = model_te.load_t5(local_file) text_encoder = model_quant.do_post_load_quant(text_encoder, allow=quant_type is not None) # use shared t5 if possible - elif cls_name == transformers.T5EncoderModel and allow_shared: + elif cls_name == transformers.T5EncoderModel and allow_shared and shared.opts.te_shared_t5: if model_quant.check_nunchaku('TE'): import nunchaku repo_id = 'nunchaku-tech/nunchaku-t5/awq-int4-flux.1-t5xxl.safetensors' @@ -146,7 +146,7 @@ def load_text_encoder(repo_id, cls_name, load_config=None, subfolder="text_encod torch_dtype=dtype, ) text_encoder.quantization_method = 'SVDQuant' - elif shared.opts.te_shared_t5: + else: if 'sdnq-uint4-svd' in repo_id.lower(): repo_id = 'Disty0/FLUX.1-dev-SDNQ-uint4-svd-r32' load_args['subfolder'] = 'text_encoder_2' @@ -163,20 +163,35 @@ def load_text_encoder(repo_id, cls_name, load_config=None, subfolder="text_encod **load_args, **quant_args, ) - elif cls_name == transformers.Qwen2_5_VLForConditionalGeneration and allow_shared: - if shared.opts.te_shared_t5: - repo_id = 'hunyuanvideo-community/HunyuanImage-2.1-Diffusers' - subfolder = 'text_encoder' - shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') - if dtype is not None: - load_args['torch_dtype'] = dtype - text_encoder = cls_name.from_pretrained( - repo_id, - cache_dir=shared.opts.hfcache_dir, - subfolder=subfolder, - **load_args, - **quant_args, - ) + elif cls_name == transformers.UMT5EncoderModel and allow_shared and shared.opts.te_shared_t5: + if 'sdnq-uint4-svd' in repo_id.lower(): + repo_id = 'Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32' + else: + repo_id = 'Wan-AI/Wan2.1-T2V-1.3B-Diffusers' + subfolder = 'text_encoder' + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') + if dtype is not None: + load_args['torch_dtype'] = dtype + text_encoder = cls_name.from_pretrained( + repo_id, + cache_dir=shared.opts.hfcache_dir, + subfolder=subfolder, + **load_args, + **quant_args, + ) + elif cls_name == transformers.Qwen2_5_VLForConditionalGeneration and allow_shared and shared.opts.te_shared_t5: + repo_id = 'hunyuanvideo-community/HunyuanImage-2.1-Diffusers' + subfolder = 'text_encoder' + shared.log.debug(f'Load model: text_encoder="{repo_id}" cls={cls_name.__name__} quant="{quant_type}" shared={shared.opts.te_shared_t5}') + if dtype is not None: + load_args['torch_dtype'] = dtype + text_encoder = cls_name.from_pretrained( + repo_id, + cache_dir=shared.opts.hfcache_dir, + subfolder=subfolder, + **load_args, + **quant_args, + ) # load from repo if text_encoder is None: diff --git a/pipelines/model_chrono.py b/pipelines/model_chrono.py new file mode 100644 index 000000000..1f528dcac --- /dev/null +++ b/pipelines/model_chrono.py @@ -0,0 +1,54 @@ +import transformers +from modules import shared, devices, sd_models, model_quant, sd_hijack_te, sd_hijack_vae +from pipelines import generic + + +def postprocess(p, result): # pylint: disable=unused-argument + shared.log.debug('Postprocess: model=ChronoEdit') + if result is not None and hasattr(result, 'images'): + result.images = result.images[-1] + return result + + +def load_chrono(checkpoint_info, diffusers_load_config=None): + if diffusers_load_config is None: + diffusers_load_config = {} + repo_id = sd_models.path_to_repo(checkpoint_info) + sd_models.hf_auth_check(checkpoint_info) + + load_args, _quant_args = model_quant.get_dit_args(diffusers_load_config, allow_quant=False) + shared.log.debug(f'Load model: type=ChronoEdit repo="{repo_id}" config={diffusers_load_config} offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype} args={load_args}') + + from pipelines.chrono.pipeline_chronoedit import ChronoEditPipeline as pipe_cls + from pipelines.chrono.transformer_chronoedit import ChronoEditTransformer3DModel + + transformer = generic.load_transformer(repo_id, cls_name=ChronoEditTransformer3DModel, load_config=diffusers_load_config, subfolder="transformer") + text_encoder = generic.load_text_encoder(repo_id, cls_name=transformers.UMT5EncoderModel, load_config=diffusers_load_config, subfolder="text_encoder") + + pipe = pipe_cls.from_pretrained( + repo_id, + transformer=transformer, + text_encoder=text_encoder, + cache_dir=shared.opts.diffusers_dir, + **load_args, + ) + pipe.postprocess = postprocess + pipe.task_args = { + 'num_temporal_reasoning_steps': shared.opts.model_chrono_temporal_steps, + 'output_type': 'np', + } + if shared.opts.model_chrono_temporal_steps > 0: + pipe.task_args['num_frames'] = 29 + pipe.task_args['enable_temporal_reasoning'] = True + else: + pipe.task_args['num_frames'] = 29 + pipe.task_args['enable_temporal_reasoning'] = False + + del text_encoder + del transformer + + sd_hijack_te.init_hijack(pipe) + sd_hijack_vae.init_hijack(pipe) + + devices.torch_gc() + return pipe diff --git a/pipelines/model_hidream.py b/pipelines/model_hidream.py index 10b3d7b92..efb748502 100644 --- a/pipelines/model_hidream.py +++ b/pipelines/model_hidream.py @@ -1,6 +1,6 @@ import transformers import diffusers -from modules import shared, devices, sd_models, model_quant, sd_hijack_te +from modules import shared, devices, sd_models, model_quant, sd_hijack_te, sd_hijack_vae from pipelines import generic @@ -79,6 +79,7 @@ def load_hidream(checkpoint_info, diffusers_load_config=None): del tokenizer_4 del transformer sd_hijack_te.init_hijack(pipe) + sd_hijack_vae.init_hijack(pipe) devices.torch_gc() return pipe From 702c8a9a201e63fe6a00e61d2665329b0c92d064 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 30 Oct 2025 20:07:57 -0400 Subject: [PATCH 134/137] lint Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 9 +++++---- pipelines/chrono/pipeline_chronoedit.py | 2 +- pipelines/model_chrono.py | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf5837105..a35bbe217 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,14 @@ # Change Log for SD.Next -## Update for 2025-10-30 +## Update for 2025-10-31 -### Highlights for 2025-10-30 +### Highlights for 2025-10-31 Less than 2 weeks since last release, here's a service-pack style update with a lot of fixes and improvements: - Reorganization of **Reference Models** into *Base, Quantized, Distilled and Community* sections for easier navigation and introduction of optimized **pre-quantized** variants for many popular models - use this as your quick start! -- New models: **HunyuanImage 2.1** capable of 2K images natively, **HunyuanImage 3.0** large unified multimodal autoregressive model, +- New models: + **HunyuanImage 2.1** capable of 2K images natively, **HunyuanImage 3.0** large unified multimodal autoregressive model, **ChronoEdit** that re-purposes temporal consistency of generation for image editing **Pony 7** based on AuraFlow architecture, **Kandinsky 5** 10s video models - New **offline mode** to use previously downloaded models without internet connection @@ -21,7 +22,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a [ReadMe](https://github.com/vladmandic/automatic/blob/master/README.md) | [ChangeLog](https://github.com/vladmandic/automatic/blob/master/CHANGELOG.md) | [Docs](https://vladmandic.github.io/sdnext-docs/) | [WiKi](https://github.com/vladmandic/automatic/wiki) | [Discord](https://discord.com/invite/sd-next-federal-batch-inspectors-1101998836328697867) | [Sponsor](https://github.com/sponsors/vladmandic) -### Details for 2025-10-30 +### Details for 2025-10-31 - **Reference** networks section is now split into actual *Base* models plus: - **Quantized**: pre-quantized variants of the base models using SDNQ-SVD quantization for optimal quality and smallest possible resource usage diff --git a/pipelines/chrono/pipeline_chronoedit.py b/pipelines/chrono/pipeline_chronoedit.py index de439a359..794911fa7 100644 --- a/pipelines/chrono/pipeline_chronoedit.py +++ b/pipelines/chrono/pipeline_chronoedit.py @@ -761,4 +761,4 @@ class ChronoEditPipeline(DiffusionPipeline, WanLoraLoaderMixin): if not return_dict: return (video,) - return WanPipelineOutput(frames=video) \ No newline at end of file + return WanPipelineOutput(frames=video) diff --git a/pipelines/model_chrono.py b/pipelines/model_chrono.py index 1f528dcac..8eca2f47f 100644 --- a/pipelines/model_chrono.py +++ b/pipelines/model_chrono.py @@ -37,11 +37,12 @@ def load_chrono(checkpoint_info, diffusers_load_config=None): 'num_temporal_reasoning_steps': shared.opts.model_chrono_temporal_steps, 'output_type': 'np', } + # reference: if shared.opts.model_chrono_temporal_steps > 0: pipe.task_args['num_frames'] = 29 pipe.task_args['enable_temporal_reasoning'] = True else: - pipe.task_args['num_frames'] = 29 + pipe.task_args['num_frames'] = 5 pipe.task_args['enable_temporal_reasoning'] = False del text_encoder From b0e147a459af4cfe2392acd375ddb9826cdb9fd2 Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Fri, 31 Oct 2025 16:45:18 +0900 Subject: [PATCH 135/137] handle different sizes of hipDeviceProp_t --- modules/rocm.py | 36 +++++++++++++++------------- modules/windows_hip_ffi.py | 49 +++++++++++++++++++++++++++++++++----- 2 files changed, 62 insertions(+), 23 deletions(-) diff --git a/modules/rocm.py b/modules/rocm.py index f14a711ca..cd2b9c968 100644 --- a/modules/rocm.py +++ b/modules/rocm.py @@ -97,16 +97,24 @@ class Agent: @property def therock(self) -> Union[str, None]: - if (self.gfx_version & 0xFFF0) == 0x1100: - return "gfx110X-dgpu" - if self.gfx_version == 0x1151: - return "gfx1151" if (self.gfx_version & 0xFFF0) == 0x1200: return "gfx120X-all" - if (self.gfx_version & 0xFFF0) == 0x940: - return "gfx94X-dcgpu" - if self.gfx_version == 0x950: - return "gfx950-dcgpu" + if (self.gfx_version & 0xFFF0) == 0x1100: + return "gfx110X-all" + if self.gfx_version == 0x1150: + return "gfx1150" + if self.gfx_version == 0x1151: + return "gfx1151" + #if (self.gfx_version & 0xFFF0) == 0x1030: + # return "gfx103X-dgpu" + #if (self.gfx_version & 0xFFF0) == 0x1010: + # return "gfx101X-dgpu" + #if (self.gfx_version & 0xFFF0) == 0x900: + # return "gfx90X-dcgpu" + #if (self.gfx_version & 0xFFF0) == 0x940: + # return "gfx94X-dcgpu" + #if self.gfx_version == 0x950: + # return "gfx950-dcgpu" return None def get_gfx_version(self) -> Union[str, None]: @@ -239,15 +247,9 @@ if sys.platform == "win32": def driver_get_agents() -> List[Agent]: # unsafe and experimental feature from modules import windows_hip_ffi - hip = windows_hip_ffi.HIP() - count = hip.get_device_count() - _agents = [None] * count - for i in range(count): - prop = hip.get_device_properties(i) - name = prop.gcnArchName.decode('utf-8').strip('\x00') - _agents[i] = Agent(name) - del hip - return _agents + archs = windows_hip_ffi.get_archs() + # filter out None (is there any better way?) + return [Agent(x) for x in archs if x is not None] def postinstall(): import torch diff --git a/modules/windows_hip_ffi.py b/modules/windows_hip_ffi.py index 3135bc89f..1ba13f879 100644 --- a/modules/windows_hip_ffi.py +++ b/modules/windows_hip_ffi.py @@ -7,9 +7,7 @@ if sys.platform == "win32": class hipDeviceProp(ctypes.Structure): _fields_ = [ - ('__front__', ctypes.c_byte * 396), - ('gcnArchName', ctypes.c_char * 256), - ('__rear__', ctypes.c_byte * 820) + ('bytes', ctypes.c_byte * 1472) # 1472 in amdhip64_6.dll, shorter in amdhip64_7.dll? ] class HIP: @@ -17,9 +15,11 @@ if sys.platform == "win32": ctypes.windll.kernel32.LoadLibraryA.restype = ctypes.wintypes.HMODULE ctypes.windll.kernel32.LoadLibraryA.argtypes = [ctypes.c_char_p] self.handle = None - path = os.environ.get("windir", "C:\\Windows") + "\\System32\\amdhip64_6.dll" + path = os.environ.get("windir", "C:\\Windows") + "\\System32\\amdhip64_7.dll" if not os.path.isfile(path): - path = os.environ.get("windir", "C:\\Windows") + "\\System32\\amdhip64_7.dll" + path = os.environ.get("windir", "C:\\Windows") + "\\System32\\amdhip64_6.dll" + if not os.path.isfile(path): + path = os.environ.get("windir", "C:\\Windows") + "\\System32\\amdhip64.dll" assert os.path.isfile(path) self.handle = ctypes.windll.kernel32.LoadLibraryA(path.encode('utf-8')) ctypes.windll.kernel32.GetLastError.restype = ctypes.wintypes.DWORD @@ -47,4 +47,41 @@ if sys.platform == "win32": def get_device_properties(self, device_id): prop = hipDeviceProp() assert self.hipGetDeviceProperties(ctypes.byref(prop), device_id) == 0 - return prop + return prop.bytes + + def get_archs(): + hip = HIP() + + count = hip.get_device_count() + archs = [None] * count + for i in range(count): + prop = hip.get_device_properties(i)[:] + + name = "" + idx = 0 + while idx < len(prop): + try: + idx = prop.index(0x67, idx) + 1 # 'g' + except ValueError: + break + if prop[idx] != 0x66: # 'f' + continue + if prop[idx + 1] != 0x78: # 'x' + continue + + idx = idx + 2 + while prop[idx] != 0x00: + c = prop[idx] + if (c < 0x30 or c > 0x39) and (c < 0x61 or c > 0x66): # hexadecimal + name = "" + continue + name += chr(c) + idx += 1 + break + + # if name == "", hipDeviceProp does not contain arch name + if name: + archs[i] = "gfx" + name + + del hip + return archs From 0b3248c90a27ff253161ff8a23ee26889f5b2d9e Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 31 Oct 2025 09:34:39 -0400 Subject: [PATCH 136/137] fix framepack Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + modules/framepack/framepack_wrappers.py | 3 +++ modules/framepack/pipeline/utils.py | 21 +++++++++------------ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a35bbe217..e76fd0df6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,6 +106,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - fix `nudenet` process tab operations - `controlnet` input validation - log metadata keys that cannot be applied + - fix `framepack` with image input ## Update for 2025-10-18 diff --git a/modules/framepack/framepack_wrappers.py b/modules/framepack/framepack_wrappers.py index 672db7806..ad4745846 100644 --- a/modules/framepack/framepack_wrappers.py +++ b/modules/framepack/framepack_wrappers.py @@ -5,6 +5,7 @@ import threading import numpy as np import torch import gradio as gr +from PIL import Image from modules import shared, processing, timer, paths, extra_networks, progress, ui_video_vlm from modules.video_models.video_utils import check_av from modules.framepack import framepack_install # pylint: disable=wrong-import-order @@ -27,6 +28,8 @@ def prepare_image(image, resolution): (416, 960), (448, 864), (480, 832), (512, 768), (544, 704), (576, 672), (608, 640), (640, 608), (672, 576), (704, 544), (768, 512), (832, 480), (864, 448), (960, 416), ] + if isinstance(image, Image.Image): + image = np.array(image) h, w, _c = image.shape min_metric = float('inf') scale_factor = resolution / 640.0 diff --git a/modules/framepack/pipeline/utils.py b/modules/framepack/pipeline/utils.py index 20108106b..9cd99571d 100644 --- a/modules/framepack/pipeline/utils.py +++ b/modules/framepack/pipeline/utils.py @@ -1,15 +1,14 @@ import os -import cv2 import json import random import glob +import datetime import torch import einops +import cv2 import numpy as np -import datetime import torchvision -import safetensors.torch as sf -from PIL import Image +from PIL import Image, ImageDraw, ImageFont def min_resize(x, m): @@ -30,7 +29,7 @@ def min_resize(x, m): def d_resize(x, y): - H, W, C = y.shape + H, W, _C = y.shape new_min = min(H, W) raw_min = min(x.shape[0], x.shape[1]) if new_min < raw_min: @@ -50,7 +49,7 @@ def resize_and_center_crop(image, target_width, target_height): scale_factor = max(target_width / original_width, target_height / original_height) resized_width = int(round(original_width * scale_factor)) resized_height = int(round(original_height * scale_factor)) - resized_image = pil_image.resize((resized_width, resized_height), Image.LANCZOS) + resized_image = pil_image.resize((resized_width, resized_height), Image.Resampling.LANCZOS) left = (resized_width - target_width) / 2 top = (resized_height - target_height) / 2 right = (resized_width + target_width) / 2 @@ -60,7 +59,7 @@ def resize_and_center_crop(image, target_width, target_height): def resize_and_center_crop_pytorch(image, target_width, target_height): - B, C, H, W = image.shape + _B, _C, H, W = image.shape if H == target_height and W == target_width: return image @@ -83,7 +82,7 @@ def resize_without_crop(image, target_width, target_height): return image pil_image = Image.fromarray(image) - resized_image = pil_image.resize((target_width, target_height), Image.LANCZOS) + resized_image = pil_image.resize((target_width, target_height), Image.Resampling.LANCZOS) return np.array(resized_image) @@ -188,7 +187,7 @@ def supress_lower_channels(m, k, alpha=0.01): def freeze_module(m): if not hasattr(m, '_forward_inside_frozen_module'): - m._forward_inside_frozen_module = m.forward + m._forward_inside_frozen_module = m.forward # pylint: disable=protected-access m.requires_grad_(False) m.forward = torch.no_grad()(m.forward) return m @@ -243,7 +242,7 @@ def soft_append_bcthw(history, current, overlap=0): def save_bcthw_as_mp4(x, output_filename, fps=10, crf=0): - b, c, t, h, w = x.shape + b, _c, _t, _h, _w = x.shape per_row = b for p in [6, 5, 4, 3, 2]: @@ -297,8 +296,6 @@ def add_tensors_with_padding(tensor1, tensor2): def visualize_txt_as_img(width, height, text, font_path='font/DejaVuSans.ttf', size=18): - from PIL import Image, ImageDraw, ImageFont - txt = Image.new("RGB", (width, height), color="white") draw = ImageDraw.Draw(txt) font = ImageFont.truetype(font_path, size=size) From 526472a9213e7b2f35a6c4dd33d6fb493f741d45 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 31 Oct 2025 11:04:28 -0400 Subject: [PATCH 137/137] add chronoedit prequants and lora loading Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 1 + html/reference.json | 14 ++++++++++++-- modules/lora/lora_load.py | 8 ++++++-- modules/lora/lora_overrides.py | 2 ++ modules/modeldata.py | 4 +++- modules/sd_vae_taesd.py | 4 ++-- pipelines/model_chrono.py | 33 +++++++++++++++++++++++---------- 7 files changed, 49 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e76fd0df6..13fb9c654 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,7 @@ Less than 2 weeks since last release, here's a service-pack style update with a - log available attention mechanisms on startup - support for switching back-and-forth **t2i** and **t2v** for *wan-2.x* models - control `api` cache controlnets + - additional model modules **deduplication** for both normal and pre-quant models: *umt5, qwen25-vl* - **Fixes** - startup error with `--profile` enabled if using `--skip` - restore orig init image for each batch sequence diff --git a/html/reference.json b/html/reference.json index a8d628145..7d573ba54 100644 --- a/html/reference.json +++ b/html/reference.json @@ -1013,9 +1013,19 @@ "size": 16.10, "extras": "" }, - "Tencent HunyuanImage 3.0": { + "nVidia ChronoEdit sdnq-svd-uint4": { + "path": "Disty0/ChronoEdit-14B-SDNQ-uint4-svd-r32", + "preview": "nvidia--ChronoEdit-14B-Diffusers.jpg", + "desc": "Quantization of nvidia/ChronoEdit-14B-Diffusers using SDNQ: sdnq-svd 4-bit uint with svd rank 32.", + "skip": true, + "tags": "quantized", + "date": "2025 October", + "size": 18.10, + "extras": "" + }, + "Tencent HunyuanImage 3.0 sdnq-svd-uint4": { "path": "Disty0/HunyuanImage3-SDNQ-uint4-svd-r32", - "desc": "HunyuanImage-3.0 is a groundbreaking native multimodal model that unifies multimodal understanding and generation within an autoregressive framework.", + "desc": "Quantization of tencent/HunyuanImage-3.0 using SDNQ: sdnq-svd 4-bit uint with svd rank 32.", "preview": "Disty0--HunyuanImage3-SDNQ-uint4-svd-r32.jpg", "extras": "", "skip": true, diff --git a/modules/lora/lora_load.py b/modules/lora/lora_load.py index f629c2772..85c66208d 100644 --- a/modules/lora/lora_load.py +++ b/modules/lora/lora_load.py @@ -13,6 +13,9 @@ available_network_aliases = {} forbidden_network_aliases = {} available_network_hash_lookup = {} dump_lora_keys = os.environ.get('SD_LORA_DUMP', None) is not None +exclude_errors = [ + "'ChronoEditTransformer3DModel'", +] def lora_dump(lora, dct): @@ -285,7 +288,8 @@ def network_load(names, te_multipliers=None, unet_multipliers=None, dyn_dims=Non shared.log.trace(f'Network load: type=LoRA active={sd_model.get_active_adapters()}') sd_model.set_adapters(adapter_names=lora_diffusers.diffuser_loaded, adapter_weights=lora_diffusers.diffuser_scales) except Exception as e: - shared.log.error(f'Network load: type=LoRA action=set {e}') + if str(e) not in exclude_errors: + shared.log.error(f'Network load: type=LoRA action=strength {str(e)}') if l.debug: errors.display(e, 'LoRA') try: @@ -294,7 +298,7 @@ def network_load(names, te_multipliers=None, unet_multipliers=None, dyn_dims=Non sd_model.unload_lora_weights() l.timer.activate += time.time() - t1 except Exception as e: - shared.log.error(f'Network load: type=LoRA action=fuse {e}') + shared.log.error(f'Network load: type=LoRA action=fuse {str(e)}') if l.debug: errors.display(e, 'LoRA') diff --git a/modules/lora/lora_overrides.py b/modules/lora/lora_overrides.py index 4d9074e0a..3ac047015 100644 --- a/modules/lora/lora_overrides.py +++ b/modules/lora/lora_overrides.py @@ -38,10 +38,12 @@ force_models_diffusers = [ # forced always 'bria', 'flite', 'cosmos', + 'chrono', # video models 'hunyuanvideo', 'cogvideo', 'wanai', + 'chrono', 'ltxvideo', 'mochivideo', 'allegrovideo', diff --git a/modules/modeldata.py b/modules/modeldata.py index 40fd3196b..2b05d8218 100644 --- a/modules/modeldata.py +++ b/modules/modeldata.py @@ -76,8 +76,10 @@ def get_model_type(pipe): elif "Allegro" in name: model_type = 'allegrovideo' # hybrid models - elif 'Wan' in name or 'ChronoEdit' in name: + elif 'Wan' in name: model_type = 'wanai' + if 'ChronoEdit' in name: + model_type = 'chrono' elif 'HDM-xut' in name: model_type = 'hdm' elif 'HunyuanImage3' in name: diff --git a/modules/sd_vae_taesd.py b/modules/sd_vae_taesd.py index 510215855..d624c5858 100644 --- a/modules/sd_vae_taesd.py +++ b/modules/sd_vae_taesd.py @@ -36,7 +36,7 @@ prev_cls = '' prev_type = '' prev_model = '' lock = threading.Lock() -supported = ['sd', 'sdxl', 'sd3', 'f1', 'h1', 'lumina2', 'hunyuanvideo', 'wanai', 'mochivideo', 'pixartsigma', 'pixartalpha', 'hunyuandit', 'omnigen', 'qwen'] +supported = ['sd', 'sdxl', 'sd3', 'f1', 'h1', 'lumina2', 'hunyuanvideo', 'wanai', 'chrono', 'mochivideo', 'pixartsigma', 'pixartalpha', 'hunyuandit', 'omnigen', 'qwen'] def warn_once(msg, variant=None): @@ -59,7 +59,7 @@ def get_model(model_type = 'decoder', variant = None): model_cls = 'sdxl' elif model_cls in {'h1', 'lumina2', 'chroma'}: model_cls = 'f1' - elif model_cls in {'wanai', 'qwen'}: + elif model_cls in {'wanai', 'qwen', 'chrono'}: variant = variant or 'TAE WanVideo' elif model_cls not in supported: warn_once(f'cls={shared.sd_model.__class__.__name__} type={model_cls} unsuppported', variant=variant) diff --git a/pipelines/model_chrono.py b/pipelines/model_chrono.py index 8eca2f47f..f240eddc3 100644 --- a/pipelines/model_chrono.py +++ b/pipelines/model_chrono.py @@ -1,3 +1,4 @@ +import sys import transformers from modules import shared, devices, sd_models, model_quant, sd_hijack_te, sd_hijack_vae from pipelines import generic @@ -19,19 +20,31 @@ def load_chrono(checkpoint_info, diffusers_load_config=None): load_args, _quant_args = model_quant.get_dit_args(diffusers_load_config, allow_quant=False) shared.log.debug(f'Load model: type=ChronoEdit repo="{repo_id}" config={diffusers_load_config} offload={shared.opts.diffusers_offload_mode} dtype={devices.dtype} args={load_args}') - from pipelines.chrono.pipeline_chronoedit import ChronoEditPipeline as pipe_cls - from pipelines.chrono.transformer_chronoedit import ChronoEditTransformer3DModel + from pipelines.chrono import pipeline_chronoedit + from pipelines.chrono import transformer_chronoedit - transformer = generic.load_transformer(repo_id, cls_name=ChronoEditTransformer3DModel, load_config=diffusers_load_config, subfolder="transformer") + # monkey patch for + import pipelines.chrono + sys.modules['chronoedit_diffusers'] = pipelines.chrono + from diffusers.pipelines import pipeline_loading_utils + pipeline_loading_utils.LOADABLE_CLASSES['chronoedit_diffusers.transformer_chronoedit'] = {} + + transformer = generic.load_transformer(repo_id, cls_name=transformer_chronoedit.ChronoEditTransformer3DModel, load_config=diffusers_load_config, subfolder="transformer") text_encoder = generic.load_text_encoder(repo_id, cls_name=transformers.UMT5EncoderModel, load_config=diffusers_load_config, subfolder="text_encoder") - pipe = pipe_cls.from_pretrained( - repo_id, - transformer=transformer, - text_encoder=text_encoder, - cache_dir=shared.opts.diffusers_dir, - **load_args, - ) + try: + pipe = pipeline_chronoedit.ChronoEditPipeline.from_pretrained( + repo_id, + transformer=transformer, + text_encoder=text_encoder, + cache_dir=shared.opts.diffusers_dir, + **load_args, + ) + except Exception as e: + import os + from modules import errors + errors.display(e, 'Chrono') + os._exit(1) pipe.postprocess = postprocess pipe.task_args = { 'num_temporal_reasoning_steps': shared.opts.model_chrono_temporal_steps,