mirror of
https://github.com/leejet/stable-diffusion.cpp.git
synced 2026-09-25 12:40:41 +00:00
feat: expose the loaded model version name through the public API (#1962)
This commit is contained in:
parent
3191b23d4b
commit
e06b205384
@ -493,6 +493,9 @@ SD_API void free_sd_audio(sd_audio_t* audio);
|
|||||||
SD_API void sd_sample_params_init(sd_sample_params_t* sample_params);
|
SD_API void sd_sample_params_init(sd_sample_params_t* sample_params);
|
||||||
SD_API char* sd_sample_params_to_str(const sd_sample_params_t* sample_params);
|
SD_API char* sd_sample_params_to_str(const sd_sample_params_t* sample_params);
|
||||||
|
|
||||||
|
// Requires a loaded context; returns a static string owned by the library, or "Unknown".
|
||||||
|
SD_API const char* sd_get_model_version_name(const sd_ctx_t* sd_ctx);
|
||||||
|
|
||||||
SD_API enum sample_method_t sd_get_default_sample_method(const sd_ctx_t* sd_ctx);
|
SD_API enum sample_method_t sd_get_default_sample_method(const sd_ctx_t* sd_ctx);
|
||||||
SD_API enum scheduler_t sd_get_default_scheduler(const sd_ctx_t* sd_ctx, enum sample_method_t sample_method);
|
SD_API enum scheduler_t sd_get_default_scheduler(const sd_ctx_t* sd_ctx, enum sample_method_t sample_method);
|
||||||
|
|
||||||
|
|||||||
@ -99,6 +99,9 @@ const char* model_version_to_str[] = {
|
|||||||
"ESRGAN",
|
"ESRGAN",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static_assert(VERSION_COUNT == sizeof(model_version_to_str) / sizeof(model_version_to_str[0]),
|
||||||
|
"\nnumber of elements in model_version_to_str[] != VERSION_COUNT");
|
||||||
|
|
||||||
void calculate_alphas_cumprod(float* alphas_cumprod,
|
void calculate_alphas_cumprod(float* alphas_cumprod,
|
||||||
float linear_start = 0.00085f,
|
float linear_start = 0.00085f,
|
||||||
float linear_end = 0.0120f,
|
float linear_end = 0.0120f,
|
||||||
|
|||||||
@ -695,6 +695,13 @@ SD_API bool sd_ctx_has_control_net(const sd_ctx_t* sd_ctx) {
|
|||||||
return sd_ctx->sd->control_net != nullptr;
|
return sd_ctx->sd->control_net != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* sd_get_model_version_name(const sd_ctx_t* sd_ctx) {
|
||||||
|
if (sd_ctx == nullptr || sd_ctx->sd == nullptr || sd_ctx->sd->version >= VERSION_COUNT) {
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
return model_version_to_str[sd_ctx->sd->version];
|
||||||
|
}
|
||||||
|
|
||||||
enum sample_method_t sd_get_default_sample_method(const sd_ctx_t* sd_ctx) {
|
enum sample_method_t sd_get_default_sample_method(const sd_ctx_t* sd_ctx) {
|
||||||
return sd::pipeline::default_sample_method(sd_ctx != nullptr ? sd_ctx->sd : nullptr);
|
return sd::pipeline::default_sample_method(sd_ctx != nullptr ? sd_ctx->sd : nullptr);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user