mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-05-08 09:59:50 +00:00
fixed safetensors loading for zimage
This commit is contained in:
parent
801840d3bd
commit
1aab32fe03
1 changed files with 18 additions and 17 deletions
|
|
@ -264,6 +264,24 @@ public:
|
|||
|
||||
bool is_unet = sd_version_is_unet(model_loader.get_sd_version());
|
||||
int tempver = model_loader.get_sd_version();
|
||||
|
||||
// kcpp fallback to separate diffusion model passed as model
|
||||
if (tempver == VERSION_COUNT &&
|
||||
strlen(SAFE_STR(sd_ctx_params->model_path)) > 0 &&
|
||||
strlen(SAFE_STR(sd_ctx_params->diffusion_model_path)) == 0 &&
|
||||
(t5_path_fixed!=""||clipl_path_fixed!=""))
|
||||
{
|
||||
bool endswithsafetensors = ends_with(sd_ctx_params->model_path, ".safetensors");
|
||||
if(endswithsafetensors && !model_loader.has_diffusion_model_tensors())
|
||||
{
|
||||
LOG_INFO("SD Diffusion Model tensors missing! Fallback trying alternative tensor names...\n");
|
||||
if (!model_loader.init_from_file(sd_ctx_params->model_path, "model.diffusion_model.")) {
|
||||
LOG_WARN("loading diffusion model from '%s' failed", sd_ctx_params->model_path);
|
||||
}
|
||||
tempver = model_loader.get_sd_version();
|
||||
}
|
||||
}
|
||||
|
||||
bool iswan = (tempver==VERSION_WAN2 || tempver==VERSION_WAN2_2_I2V || tempver==VERSION_WAN2_2_TI2V);
|
||||
bool isqwenimg = (tempver==VERSION_QWEN_IMAGE);
|
||||
bool iszimg = (tempver==VERSION_Z_IMAGE);
|
||||
|
|
@ -370,23 +388,6 @@ public:
|
|||
|
||||
version = model_loader.get_sd_version();
|
||||
|
||||
// kcpp fallback to separate diffusion model passed as model
|
||||
if (version == VERSION_COUNT &&
|
||||
strlen(SAFE_STR(sd_ctx_params->model_path)) > 0 &&
|
||||
strlen(SAFE_STR(sd_ctx_params->diffusion_model_path)) == 0 &&
|
||||
t5_path_fixed!="" )
|
||||
{
|
||||
bool endswithsafetensors = ends_with(sd_ctx_params->model_path, ".safetensors");
|
||||
if(endswithsafetensors && !model_loader.has_diffusion_model_tensors())
|
||||
{
|
||||
LOG_INFO("SD Diffusion Model tensors missing! Fallback trying alternative tensor names...\n");
|
||||
if (!model_loader.init_from_file(sd_ctx_params->model_path, "model.diffusion_model.")) {
|
||||
LOG_WARN("loading diffusion model from '%s' failed", sd_ctx_params->model_path);
|
||||
}
|
||||
version = model_loader.get_sd_version();
|
||||
}
|
||||
}
|
||||
|
||||
if (version == VERSION_COUNT) {
|
||||
LOG_ERROR("get sd version from file failed: '%s'", SAFE_STR(sd_ctx_params->model_path));
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue