fix: correct step count adjustment for custom sigmas list (#2084)

This commit is contained in:
Wagner Bruna authored and GitHub committed 2026-10-06 17:55:00 +08:00
1 parent f4b5326da7
commit c150a6bafe
1 file changed
+12 -10
+12 -10
View File
@@ -375,17 +375,19 @@ namespace sd::pipeline {
total_steps = sample_steps + std::max(0, high_noise_sample_steps); total_steps = sample_steps + std::max(0, high_noise_sample_steps);
if (sample_params->custom_sigmas_count > 0) { if (sample_params->custom_sigmas_count > 0) {
sigmas = std::vector<float>(sample_params->custom_sigmas, sigmas = std::vector<float>(sample_params->custom_sigmas,
sample_params->custom_sigmas + sample_params->custom_sigmas_count); sample_params->custom_sigmas + sample_params->custom_sigmas_count);
total_steps = static_cast<int>(sigmas.size()) - 1; if (total_steps != sample_params->custom_sigmas_count - 1) {
LOG_WARN("total_steps != custom_sigmas_count - 1, set total_steps to %d", total_steps); total_steps = sample_params->custom_sigmas_count - 1;
if (sample_steps >= total_steps) { LOG_WARN("total_steps != custom_sigmas_count - 1, set total_steps to %d", total_steps);
sample_steps = total_steps; if ((sample_steps > total_steps) || (high_noise_sample_steps <= 0 && sample_steps != total_steps)) {
LOG_WARN("total_steps != custom_sigmas_count - 1, set sample_steps to %d", sample_steps); sample_steps = total_steps;
} LOG_WARN("total_steps != custom_sigmas_count - 1, set sample_steps to %d", sample_steps);
if (high_noise_sample_steps > 0) { }
high_noise_sample_steps = total_steps - sample_steps; if (high_noise_sample_steps > 0) {
LOG_WARN("total_steps != custom_sigmas_count - 1, set high_noise_sample_steps to %d", high_noise_sample_steps); high_noise_sample_steps = total_steps - sample_steps;
LOG_WARN("total_steps != custom_sigmas_count - 1, set high_noise_sample_steps to %d", high_noise_sample_steps);
}
} }
} else { } else {
scheduler_t scheduler = resolve_scheduler(sd, scheduler_t scheduler = resolve_scheduler(sd,