@@ -775,7 +775,7 @@ class StableDiffusionGGML {
775
775
776
776
int64_t t0 = ggml_time_ms ();
777
777
struct ggml_tensor * out = ggml_dup_tensor (work_ctx, x_t );
778
- diffusion_model->compute (n_threads, x_t , timesteps, c, concat, NULL , NULL , {}, -1 , {}, 0 .f , &out);
778
+ diffusion_model->compute (n_threads, x_t , timesteps, c, concat, NULL , NULL , {}, false , -1 , {}, 0 .f , &out);
779
779
diffusion_model->free_compute_buffer ();
780
780
781
781
double result = 0 .f ;
@@ -1032,6 +1032,7 @@ class StableDiffusionGGML {
1032
1032
int start_merge_step,
1033
1033
SDCondition id_cond,
1034
1034
std::vector<ggml_tensor*> ref_latents = {},
1035
+ bool increase_ref_index = false ,
1035
1036
ggml_tensor* denoise_mask = nullptr ) {
1036
1037
std::vector<int > skip_layers (guidance.slg .layers , guidance.slg .layers + guidance.slg .layer_count );
1037
1038
@@ -1126,6 +1127,7 @@ class StableDiffusionGGML {
1126
1127
cond.c_vector ,
1127
1128
guidance_tensor,
1128
1129
ref_latents,
1130
+ increase_ref_index,
1129
1131
-1 ,
1130
1132
controls,
1131
1133
control_strength,
@@ -1139,6 +1141,7 @@ class StableDiffusionGGML {
1139
1141
id_cond.c_vector ,
1140
1142
guidance_tensor,
1141
1143
ref_latents,
1144
+ increase_ref_index,
1142
1145
-1 ,
1143
1146
controls,
1144
1147
control_strength,
@@ -1160,6 +1163,7 @@ class StableDiffusionGGML {
1160
1163
uncond.c_vector ,
1161
1164
guidance_tensor,
1162
1165
ref_latents,
1166
+ increase_ref_index,
1163
1167
-1 ,
1164
1168
controls,
1165
1169
control_strength,
@@ -1177,6 +1181,7 @@ class StableDiffusionGGML {
1177
1181
img_cond.c_vector ,
1178
1182
guidance_tensor,
1179
1183
ref_latents,
1184
+ increase_ref_index,
1180
1185
-1 ,
1181
1186
controls,
1182
1187
control_strength,
@@ -1198,6 +1203,7 @@ class StableDiffusionGGML {
1198
1203
cond.c_vector ,
1199
1204
guidance_tensor,
1200
1205
ref_latents,
1206
+ increase_ref_index,
1201
1207
-1 ,
1202
1208
controls,
1203
1209
control_strength,
@@ -1710,6 +1716,7 @@ char* sd_img_gen_params_to_str(const sd_img_gen_params_t* sd_img_gen_params) {
1710
1716
" \n "
1711
1717
" batch_count: %d\n "
1712
1718
" ref_images_count: %d\n "
1719
+ " increase_ref_index: %s\n "
1713
1720
" control_strength: %.2f\n "
1714
1721
" style_strength: %.2f\n "
1715
1722
" normalize_input: %s\n "
@@ -1724,6 +1731,7 @@ char* sd_img_gen_params_to_str(const sd_img_gen_params_t* sd_img_gen_params) {
1724
1731
sd_img_gen_params->seed ,
1725
1732
sd_img_gen_params->batch_count ,
1726
1733
sd_img_gen_params->ref_images_count ,
1734
+ BOOL_STR (sd_img_gen_params->increase_ref_index ),
1727
1735
sd_img_gen_params->control_strength ,
1728
1736
sd_img_gen_params->style_strength ,
1729
1737
BOOL_STR (sd_img_gen_params->normalize_input ),
@@ -1797,6 +1805,7 @@ sd_image_t* generate_image_internal(sd_ctx_t* sd_ctx,
1797
1805
bool normalize_input,
1798
1806
std::string input_id_images_path,
1799
1807
std::vector<ggml_tensor*> ref_latents,
1808
+ bool increase_ref_index,
1800
1809
ggml_tensor* concat_latent = NULL ,
1801
1810
ggml_tensor* denoise_mask = NULL ) {
1802
1811
if (seed < 0 ) {
@@ -2054,6 +2063,7 @@ sd_image_t* generate_image_internal(sd_ctx_t* sd_ctx,
2054
2063
start_merge_step,
2055
2064
id_cond,
2056
2065
ref_latents,
2066
+ increase_ref_index,
2057
2067
denoise_mask);
2058
2068
// print_ggml_tensor(x_0);
2059
2069
int64_t sampling_end = ggml_time_ms ();
@@ -2304,7 +2314,7 @@ sd_image_t* generate_image(sd_ctx_t* sd_ctx, const sd_img_gen_params_t* sd_img_g
2304
2314
LOG_INFO (" EDIT mode" );
2305
2315
}
2306
2316
2307
- std::vector<struct ggml_tensor *> ref_latents;
2317
+ std::vector<ggml_tensor*> ref_latents;
2308
2318
for (int i = 0 ; i < sd_img_gen_params->ref_images_count ; i++) {
2309
2319
ggml_tensor* img = ggml_new_tensor_4d (work_ctx,
2310
2320
GGML_TYPE_F32,
@@ -2359,6 +2369,7 @@ sd_image_t* generate_image(sd_ctx_t* sd_ctx, const sd_img_gen_params_t* sd_img_g
2359
2369
sd_img_gen_params->normalize_input ,
2360
2370
sd_img_gen_params->input_id_images_path ,
2361
2371
ref_latents,
2372
+ sd_img_gen_params->increase_ref_index ,
2362
2373
concat_latent,
2363
2374
denoise_mask);
2364
2375
0 commit comments