Skip to content

Commit 77ef182

Browse files
committed
refactor: deal with default img-cfg-scale at the library level
So library users won't need to duplicate that code.
1 parent 02af48a commit 77ef182

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

examples/cli/main.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -894,13 +894,6 @@ void parse_args(int argc, const char** argv, SDParams& params) {
894894
}
895895
}
896896

897-
if (!isfinite(params.sample_params.guidance.img_cfg)) {
898-
params.sample_params.guidance.img_cfg = params.sample_params.guidance.txt_cfg;
899-
}
900-
901-
if (!isfinite(params.high_noise_sample_params.guidance.img_cfg)) {
902-
params.high_noise_sample_params.guidance.img_cfg = params.high_noise_sample_params.guidance.txt_cfg;
903-
}
904897
}
905898

906899
static std::string sd_basename(const std::string& path) {

stable-diffusion.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)