From 775b254d49cfe29d46f3f37aba730e3885611d91 Mon Sep 17 00:00:00 2001 From: Wagner Bruna Date: Mon, 15 Dec 2025 12:18:14 -0300 Subject: [PATCH] fix: consistently pass 2nd-order samplers half steps as negatives Makes dpm2 and dpm++2s_a match the heun implementation. --- denoiser.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/denoiser.hpp b/denoiser.hpp index 32f402786..c43504059 100644 --- a/denoiser.hpp +++ b/denoiser.hpp @@ -830,7 +830,7 @@ static bool sample_k_diffusion(sample_method_t method, for (int i = 0; i < steps; i++) { // denoise - ggml_tensor* denoised = model(x, sigmas[i], i + 1); + ggml_tensor* denoised = model(x, sigmas[i], -(i + 1)); if (denoised == nullptr) { return false; } @@ -888,7 +888,7 @@ static bool sample_k_diffusion(sample_method_t method, for (int i = 0; i < steps; i++) { // denoise - ggml_tensor* denoised = model(x, sigmas[i], i + 1); + ggml_tensor* denoised = model(x, sigmas[i], -(i + 1)); if (denoised == nullptr) { return false; }