@@ -1071,7 +1071,7 @@ class StableDiffusionGGML {
10711071 std::vector<int > skip_layers (guidance.slg .layers , guidance.slg .layers + guidance.slg .layer_count );
10721072
10731073 float cfg_scale = guidance.txt_cfg ;
1074- float img_cfg_scale = guidance.img_cfg ;
1074+ float img_cfg_scale = isfinite ( guidance.img_cfg ) ? guidance. img_cfg : guidance. txt_cfg ;
10751075 float slg_scale = guidance.slg .scale ;
10761076
10771077 if (img_cfg_scale != cfg_scale && !sd_version_is_inpaint_or_unet_edit (version)) {
@@ -1775,7 +1775,9 @@ char* sd_sample_params_to_str(const sd_sample_params_t* sample_params) {
17751775 " eta: %.2f, "
17761776 " shifted_timestep: %d)" ,
17771777 sample_params->guidance .txt_cfg ,
1778- sample_params->guidance .img_cfg ,
1778+ isfinite (sample_params->guidance .img_cfg )
1779+ ? sample_params->guidance .img_cfg
1780+ : sample_params->guidance .txt_cfg ,
17791781 sample_params->guidance .distilled_guidance ,
17801782 sample_params->guidance .slg .layer_count ,
17811783 sample_params->guidance .slg .layer_start ,
@@ -1936,6 +1938,10 @@ sd_image_t* generate_image_internal(sd_ctx_t* sd_ctx,
19361938 seed = rand ();
19371939 }
19381940
1941+ if (!isfinite (guidance.img_cfg )) {
1942+ guidance.img_cfg = guidance.txt_cfg ;
1943+ }
1944+
19391945 // for (auto v : sigmas) {
19401946 // std::cout << v << " ";
19411947 // }
0 commit comments