From b2934be6ba7aa93369744c1be6d95cad045a76f5 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 14 Aug 2023 21:17:46 -0400 Subject: [PATCH] use as_posix() instead of str() --- invokeai/app/api/routers/models.py | 3 ++- invokeai/app/services/model_manager_service.py | 2 +- invokeai/backend/model_management/model_merge.py | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index 428f672618..b6c1edbbe1 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -267,11 +267,12 @@ async def convert_model( logger = ApiDependencies.invoker.services.logger try: logger.info(f"Converting model: {model_name}") + dest = pathlib.Path(convert_dest_directory) if convert_dest_directory else None ApiDependencies.invoker.services.model_manager.convert_model( model_name, base_model=base_model, model_type=model_type, - convert_dest_directory=convert_dest_directory, + convert_dest_directory=dest, ) model_raw = ApiDependencies.invoker.services.model_manager.list_model( model_name, base_model=base_model, model_type=model_type diff --git a/invokeai/app/services/model_manager_service.py b/invokeai/app/services/model_manager_service.py index 973ff9f02b..fd14e26364 100644 --- a/invokeai/app/services/model_manager_service.py +++ b/invokeai/app/services/model_manager_service.py @@ -577,7 +577,7 @@ class ModelManagerService(ModelManagerServiceBase): alpha: float = 0.5, interp: Optional[MergeInterpolationMethod] = None, force: bool = False, - merge_dest_directory: Optional[str] = Field( + merge_dest_directory: Optional[Path] = Field( default=None, description="Optional directory location for merged model" ), ) -> AddModelResult: diff --git a/invokeai/backend/model_management/model_merge.py b/invokeai/backend/model_management/model_merge.py index 40a0f65b2a..a34d9b0e3e 100644 --- a/invokeai/backend/model_management/model_merge.py +++ b/invokeai/backend/model_management/model_merge.py @@ -31,7 +31,7 @@ class ModelMerger(object): def merge_diffusion_models( self, - model_paths: List[str], + model_paths: List[Path], alpha: float = 0.5, interp: Optional[MergeInterpolationMethod] = None, force: bool = False, @@ -75,7 +75,7 @@ class ModelMerger(object): alpha: float = 0.5, interp: Optional[MergeInterpolationMethod] = None, force: bool = False, - merge_dest_directory: Optional[str] = None, + merge_dest_directory: Optional[Path] = None, **kwargs, ) -> AddModelResult: """ @@ -109,7 +109,7 @@ class ModelMerger(object): # pick up the first model's vae if mod == model_names[0]: vae = info.get("vae") - model_paths.extend([str(config.root_path / info["path"])]) + model_paths.extend([(config.root_path / info["path"]).as_posix()]) merge_method = None if interp == "weighted_sum" else MergeInterpolationMethod(interp) logger.debug(f"interp = {interp}, merge_method={merge_method}") @@ -120,7 +120,7 @@ class ModelMerger(object): else config.models_path / base_model.value / ModelType.Main.value ) dump_path.mkdir(parents=True, exist_ok=True) - dump_path = str(dump_path / merged_model_name) + dump_path = (dump_path / merged_model_name).as_posix() merged_pipe.save_pretrained(dump_path, safe_serialization=True) attributes = dict(