diff --git a/invokeai/app/invocations/cogview4_denoise.py b/invokeai/app/invocations/cogview4_denoise.py index 070d8a34783..f7592389075 100644 --- a/invokeai/app/invocations/cogview4_denoise.py +++ b/invokeai/app/invocations/cogview4_denoise.py @@ -176,18 +176,10 @@ def _convert_timesteps_to_sigmas(self, image_seq_len: int, timesteps: torch.Tens # This implementation differs slightly from the original for the sake of simplicity (differs in terminal value # handling, not quantizing timesteps to integers, etc.). - def calculate_timestep_shift( - image_seq_len: int, base_seq_len: int = 256, base_shift: float = 0.25, max_shift: float = 0.75 - ) -> float: - m = (image_seq_len / base_seq_len) ** 0.5 - mu = m * max_shift + base_shift - return mu - - def time_shift_linear(mu: float, sigma: float, t: torch.Tensor) -> torch.Tensor: - return mu / (mu + (1 / t - 1) ** sigma) - - mu = calculate_timestep_shift(image_seq_len) - sigmas = time_shift_linear(mu, 1.0, timesteps) + m = (image_seq_len / 256) ** 0.5 + mu = m * 0.75 + 0.25 + + sigmas = mu / (mu + (1.0 / timesteps - 1.0)) return sigmas.tolist() def _run_diffusion(