@@ -1064,7 +1064,7 @@ class StableDiffusionGGML {
10641064 std::vector<int > skip_layers (guidance.slg .layers , guidance.slg .layers + guidance.slg .layer_count );
10651065
10661066 float cfg_scale = guidance.txt_cfg ;
1067- float img_cfg_scale = guidance.img_cfg ;
1067+ float img_cfg_scale = isfinite ( guidance.img_cfg ) ? guidance. img_cfg : guidance. txt_cfg ;
10681068 float slg_scale = guidance.slg .scale ;
10691069
10701070 if (img_cfg_scale != cfg_scale && !sd_version_is_inpaint_or_unet_edit (version)) {
@@ -1768,7 +1768,9 @@ char* sd_sample_params_to_str(const sd_sample_params_t* sample_params) {
17681768 " eta: %.2f, "
17691769 " shifted_timestep: %d)" ,
17701770 sample_params->guidance .txt_cfg ,
1771- sample_params->guidance .img_cfg ,
1771+ isfinite (sample_params->guidance .img_cfg )
1772+ ? sample_params->guidance .img_cfg
1773+ : sample_params->guidance .txt_cfg ,
17721774 sample_params->guidance .distilled_guidance ,
17731775 sample_params->guidance .slg .layer_count ,
17741776 sample_params->guidance .slg .layer_start ,
@@ -1929,6 +1931,10 @@ sd_image_t* generate_image_internal(sd_ctx_t* sd_ctx,
19291931 seed = rand ();
19301932 }
19311933
1934+ if (!isfinite (guidance.img_cfg )) {
1935+ guidance.img_cfg = guidance.txt_cfg ;
1936+ }
1937+
19321938 // for (auto v : sigmas) {
19331939 // std::cout << v << " ";
19341940 // }
0 commit comments