feat: add normal alias for discrete scheduler (#1724)

This commit is contained in:
leejet 2026-06-30 00:19:21 +08:00 committed by GitHub
parent 57e19fa954
commit 3b6c9ca97c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 10 additions and 1 deletions

View File

@ -1475,7 +1475,7 @@ ArgOptions SDGenerationParams::get_options() {
on_high_noise_sample_method_arg}, on_high_noise_sample_method_arg},
{"", {"",
"--scheduler", "--scheduler",
"denoiser sigma scheduler, one of [discrete, karras, exponential, ays, gits, smoothstep, sgm_uniform, simple, kl_optimal, lcm, bong_tangent, ltx2, logit_normal, flux2, flux], default: model-specific", "denoiser sigma scheduler, one of [discrete, karras, exponential, ays, gits, smoothstep, sgm_uniform, simple, kl_optimal, lcm, bong_tangent, ltx2, logit_normal, flux2, flux], alias: normal=discrete, default: model-specific",
on_scheduler_arg}, on_scheduler_arg},
{"", {"",
"--sigmas", "--sigmas",

View File

@ -438,6 +438,9 @@ void register_sdapi_endpoints(httplib::Server& svr, ServerRuntime& rt) {
scheduler_names.push_back("default"); scheduler_names.push_back("default");
for (int i = 0; i < SCHEDULER_COUNT; i++) { for (int i = 0; i < SCHEDULER_COUNT; i++) {
scheduler_names.push_back(sd_scheduler_name((scheduler_t)i)); scheduler_names.push_back(sd_scheduler_name((scheduler_t)i));
if (i == DISCRETE_SCHEDULER) {
scheduler_names.push_back("normal");
}
} }
json r = json::array(); json r = json::array();
for (auto name : scheduler_names) { for (auto name : scheduler_names) {

View File

@ -219,6 +219,9 @@ static json make_capabilities_json(ServerRuntime& runtime) {
for (int i = 0; i < SCHEDULER_COUNT; ++i) { for (int i = 0; i < SCHEDULER_COUNT; ++i) {
schedulers.push_back(sd_scheduler_name((scheduler_t)i)); schedulers.push_back(sd_scheduler_name((scheduler_t)i));
if (i == DISCRETE_SCHEDULER) {
schedulers.push_back("normal");
}
} }
{ {

View File

@ -2572,6 +2572,9 @@ const char* sd_scheduler_name(enum scheduler_t scheduler) {
} }
enum scheduler_t str_to_scheduler(const char* str) { enum scheduler_t str_to_scheduler(const char* str) {
if (!strcmp(str, "normal")) {
return DISCRETE_SCHEDULER;
}
for (int i = 0; i < SCHEDULER_COUNT; i++) { for (int i = 0; i < SCHEDULER_COUNT; i++) {
if (!strcmp(str, scheduler_to_str[i])) { if (!strcmp(str, scheduler_to_str[i])) {
return (enum scheduler_t)i; return (enum scheduler_t)i;