From 3406083d14949c88c27ecadadf20e65deebcaf70 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Wed, 2 Jul 2025 06:40:27 +0300 Subject: [PATCH] Override lumina2 to use diffusers lora loading --- modules/lora/lora_overrides.py | 1 + modules/sdnq/forward.py | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/lora/lora_overrides.py b/modules/lora/lora_overrides.py index 0e16c1254..9f6174966 100644 --- a/modules/lora/lora_overrides.py +++ b/modules/lora/lora_overrides.py @@ -32,6 +32,7 @@ force_models_diffusers = [ # forced always 'kandinsky', 'hunyuandit', 'auraflow', + 'lumina2', # video models 'hunyuanvideo', 'cogvideo', diff --git a/modules/sdnq/forward.py b/modules/sdnq/forward.py index 048354cca..7b3ab4b91 100644 --- a/modules/sdnq/forward.py +++ b/modules/sdnq/forward.py @@ -44,15 +44,15 @@ def get_forward_func(layer_class_name: str, use_quantized_matmul: bool, is_integ def quantize_fp8_matmul_input(input: torch.FloatTensor) -> Tuple[torch.Tensor, torch.FloatTensor]: input = input.flatten(0,-2).contiguous() input_scale = torch.amax(input.abs(), dim=-1, keepdims=True).div_(448) - input = torch.div(input, input_scale).clamp_(-448, 448).to(torch.float8_e4m3fn) - input_scale = input_scale.to(torch.float32) + input = torch.div(input, input_scale).clamp_(-448, 448).to(dtype=torch.float8_e4m3fn) + input_scale = input_scale.to(dtype=torch.float32) return input, input_scale def quantize_fp8_matmul_input_tensorwise(input: torch.FloatTensor, scale: torch.FloatTensor) -> Tuple[torch.Tensor, torch.FloatTensor]: input = input.flatten(0,-2).contiguous() input_scale = torch.amax(input.abs(), dim=-1, keepdims=True).div_(448) - input = torch.div(input, input_scale).clamp_(-448, 448).to(torch.float8_e4m3fn) + input = torch.div(input, input_scale).clamp_(-448, 448).to(dtype=torch.float8_e4m3fn) scale = torch.mul(input_scale, scale) if scale.dtype == torch.float16: # fp16 will overflow scale = scale.to(dtype=torch.float32) @@ -62,7 +62,7 @@ def quantize_fp8_matmul_input_tensorwise(input: torch.FloatTensor, scale: torch. def quantize_int8_matmul_input(input: torch.FloatTensor, scale: torch.FloatTensor) -> Tuple[torch.CharTensor, torch.FloatTensor]: input = input.flatten(0,-2).contiguous() input_scale = torch.amax(input.abs(), dim=-1, keepdims=True).div_(127) - input = torch.div(input, input_scale).round_().clamp_(-128, 127).to(torch.int8) + input = torch.div(input, input_scale).round_().clamp_(-128, 127).to(dtype=torch.int8) scale = torch.mul(input_scale, scale) if scale.dtype == torch.float16: # fp16 will overflow scale = scale.to(dtype=torch.float32)