@@ -263,14 +263,13 @@ struct CompVisVDenoiser : public Denoiser {
263
263
264
264
typedef std::function<ggml_tensor*(ggml_tensor*, float , int )> denoise_cb_t ;
265
265
266
-
267
266
// k diffusion reverse ODE: dx = (x - D(x;\sigma)) / \sigma dt; \sigma(t) = t
268
- void sample_k_diffusion (sample_method_t method,
269
- denoise_cb_t model,
270
- ggml_context* work_ctx,
271
- ggml_tensor* x,
272
- std::vector<float > sigmas,
273
- std::shared_ptr<RNG> rng) {
267
+ static void sample_k_diffusion (sample_method_t method,
268
+ denoise_cb_t model,
269
+ ggml_context* work_ctx,
270
+ ggml_tensor* x,
271
+ std::vector<float > sigmas,
272
+ std::shared_ptr<RNG> rng) {
274
273
size_t steps = sigmas.size () - 1 ;
275
274
// sample_euler_ancestral
276
275
switch (method) {
@@ -401,7 +400,7 @@ void sample_k_diffusion(sample_method_t method,
401
400
}
402
401
403
402
ggml_tensor* denoised = model (x2, sigmas[i + 1 ], i + 1 );
404
- float * vec_denoised = (float *)denoised->data ;
403
+ float * vec_denoised = (float *)denoised->data ;
405
404
for (int j = 0 ; j < ggml_nelements (x); j++) {
406
405
float d2 = (vec_x2[j] - vec_denoised[j]) / sigmas[i + 1 ];
407
406
vec_d[j] = (vec_d[j] + d2) / 2 ;
@@ -453,7 +452,7 @@ void sample_k_diffusion(sample_method_t method,
453
452
}
454
453
455
454
ggml_tensor* denoised = model (x2, sigma_mid, i + 1 );
456
- float * vec_denoised = (float *)denoised->data ;
455
+ float * vec_denoised = (float *)denoised->data ;
457
456
for (int j = 0 ; j < ggml_nelements (x); j++) {
458
457
float d2 = (vec_x2[j] - vec_denoised[j]) / sigma_mid;
459
458
vec_x[j] = vec_x[j] + d2 * dt_2;
0 commit comments