@@ -49,8 +49,7 @@ const char* sampling_methods_str[] = {
49
49
" iPNDM_v" ,
50
50
" LCM" ,
51
51
" DDIM \" trailing\" " ,
52
- " TCD"
53
- };
52
+ " TCD" };
54
53
55
54
/* ================================================== Helper Functions ================================================*/
56
55
@@ -683,7 +682,7 @@ class StableDiffusionGGML {
683
682
float curr_multiplier = kv.second ;
684
683
lora_state_diff[lora_name] -= curr_multiplier;
685
684
}
686
-
685
+
687
686
size_t rm = lora_state_diff.size () - lora_state.size ();
688
687
if (rm != 0 ) {
689
688
LOG_INFO (" Attempting to apply %lu LoRAs (removing %lu applied LoRAs)" , lora_state.size (), rm);
@@ -806,7 +805,6 @@ class StableDiffusionGGML {
806
805
float skip_layer_start = 0.01 ,
807
806
float skip_layer_end = 0.2 ,
808
807
ggml_tensor* noise_mask = nullptr ) {
809
-
810
808
// TODO (Pix2Pix): separate image guidance params (right now it's reusing distilled guidance)
811
809
812
810
float img_cfg_scale = guidance;
@@ -834,7 +832,7 @@ class StableDiffusionGGML {
834
832
835
833
bool has_unconditioned = cfg_scale != 1.0 && uncond.c_crossattn != NULL ;
836
834
bool has_img_guidance = version == VERSION_INSTRUCT_PIX2PIX && cfg_scale != img_cfg_scale;
837
- has_unconditioned = has_unconditioned || has_img_guidance;
835
+ has_unconditioned = has_unconditioned || has_img_guidance;
838
836
bool has_skiplayer = slg_scale != 0.0 && skip_layers.size () > 0 ;
839
837
840
838
// denoise wrapper
@@ -988,7 +986,7 @@ class StableDiffusionGGML {
988
986
int64_t i3 = i / out_cond->ne [0 ] * out_cond->ne [1 ] * out_cond->ne [2 ];
989
987
float scale = min_cfg + (cfg_scale - min_cfg) * (i3 * 1 .0f / ne3);
990
988
} else {
991
- if (has_img_guidance){
989
+ if (has_img_guidance) {
992
990
latent_result = negative_data[i] + img_cfg_scale * (img_cond_data[i] - negative_data[i]) + cfg_scale * (positive_data[i] - img_cond_data[i]);
993
991
} else {
994
992
latent_result = negative_data[i] + cfg_scale * (positive_data[i] - negative_data[i]);
@@ -1553,7 +1551,7 @@ sd_image_t* generate_image(sd_ctx_t* sd_ctx,
1553
1551
result_images[i].width = width;
1554
1552
result_images[i].height = height;
1555
1553
result_images[i].channel = 3 ;
1556
- result_images[i].data = sd_tensor_to_image (decoded_images[i]);
1554
+ result_images[i].data = sd_tensor_to_image (decoded_images[i], sd_ctx-> sd -> version == VERSION_INSTRUCT_PIX2PIX );
1557
1555
}
1558
1556
ggml_free (work_ctx);
1559
1557
@@ -1737,7 +1735,7 @@ sd_image_t* img2img(sd_ctx_t* sd_ctx,
1737
1735
1738
1736
sd_mask_to_tensor (mask.data , mask_img);
1739
1737
1740
- sd_image_to_tensor (init_image.data , init_img);
1738
+ sd_image_to_tensor (init_image.data , init_img, true , sd_ctx-> sd -> version == VERSION_INSTRUCT_PIX2PIX );
1741
1739
1742
1740
ggml_tensor* masked_image;
1743
1741
0 commit comments