mirror of
https://github.com/vladmandic/sdnext.git
synced 2026-10-11 22:49:59 +00:00
update schedulers init signature
Signed-off-by: Vladimir Mandic <[email protected]>
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
# Change Log for SD.Next
|
||||
|
||||
## Update for 2026-10-04
|
||||
|
||||
- sdnq: support double-quant, including `nvfp4`
|
||||
- schedulers: update init signature for new configuration options
|
||||
- rocm: remove incompatible env flags
|
||||
|
||||
## Update for 2026-10-01
|
||||
|
||||
### Highlights for 2026-10-01
|
||||
|
||||
+1
-1
Submodule extensions-builtin/sdnq updated: 9f5282b0fb...cc2e5b9002
@@ -57,6 +57,8 @@ class RESDEISMultistepScheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -45,6 +45,8 @@ class GaussLegendreScheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -45,6 +45,8 @@ class LinearRKScheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -46,6 +46,8 @@ class LobattoScheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -46,6 +46,8 @@ class RadauIIAScheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -45,6 +45,8 @@ class RungeKutta44Scheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -43,6 +43,8 @@ class RungeKutta57Scheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -44,6 +44,8 @@ class RungeKutta67Scheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -46,6 +46,8 @@ class SpecializedRKScheduler(SchedulerMixin, ConfigMixin):
|
||||
timestep_type: str = "discrete",
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
final_sigmas_type: str = "zero",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if trained_betas is not None:
|
||||
self.betas = torch.tensor(trained_betas, dtype=torch.float32)
|
||||
|
||||
@@ -128,6 +128,8 @@ class ERSDEScheduler(SchedulerMixin, ConfigMixin):
|
||||
use_dynamic_shifting: bool = False,
|
||||
base_shift: float = 0.5,
|
||||
max_shift: float = 1.15,
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
if solver_order not in (1, 2, 3):
|
||||
raise ValueError(f"solver_order must be 1, 2, or 3, got {solver_order}")
|
||||
|
||||
@@ -96,7 +96,9 @@ class FlowUniPCMultistepScheduler(SchedulerMixin, ConfigMixin):
|
||||
rescale_betas_zero_snr: bool = False,
|
||||
timestep_spacing: str = "linspace",
|
||||
steps_offset: int = 0,
|
||||
final_sigmas_type: Optional[str] = "zero", # "zero", "sigma_min"
|
||||
final_sigmas_type: Optional[str] = "zero", # "zero", "sigma_min",
|
||||
base_image_seq_len: int = 256,
|
||||
max_image_seq_len: int = 4096,
|
||||
):
|
||||
|
||||
if solver_type not in ["bh1", "bh2"]:
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ fastapi==0.124.4
|
||||
uvicorn==0.52.4
|
||||
rich==15.0.0
|
||||
safetensors==0.8.0
|
||||
peft==0.21.1
|
||||
peft==0.21.2
|
||||
httpx==0.28.1
|
||||
requests==2.34.2
|
||||
tqdm==4.70.1
|
||||
|
||||
Reference in New Issue
Block a user